Change in vdsm[ovirt-3.5]: net: support strings for 'bridged' in kernelConfig

ibarkan at redhat.com ibarkan at redhat.com
Sun Jul 12 12:49:37 UTC 2015


Ido Barkan has uploaded a new change for review.

Change subject: net: support strings for 'bridged' in kernelConfig
......................................................................

net: support strings for 'bridged' in kernelConfig

Because kernelConfig did not know how to normalize this parameter in
running config, _should_keep_bridged got wrong parameters if
setupNetworks edited a network with 'bridged': 'false'. This
resulted in a bridge being left behind after the network was removed.

Change-Id: Ib6eb36e69c14c752712ed16d86ed5dd37007f7b7
Signed-off-by: Ido Barkan <ibarkan at redhat.com>
---
M lib/vdsm/netconfpersistence.py
M tests/functional/networkTests.py
2 files changed, 25 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/46/43446/1

diff --git a/lib/vdsm/netconfpersistence.py b/lib/vdsm/netconfpersistence.py
index b8de93d..02deb8c 100644
--- a/lib/vdsm/netconfpersistence.py
+++ b/lib/vdsm/netconfpersistence.py
@@ -326,9 +326,11 @@
 
     def _normalize_bridge(self, config_copy):
         for net_attr in config_copy.networks.itervalues():
-            if net_attr.get('bridged', True):
+            if utils.tobool(net_attr.get('bridged', True)):
                 net_attr['bridged'] = True
                 self._normalize_stp(net_attr)
+            else:
+                net_attr['bridged'] = False
 
     def _normalize_stp(self, net_attr):
         stp = net_attr.pop('stp', net_attr.pop('STP', None))
diff --git a/tests/functional/networkTests.py b/tests/functional/networkTests.py
index adc7d1c..3edc2bc 100644
--- a/tests/functional/networkTests.py
+++ b/tests/functional/networkTests.py
@@ -1491,7 +1491,28 @@
             self.assertEquals(status, SUCCESS, msg)
 
             self.vdsm_net.save_config()
-
+    
+    @cleanupNet
+    @RequireDummyMod
+    @ValidateRunningAsRoot
+    def testRemovingBridgeDoesNotLeaveBridge(self):
+        with dummyIf(1) as nics:
+            nic, = nics
+            status, msg = self.setupNetworks(
+                {NETWORK_NAME: {'nic': nic, 'STP': 'no', 'bridged': 'true',
+                                'mtu': 1500}}, {}, NOCHK)
+            self.assertEquals(status, SUCCESS, msg)
+            bridge = ipwrapper.getLink(NETWORK_NAME)
+            status, msg = self.setupNetworks(
+                {NETWORK_NAME: {'nic': nic, 'bridged': 'false', 'mtu': 1500}},
+                {}, NOCHK)
+            self.assertEquals(status, SUCCESS, msg)
+            self.assertNotIn(
+                bridge.name, (l.name for l in ipwrapper.getLinks()))
+            status, msg = self.setupNetworks(
+                {NETWORK_NAME: {'remove': True}}, {}, NOCHK)
+            self.assertEquals(status, SUCCESS, msg)
+    
     @cleanupNet
     @RequireDummyMod
     @ValidateRunningAsRoot


-- 
To view, visit https://gerrit.ovirt.org/43446
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib6eb36e69c14c752712ed16d86ed5dd37007f7b7
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.5
Gerrit-Owner: Ido Barkan <ibarkan at redhat.com>


More information about the vdsm-patches mailing list