Giuseppe Vallarelli has uploaded a new change for review. Change subject: [WIP] Feature hidden bond: Adding support for hiding bonds. ......................................................................
[WIP] Feature hidden bond: Adding support for hiding bonds. Bonds can be hidden, hiding a bond requires hiding the underlying nic slaves. Change-Id: I3c734e27f674b47644b2c3c14861d7ee53670a7d Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=965927 Signed-off-by: Giuseppe Vallarelli <[email protected]> --- M lib/vdsm/config.py.in M lib/vdsm/netinfo.py 2 files changed, 23 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/25/15825/1 diff --git a/lib/vdsm/config.py.in b/lib/vdsm/config.py.in index 4e4769f..494f94d 100644 --- a/lib/vdsm/config.py.in +++ b/lib/vdsm/config.py.in @@ -67,6 +67,10 @@ 'Comma-separated list of fnmatch-patterns for host nics to be ' 'hidden from vdsm.'), + ('hidden_bonds', 'bond*', + 'Comma-separated list of fnmatch-patterns for host bonds to be ' + 'hidden from vdsm.'), + ('default_bridge', 'engine', None), ('migration_downtime', '500', diff --git a/lib/vdsm/netinfo.py b/lib/vdsm/netinfo.py index 964d30d..3102641 100644 --- a/lib/vdsm/netinfo.py +++ b/lib/vdsm/netinfo.py @@ -59,26 +59,42 @@ res = [] hidden_nics = config.get('vars', 'hidden_nics').split(',') fake_nics = config.get('vars', 'fake_nics').split(',') + hidden_bonds = config.get('vars', 'hidden_bonds').split(',') for b in glob.glob('/sys/class/net/*'): nic = b.split('/')[-1] if not os.path.exists(os.path.join(b, 'device')): if _match_nic_name(nic, fake_nics): res.append(nic) - elif not _match_nic_name(nic, hidden_nics): + # De Morgan's law "not (A or B)" + # is the same as "(not A) and (not B)" + elif not (_match_nic_name(nic, hidden_nics) or + slaveOfBonds(nic, hidden_bonds)): res.append(nic) return res +def slaveOfBonds(nic, hidden_bonds): + for bond in hidden_bonds: + if slaves(bond): + return True + return False + + def bondings(): + hidden_bonds = config.get('vars', 'hidden_bonds').split(',') + res = [] try: - return open(BONDING_MASTERS).readline().split() + for bond in open(BONDING_MASTERS).readline().split(): + if not _match_nic_name(bond, hidden_bonds): + res.append(bond) except IOError as e: if e.errno == os.errno.ENOENT: - return [] + return res else: raise + return res def vlans(): -- To view, visit http://gerrit.ovirt.org/15825 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3c734e27f674b47644b2c3c14861d7ee53670a7d Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Giuseppe Vallarelli <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
