rubbos installation guide
[bottlenecks.git] / vstf / vstf / agent / unittest / perf / model.py
1 """
2 Created on 2015-9-25
3
4 @author: y00228926
5 """
6 import unittest
7
8 from vstf.agent.unittest import configuration
9 from vstf.agent.perf import netns
10
11
12 class LocalModel(unittest.TestCase):
13     def _ping(self):
14         device_list, ns_list, ip_setting_list, ip_list = self.device_list, self.ns_list, self.ip_setting_list, self.ip_list
15         for ns, dev, ip_setting in zip(ns_list, device_list, ip_setting_list):
16             netdev = {
17                 "namespace": ns,
18                 "iface": dev,
19                 'ip_setting': ip_setting
20             }
21             self.mgr.config_dev(netdev)
22         ip_list_copy = ip_list[:]
23         ip_list_copy.reverse()
24         for ns, ip in zip(ns_list, ip_list_copy):
25             self.assertTrue(sself.mgr.ping(ns, ip), True)
26         self.mgr.clean_all_namespace()
27
28     def setUp(self):
29         # make sure you have set up Tn loop on the "Target Host"
30         self.mgr = netns.NetnsManager()
31         self.mgr.clean_all_namespace()
32         self.device_list = configuration.eth_for_test
33         self.mac_list = configuration.mac_of_eth
34         self.ns_list = ['send', 'receive']
35         self.ip_setting_list = ['192.168.1.1/24', '192.168.1.2/24']
36         self.ip_list = ['192.168.1.1', '192.168.1.2']
37
38     def tearDown(self):
39         self.mgr.clean_all_namespace()
40
41
42 class Model(LocalModel):
43     def setUp(self):
44         # make sure you have set up Tn loop on the "Target Host"
45         super(Model, self).setUp()
46         self._ping()