Hello Petr Horáček, Dan Kenigsberg, Edward Haas, I'd like you to do a code review. Please visit
https://gerrit.ovirt.org/65303 to review the following change. Change subject: net ifcfg: fix bond rollback ...................................................................... net ifcfg: fix bond rollback When setupNetworks(NET, BOND) fails on NET configuration, BOND ifcfg file is removed, but it still exists in the system. We have to remove it manually like we do in removeBonding(). This must be backported to fix new functional tests on 4.0. Change-Id: I5cea6ec71c913d74d95317ff7318259d64b40969 Signed-off-by: Petr Horáček <phora...@redhat.com> Reviewed-on: https://gerrit.ovirt.org/59940 Reviewed-by: Edward Haas <edwa...@redhat.com> Continuous-Integration: Jenkins CI Reviewed-by: Dan Kenigsberg <dan...@redhat.com> Bug-Url: https://bugzilla.redhat.com/1374194 Reviewed-on: https://gerrit.ovirt.org/64509 --- M lib/vdsm/network/configurators/ifcfg.py 1 file changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/03/65303/1 diff --git a/lib/vdsm/network/configurators/ifcfg.py b/lib/vdsm/network/configurators/ifcfg.py index 710dec1..bd3eec1 100644 --- a/lib/vdsm/network/configurators/ifcfg.py +++ b/lib/vdsm/network/configurators/ifcfg.py @@ -754,6 +754,10 @@ if os.path.exists('/sys/class/net/%s/bridge' % dev): # ifdown is not enough to remove nicless bridges commands.execCmd([constants.EXT_BRCTL, 'delbr', dev]) + if _is_bond_name(dev): + if _is_running_bond(dev): + with open(netinfo_bonding.BONDING_MASTERS, 'w') as f: + f.write("-%s\n" % dev) def start_devices(device_ifcfgs): @@ -761,10 +765,8 @@ try: # this is an ugly way to check if this is a bond but picking into # the ifcfg files is even worse. - if dev.startswith('bond') and '.' not in dev: - with open(netinfo_bonding.BONDING_MASTERS) as info: - names = info.read().split() - if dev not in names: + if _is_bond_name(dev): + if not _is_running_bond(dev): with open(netinfo_bonding.BONDING_MASTERS, 'w') as masters: masters.write('+%s\n' % dev) _exec_ifup_by_name(dev) @@ -773,6 +775,16 @@ exc_info=True) +def _is_bond_name(dev): + return dev.startswith('bond') and '.' not in dev + + +def _is_running_bond(bond): + with open(netinfo_bonding.BONDING_MASTERS) as info: + names = info.read().split() + return bond in names + + def _sort_device_ifcfgs(device_ifcfgs): devices = {'Bridge': [], 'Vlan': [], -- To view, visit https://gerrit.ovirt.org/65303 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5cea6ec71c913d74d95317ff7318259d64b40969 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: ovirt-4.0.5 Gerrit-Owner: Francesco Romani <from...@redhat.com> Gerrit-Reviewer: Dan Kenigsberg <dan...@redhat.com> Gerrit-Reviewer: Edward Haas <edwa...@redhat.com> Gerrit-Reviewer: Petr Horáček <phora...@redhat.com> _______________________________________________ vdsm-patches mailing list -- vdsm-patches@lists.fedorahosted.org To unsubscribe send an email to vdsm-patches-le...@lists.fedorahosted.org