Dan Kenigsberg has uploaded a new change for review. Change subject: tc: add to PEP8_WHITELIST ......................................................................
tc: add to PEP8_WHITELIST Change-Id: I1b3b1d8de08ea8fac5cd3debb53f22d7a7a8ad87 Signed-off-by: Dan Kenigsberg <[email protected]> --- M Makefile.am M tests/tcTests.py M vdsm/tc.py 3 files changed, 28 insertions(+), 11 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/26/7426/1 diff --git a/Makefile.am b/Makefile.am index 5f17f63..e617c6a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -89,6 +89,7 @@ vdsm/storage/volume.py \ vdsm/supervdsm.py \ vdsm/supervdsmServer.py \ + vdsm/tc.py \ vdsm_cli \ vdsm_hooks/fileinject/before_vm_start.py \ vdsm_hooks/promisc/after_vm_start.py \ @@ -99,7 +100,8 @@ vdsm_hooks/vhostmd/after_vm_destroy.py \ vdsm_hooks/vhostmd/before_vm_start.py \ vdsm_reg/createDaemon.py \ - vdsm_reg/define.py + vdsm_reg/define.py \ + $(NULL) PEP8_BLACKLIST = \ restData.py diff --git a/tests/tcTests.py b/tests/tcTests.py index 7e09761..c60efff 100644 --- a/tests/tcTests.py +++ b/tests/tcTests.py @@ -43,12 +43,12 @@ class _Interface(): - def __init__(self): - self.devName = self._generateRandomBridgeName() + def __init__(self, prefix='vdsmtest-'): + self.devName = self._generateRandomName(prefix) - def _generateRandomBridgeName(self): + def _generateRandomName(self, prefix): char_set = string.ascii_letters + string.digits - return 'vdsmtest-' + ''.join(random.sample(char_set, 5)) + return prefix + ''.join(random.sample(char_set, 5)) def _ifUp(self): check_call([EXT_IP, "link", "set", self.devName, "up"]) @@ -162,7 +162,7 @@ return popen.stdout.read() def _addIngress(self): - tc.qdisc_add_ingress(self._bridge.devName) + tc.qdisc_replace_ingress(self._bridge.devName) self.assertTrue("qdisc ingress" in self._showQdisc(), "Could not add an ingress qdisc to the device.") @@ -231,24 +231,31 @@ _tap0 = _Tap() _tap1 = _Tap() - _bridge0 = _Bridge() - _bridge1 = _Bridge() + _tap2 = _Tap() + _bridge0 = _Bridge('src-') + _bridge1 = _Bridge('target-') + _bridge2 = _Bridge('target2-') @ValidateRunningAsRoot def setUp(self): _checkDependencies() self._tap0.addDevice() self._tap1.addDevice() + self._tap2.addDevice() self._bridge0.addDevice() self._bridge1.addDevice() + self._bridge2.addDevice() self._bridge0.addIf(self._tap0.devName) self._bridge1.addIf(self._tap1.devName) + self._bridge2.addIf(self._tap2.devName) def tearDown(self): self._tap0.delDevice() self._tap1.delDevice() + self._tap2.delDevice() self._bridge0.delDevice() self._bridge1.delDevice() + self._bridge2.delDevice() def _sendPing(self): self._tap1.startListener(self._ICMP) @@ -264,9 +271,15 @@ def testMirroring(self): tc.setPortMirroring(self._bridge0.devName, self._bridge1.devName) - self.assertTrue(self._sendPing(), " Bridge received no mirrored ping" + self.assertTrue(self._sendPing(), " Bridge received no mirrored ping " "requests.") tc.unsetPortMirroring(self._bridge0.devName, self._bridge1.devName) - self.assertFalse(self._sendPing(), " Bridge received mirrored ping" + self.assertFalse(self._sendPing(), " Bridge received mirrored ping " "requests, but mirroring is unset.") + + def testMirroringWithDistraction(self): + "setting another mirror action should not obstract the first one" + tc.setPortMirroring(self._bridge0.devName, self._bridge2.devName) + self.testMirroring() + tc.unsetPortMirroring(self._bridge0.devName, self._bridge2.devName) diff --git a/vdsm/tc.py b/vdsm/tc.py index 9998bd1..db699df 100644 --- a/vdsm/tc.py +++ b/vdsm/tc.py @@ -94,7 +94,6 @@ raise - def filter_replace(dev, parent, filt): command = [EXT_TC, 'filter', 'replace', 'dev', dev, 'parent', parent] if filt.prio: @@ -118,10 +117,12 @@ 'parent', 'root', 'prio'] _process_request(command) + def qdisc_get_devid(dev): command = [EXT_TC, 'qdisc', 'show', 'dev', dev] out = _process_request(command) return out.split(' ')[2] + def qdisc_del(dev, queue): try: @@ -131,6 +132,7 @@ if e.errCode != ERR_DEV_NOEXIST: raise + def set_promisc(dev, on=True): promisc = 'promisc' if not on: -- To view, visit http://gerrit.ovirt.org/7426 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1b3b1d8de08ea8fac5cd3debb53f22d7a7a8ad87 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
