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