Beispiel #1
0
 def tearDown(self):
     super(NetworkLoadTestCase, self).tearDown()
     # The only engine have to tear down stacks after all workers have done
     if self.engine:
         console.terse("Clearing netem rules\n")
         netem.clear()  # clear network emulation rules
         if netem.check() != 0:
             console.terse("Error removing netem rules! Check it manually!")
Beispiel #2
0
 def tearDown(self):
     super(NetworkLoadTestCase, self).tearDown()
     # The only engine have to tear down stacks after all workers have done
     if self.engine:
         console.terse("Clearing netem rules\n")
         netem.clear()  # clear network emulation rules
         if netem.check() != 0:
             console.terse("Error removing netem rules! Check it manually!")
Beispiel #3
0
 def testNetemWorks(self):
     '''
     Check if system configured to run sudo tc without password
     If this test fail add the following in visudo:
     username ALL=NOPASSWD: /usr/sbin/tc
     This allow user 'username' to run 'sudo tc' without password prompt that is needed for netem module
     '''
     console.terse("{0}\n".format(self.testNetemWorks.__doc__))
     self.assertTrue(netem.delay())
     self.assertEqual(netem.check(), 1)
Beispiel #4
0
 def testNetemWorks(self):
     '''
     Check if system configured to run sudo tc without password
     If this test fail add the following in visudo:
     username ALL=NOPASSWD: /usr/sbin/tc
     This allow user 'username' to run 'sudo tc' without password prompt that is needed for netem module
     '''
     console.terse("{0}\n".format(self.testNetemWorks.__doc__))
     self.assertTrue(netem.delay())
     self.assertEqual(netem.check(), 1)
Beispiel #5
0
 def testLossOneToOneToMaster(self):
     '''
     One slave sends messages to one master with packet loss
     '''
     console.terse("{0}\n".format(self.testLossOneToOneToMaster.__doc__))
     self.assertTrue(netem.loss(percent=30, correlation=25))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=1,
                              minionCount=1,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_TO_MASTER)
Beispiel #6
0
 def testDelayOneToOneToMaster(self):
     '''
     One slave sends messages to one master with network delays
     '''
     console.terse("{0}\n".format(self.testDelayOneToOneToMaster.__doc__))
     self.assertTrue(netem.delay(time=200, jitter=100, correlation=30))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=1,
                              minionCount=1,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_TO_MASTER)
Beispiel #7
0
 def testDuplicateOneToOneToMaster(self):
     '''
     One slave sends messages to one master with packet duplication
     '''
     console.terse("{0}\n".format(self.testDuplicateOneToOneToMaster.__doc__))
     self.assertTrue(netem.duplicate(percent=50, correlation=25))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=1,
                              minionCount=1,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_TO_MASTER)
Beispiel #8
0
 def testDelayOneToOneToMaster(self):
     '''
     One slave sends messages to one master with network delays
     '''
     console.terse("{0}\n".format(self.testDelayOneToOneToMaster.__doc__))
     self.assertTrue(netem.delay(time=200, jitter=100, correlation=30))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=1,
                              minionCount=1,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_TO_MASTER)
Beispiel #9
0
 def testCorruptManyToManyBidirectional(self):
     '''
     Bidirectional messaging between many masters and many slaves with packet corruption
     '''
     console.terse("{0}\n".format(self.testCorruptManyToManyBidirectional.__doc__))
     self.assertTrue(netem.corrupt(percent=20, correlation=25))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=testing.MULTI_MASTER_COUNT,
                              minionCount=testing.MULTI_MINION_COUNT,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_BIDIRECTIONAL)
Beispiel #10
0
 def testDelayManyToManyBidirectional(self):
     '''
     Bidirectional messaging between many masters and many slaves with network delay
     '''
     console.terse("{0}\n".format(self.testDelayManyToManyBidirectional.__doc__))
     self.assertTrue(netem.delay(time=200, jitter=100, correlation=30))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=testing.MULTI_MASTER_COUNT,
                              minionCount=testing.MULTI_MINION_COUNT,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_BIDIRECTIONAL)
Beispiel #11
0
 def testCorruptManyToManyBidirectional(self):
     '''
     Bidirectional messaging between many masters and many slaves with packet corruption
     '''
     console.terse("{0}\n".format(
         self.testCorruptManyToManyBidirectional.__doc__))
     self.assertTrue(netem.corrupt(percent=20, correlation=25))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=testing.MULTI_MASTER_COUNT,
                              minionCount=testing.MULTI_MINION_COUNT,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_BIDIRECTIONAL)
Beispiel #12
0
 def testDelayManyToManyBidirectional(self):
     '''
     Bidirectional messaging between many masters and many slaves with network delay
     '''
     console.terse("{0}\n".format(
         self.testDelayManyToManyBidirectional.__doc__))
     self.assertTrue(netem.delay(time=200, jitter=100, correlation=30))
     self.assertEqual(netem.check(), 1)
     self.messagingMultiPeers(masterCount=testing.MULTI_MASTER_COUNT,
                              minionCount=testing.MULTI_MINION_COUNT,
                              msgSize=testing.MSG_SIZE_MED,
                              msgCount=testing.MSG_COUNT_MED,
                              duration=100.0,
                              direction=testing.DIR_BIDIRECTIONAL)