def migrate_network_layout(self): from ovirt.node.config import defaults from ovirt.node.utils import network bondcfg = defaults.NicBonding().retrieve() netlayoutcfg = defaults.NetworkLayout().retrieve() if bondcfg["name"] or netlayoutcfg["layout"]: # We can only reliably import pre node-3.0 # network configurations, therefor we abort # the import if it looks like a node-3.0 config self.logger.info("Looks like node-3.0 network, skipping import") return bridges = [x for x in network.Bridges().ifnames() if x.startswith("br")] bridged_nics = [x for x in network.all_ifaces() if network.NIC(x).config.bridge in bridges] self.logger.debug("Found bridges: %s" % bridges) self.logger.debug("Found bridged NICs: %s" % bridged_nics) def cfgset(k, v, prefix="OVIRT_"): if v: self.logger.debug(" Setting %s = %s" % (k, v)) self.aug.set("/files/etc/default/ovirt/%s%s" % (prefix, k), str(v)) found_mgmt = False for brn in ["rhevm", "ovirtmgmt"]: if brn in network.Bridges().ifnames(): self.logger.debug("Found managed nic: %s" % brn) cfgset("MANAGED_BY", "RHEV-M", "") cfgset("MANAGED_IFNAMES", brn, "") found_mgmt = True break self.logger.debug("Found management: %s" % found_mgmt) if not found_mgmt and bridges and bridged_nics: self.logger.debug("Assuming default bridged network") self.aug.set("/files/etc/default/ovirt/OVIRT_NETWORK_LAYOUT", "bridged") ifname = bridged_nics[0] br = bridges[0] vlanid = None self.logger.debug("Bridge and NIC: %s %s" % (br, ifname)) probably_vlan = "." in ifname if probably_vlan: ifname, vlanid = ifname.split(".", 1) self.logger.debug("Found VLAN setup, base NIC: %s %s" % (ifname, vlanid)) self.aug.set("/files/etc/default/ovirt/OVIRT_BOOTIF", ifname) def ifcfg(i, k): v = self.aug.get("/files/etc/sysconfig/network-" + "scripts/ifcfg-%s/%s" % (i, k)) self.logger.debug(" Getting %s.%s = %s" % (i, k, v)) return v proto = ifcfg(br, "BOOTPROTO") cfgset("BOOTPROTO", proto) addr = ifcfg(br, "IPADDR") if addr: cfgset("IP_ADDRESS", addr) cfgset("IP_GATEWAY", ifcfg(br, "GATEWAY")) cfgset("IP_NETMASK", ifcfg(br, "NETMASK")) if vlanid: cfgset("VLAN", vlanid)
def migrate_network_layout(self): bridges = [x for x in network.Bridges().ifnames() if x.startswith("br")] bridged_nics = [x for x in network.all_ifaces() if network.NIC(x).config.bridge in bridges] self.logger.debug("Found bridges: %s" % bridges) self.logger.debug("Found bridged NICs: %s" % bridged_nics) def cfgset(k, v, prefix="OVIRT_"): if v: self.logger.debug(" Setting %s = %s" % (k, v)) self.aug.set("/files/etc/default/ovirt/%s%s" % (prefix, k), str(v)) found_mgmt = False for brn in ["rhevm", "ovirtmgmt"]: if brn in network.Bridges().ifnames(): self.logger.debug("Found managed nic: %s" % brn) cfgset("MANAGED_BY", "RHEV-M", "") cfgset("MANAGED_IFNAMES", brn, "") found_mgmt = True break self.logger.debug("Found management: %s" % found_mgmt) if not found_mgmt and bridges and bridged_nics: self.logger.debug("Assuming default bridged network") self.aug.set("/files/etc/default/ovirt/OVIRT_NETWORK_LAYOUT", "bridged") ifname = bridged_nics[0] br = bridges[0] vlanid = None self.logger.debug("Bridge and NIC: %s %s" % (br, ifname)) probably_vlan = "." in ifname if probably_vlan: ifname, vlanid = ifname.split(".", 1) self.logger.debug("Found VLAN setup, base NIC: %s %s" % (ifname, vlanid)) self.aug.set("/files/etc/default/ovirt/OVIRT_BOOTIF", ifname) def ifcfg(i, k): v = self.aug.get("/files/etc/sysconfig/network-" + "scripts/ifcfg-%s/%s" % (i, k)) self.logger.debug(" Getting %s.%s = %s" % (i, k, v)) return v proto = ifcfg(br, "BOOTPROTO") cfgset("BOOTPROTO", proto) addr = ifcfg(br, "IPADDR") if addr: cfgset("IP_ADDRESS", addr) cfgset("IP_GATEWAY", ifcfg(br, "GATEWAY")) cfgset("IP_NETMASK", ifcfg(br, "NETMASK")) if vlanid: cfgset("VLAN", vlanid)