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 <[email protected]>
---
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 <[email protected]>
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to