Giuseppe Vallarelli has uploaded a new change for review.

Change subject: tests: addNetwork bond with one or many vlans.
......................................................................

tests: addNetwork bond with one or many vlans.

Added a couple of functional tests:

* testAddNetworkBondWithManyVlans
* testAddNetworkVlanBond

covering the behaviour related to addNetwork using bond
and vlans.

Change-Id: I84b1582bbc9de09009a7e076386658035317f7db
Signed-off-by: Giuseppe Vallarelli <[email protected]>
---
M tests/functional/networkTests.py
M tests/functional/utils.py
2 files changed, 56 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/87/17387/1

diff --git a/tests/functional/networkTests.py b/tests/functional/networkTests.py
index d8f5573..6244b83 100644
--- a/tests/functional/networkTests.py
+++ b/tests/functional/networkTests.py
@@ -298,6 +298,56 @@
             self.vdsm_net.delNetwork(NETWORK_NAME)
             self.assertEquals(status, SUCCESS, msg)
 
+    @cleanupNet
+    @permutations([[True], [False]])
+    @RequireDummyMod
+    @ValidateRunningAsRoot
+    def testAddNetworkBondWithManyVlans(self, brdgd):
+        with dummyIf(1) as nics:
+            VLAN_COUNT = 5
+            NET_VLANS = [(NETWORK_NAME + str(id), str(id))
+                         for id in xrange(VLAN_COUNT)]
+            for net_vlan, vlan_id in NET_VLANS:
+                status, msg = self.vdsm_net.addNetwork(net_vlan,
+                                                       vlan=vlan_id,
+                                                       bond=BONDING_NAME,
+                                                       nics=nics,
+                                                       opts={'bridged': brdgd})
+                self.assertEquals(status, SUCCESS, msg)
+                self.assertTrue(self.vdsm_net.networkExists(net_vlan,
+                                                            bridged=brdgd))
+            for _, vlan_id in NET_VLANS:
+                msg = 'vlan %s doesn\'t exist' % vlan_id
+                vlan_name = '%s.%s' % (BONDING_NAME, vlan_id)
+                self.assertEqual(BONDING_NAME,
+                                 self.vdsm_net.getIfaceForVlan(vlan_name, msg))
+
+            for net_vlan, vlan_id in NET_VLANS:
+                status, msg = self.vdsm_net.delNetwork(net_vlan, vlan=vlan_id,
+                                                       bond=BONDING_NAME,
+                                                       nics=nics)
+                self.assertEqual(status, SUCCESS, msg)
+
+    @cleanupNet
+    @permutations([[True], [False]])
+    @RequireDummyMod
+    @ValidateRunningAsRoot
+    def testAddNetworkVlanBond(self, bridged):
+        with dummyIf(1) as nics:
+            vlan_id = '42'
+            status, msg = self.vdsm_net.addNetwork(NETWORK_NAME,
+                                                   vlan=vlan_id,
+                                                   bond=BONDING_NAME,
+                                                   nics=nics,
+                                                   opts={'bridged': bridged})
+            self.assertEquals(status, SUCCESS, msg)
+            self.assertTrue(self.vdsm_net.networkExists(NETWORK_NAME,
+                                                        bridged=bridged))
+            status, msg = self.vdsm_net.delNetwork(NETWORK_NAME, vlan=vlan_id,
+                                                   bond=BONDING_NAME,
+                                                   nics=nics)
+            self.assertEqual(status, SUCCESS, msg)
+
     @RequireDummyMod
     @ValidateRunningAsRoot
     def testQosNetwork(self):
diff --git a/tests/functional/utils.py b/tests/functional/utils.py
index d6dceb9..726fb60 100644
--- a/tests/functional/utils.py
+++ b/tests/functional/utils.py
@@ -190,6 +190,12 @@
     def vlanExists(self, vlan_name):
         return vlan_name in self.netinfo.vlans
 
+    def getIfaceForVlan(self, vlan_name):
+        try:
+            return netinfo.vlans[vlan_name]['iface']
+        except KeyError:
+            return None
+
     @contextmanager
     def pinger(self):
         """Keeps pinging vdsm for operations that need it"""


-- 
To view, visit http://gerrit.ovirt.org/17387
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I84b1582bbc9de09009a7e076386658035317f7db
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

Reply via email to