Change in vdsm[master]: tests : setupNetworks resizeBond, remove param validation.

gvallare at redhat.com gvallare at redhat.com
Sun Aug 11 09:49:41 UTC 2013


Giuseppe Vallarelli has uploaded a new change for review.

Change subject: tests : setupNetworks resizeBond, remove param validation.
......................................................................

tests : setupNetworks resizeBond, remove param validation.

Added a couple of tests:

* testSetupNetworksResizeBond (functional test).
* testValidateNetSetupRemoveParamValidation (unit test).

Adding further coverage of setupNetworks and functions
on which it depends.

Change-Id: I6471a50152314e53e86e9f8e2e1359059fff17f0
Signed-off-by: Giuseppe Vallarelli <gvallare at redhat.com>
---
M tests/configNetworkTests.py
M tests/functional/networkTests.py
M tests/functional/utils.py
3 files changed, 54 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/22/17922/1

diff --git a/tests/configNetworkTests.py b/tests/configNetworkTests.py
index 84fad85..9e30400 100644
--- a/tests/configNetworkTests.py
+++ b/tests/configNetworkTests.py
@@ -163,3 +163,13 @@
         # bridgeless network exists
         self._addNetworkWithExc('test', dict(nics=['eth8'], bridged=False,
                                 _netinfo=fakeInfo), neterrors.ERR_BAD_PARAMS)
+
+    @MonkeyPatch(netinfo, 'NetInfo', lambda: None)
+    def testValidateNetSetupRemoveParamValidation(self):
+        attrs = dict(nic='dummy', remove=True,
+                     bridged=True)
+        networks = {'test-netowrk': attrs}
+        with self.assertRaises(neterrors.ConfigNetworkError) as cneContext:
+            configNetwork._validateNetworkSetup(networks, {})
+        self.assertEqual(cneContext.exception.errCode,
+                         neterrors.ERR_BAD_PARAMS)
diff --git a/tests/functional/networkTests.py b/tests/functional/networkTests.py
index 2b0758d..86b67e6 100644
--- a/tests/functional/networkTests.py
+++ b/tests/functional/networkTests.py
@@ -445,3 +445,43 @@
                                                           {})
 
                 self.assertEquals(status, SUCCESS, msg)
+
+    @permutations([[True], [False]])
+    @RequireDummyMod
+    @ValidateRunningAsRoot
+    def testSetupNetworksResizeBond(self, bridged):
+        with dummyIf(3) as nics:
+            with self.vdsm_net.pinger():
+                bondings = {BONDING_NAME: dict(nics=nics[:1],
+                                               bridged=bridged)}
+                status, msg = self.vdsm_net.setupNetworks({}, bondings, {})
+
+                self.assertEquals(status, SUCCESS, msg)
+
+                self.vdsm_net.bondExists(BONDING_NAME, nics=nics[:1])
+
+                # Increase bond size
+                bondings[BONDING_NAME]['nics'] = nics
+                status, msg = self.vdsm_net.setupNetworks({}, bondings, {})
+
+                self.assertEquals(status, SUCCESS, msg)
+
+                self.vdsm_net.bondExists(BONDING_NAME, nics)
+
+                # Reduce bond size
+                reqmode = '3'
+                bondings[BONDING_NAME]['nics'] = nics[:2]
+                bondings[BONDING_NAME]['options'] = 'mode=%s' % reqmode
+                status, msg = self.vdsm_net.setupNetworks({}, bondings, {})
+
+                self.assertEquals(status, SUCCESS, msg)
+
+                self.vdsm_net.bondExists(BONDING_NAME, nics[:2])
+                # TODO
+                # self.assertEquals(self.vdsm_net.getBondMode(BONDING_NAME),
+                #                   reqmode)
+
+                bondings = {BONDING_NAME: dict(remove=True)}
+                status, msg = self.vdsm_net.setupNetworks({}, bondings, {})
+
+                self.assertEquals(status, SUCCESS, msg)
diff --git a/tests/functional/utils.py b/tests/functional/utils.py
index 8cb995c..6dc96e1 100644
--- a/tests/functional/utils.py
+++ b/tests/functional/utils.py
@@ -207,6 +207,10 @@
             return self.netinfo.nics[name]['mtu']
         return None
 
+    # TODO Add impl.
+    def getBondMode(self, bond):
+        pass
+
     @contextmanager
     def pinger(self):
         """Keeps pinging vdsm for operations that need it"""


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6471a50152314e53e86e9f8e2e1359059fff17f0
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Giuseppe Vallarelli <gvallare at redhat.com>


More information about the vdsm-patches mailing list