Assaf Muller has uploaded a new change for review.
Change subject: Functional Tests [3/3]: Added static source routing functional test
......................................................................
Functional Tests [3/3]: Added static source routing functional test
Change-Id: I4188e6ee5daea12fbd35cb8e1c87782e9605c7cd
Signed-off-by: Assaf Muller <amuller(a)redhat.com>
---
M tests/functional/networkTests.py
1 file changed, 44 insertions(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/41/18041/1
diff --git a/tests/functional/networkTests.py b/tests/functional/networkTests.py
index 10e42dc..296ed2d 100644
--- a/tests/functional/networkTests.py
+++ b/tests/functional/networkTests.py
@@ -29,6 +29,8 @@
from vdsm.ipwrapper import ruleAdd, ruleDel, routeAdd, routeDel, routeExists, \
ruleExists, Route, Rule
+from vdsm.netinfo import prefix2netmask
+
NETWORK_NAME = 'test-network'
VLAN_ID = '27'
@@ -442,3 +444,45 @@
self.assertTrue(routeExists(route))
routeDel(route)
self.assertFalse(routeExists(route))
+
+ @permutations([[True], [False]])
+ @RequireDummyMod
+ @ValidateRunningAsRoot
+ def testSourceRouting(self, bridged=True):
+ with dummyIf(1) as nics:
+ status, msg = self.vdsm_net.setupNetworks(
+ {NETWORK_NAME:
+ {'nic': nics[0], 'bridged': bridged,
'ipaddr': IP_ADDRESS,
+ 'netmask': prefix2netmask(int(IP_CIDR)),
+ 'gateway': IP_GATEWAY}},
+ {}, {'connectivityCheck': False})
+ self.assertEqual(status, SUCCESS, msg)
+ self.assertTrue(self.vdsm_net.networkExists(NETWORK_NAME, bridged))
+
+ deviceName = NETWORK_NAME if bridged else nics[0]
+
+ # Assert that routes and rules exist
+ routes = [Route(network='0.0.0.0/0', ipaddr=IP_GATEWAY,
+ device=deviceName, table=IP_TABLE),
+ Route(network=IP_NETWORK_AND_CIDR,
+ ipaddr=IP_ADDRESS, device=deviceName,
+ table=IP_TABLE)]
+ rules = [Rule(source=IP_NETWORK_AND_CIDR, table=IP_TABLE),
+ Rule(destination=IP_NETWORK_AND_CIDR, table=IP_TABLE,
+ srcDevice=deviceName)]
+
+ for route in routes:
+ self.assertTrue(routeExists(route))
+ for rule in rules:
+ self.assertTrue(ruleExists(rule))
+
+ status, msg = self.vdsm_net.setupNetworks(
+ {NETWORK_NAME: {'remove': True}},
+ {}, {'connectivityCheck': False})
+ self.assertEqual(status, SUCCESS, msg)
+
+ # Assert that routes and rules don't exist
+ for route in routes:
+ self.assertFalse(routeExists(route))
+ for rule in rules:
+ self.assertFalse(ruleExists(rule))
--
To view, visit
http://gerrit.ovirt.org/18041
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4188e6ee5daea12fbd35cb8e1c87782e9605c7cd
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Assaf Muller <amuller(a)redhat.com>