Esempio n. 1
0
    def test_instantiate_error(self, ssh):
        mock_ssh(ssh, exec_result=(1, "", ""))

        mock_traffic_profile = mock.Mock(autospec=TrafficProfile)
        mock_traffic_profile.get_traffic_definition.return_value = "64"
        mock_traffic_profile.params = self.TRAFFIC_PROFILE

        trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
        trex_traffic_gen.resource_helper = mock.MagicMock()
        scenario_cfg = {
            "tc": "tc_baremetal_rfc2544_ipv4_1flow_64B",
            "nodes": [
                "tg_1",
                "vnf_1",
            ],
            "topology": 'nsb_test_case.yaml',
            'options': {
                'packetsize': 64,
                'traffic_type': 4,
                'rfc2544': {
                    'allowed_drop_rate': '0.8 - 1',
                },
                'vnf__1': {
                    'rules': 'acl_1rule.yaml',
                    'vnf_config': {
                        'lb_config': 'SW',
                        'lb_count': 1,
                        'worker_config': '1C/1T',
                        'worker_threads': 1,
                    },
                },
            },
        }
        trex_traffic_gen.instantiate(scenario_cfg, {})
Esempio n. 2
0
    def test_instantiate(self, ssh):
        mock_ssh(ssh)

        mock_traffic_profile = mock.Mock(autospec=TrafficProfile)
        mock_traffic_profile.get_traffic_definition.return_value = "64"
        mock_traffic_profile.params = self.TRAFFIC_PROFILE

        trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
        trex_traffic_gen._start_server = mock.Mock(return_value=0)
        trex_traffic_gen.resource_helper = mock.MagicMock()
        trex_traffic_gen.setup_helper.setup_vnf_environment = mock.MagicMock()

        scenario_cfg = {
            "tc": "tc_baremetal_rfc2544_ipv4_1flow_64B",
            "topology": 'nsb_test_case.yaml',
            'options': {
                'packetsize': 64,
                'traffic_type': 4,
                'rfc2544': {
                    'allowed_drop_rate': '0.8 - 1',
                },
                'vnf__1': {
                    'rules': 'acl_1rule.yaml',
                    'vnf_config': {
                        'lb_config': 'SW',
                        'lb_count': 1,
                        'worker_config': '1C/1T',
                        'worker_threads': 1
                    },
                },
            },
        }
        tg_rfc2544_trex.WAIT_TIME = 3
        scenario_cfg.update({"nodes": ["tg_1", "vnf_1"]})
        self.assertIsNone(trex_traffic_gen.instantiate(scenario_cfg, {}))
Esempio n. 3
0
    def test__generate_trex_cfg(self, ssh, _):
        mock_ssh(ssh)

        trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
        trex_traffic_gen.ssh_helper = mock.MagicMock()
        trex_traffic_gen.resource_helper.ssh_helper = mock.MagicMock()
        self.assertIsNone(trex_traffic_gen.resource_helper.generate_cfg())
Esempio n. 4
0
 def test__traffic_runner(self):
     mock_traffic_profile = mock.Mock(autospec=TrafficProfile)
     mock_traffic_profile.get_traffic_definition.return_value = "64"
     mock_traffic_profile.execute.return_value = "64"
     mock_traffic_profile.get_drop_percentage.return_value = "64"
     mock_traffic_profile.params = self.TRAFFIC_PROFILE
     with mock.patch("yardstick.ssh.SSH") as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh_mock.run = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         self.sut = TrexTrafficGenRFC(vnfd)
         self.sut.connection = mock.Mock()
         self.sut.connection.run = mock.Mock()
         q = Queue()
         client_started = multiprocessing.Value('i', 1)
         self.sut._vpci_ascending = ["0000:05:00.0", "0000:05:00.1"]
         self.sut._connect_client = mock.Mock(autospec=STLClient)
         self.sut._connect_client.get_stats = mock.Mock(return_value="0")
         self.sut.tc_file_name = \
             self._get_file_abspath(
                 "tc_baremetal_rfc2544_ipv4_1flow_64B.yaml")
         tg_rfc2544_trex.DURATION = 1
         tg_rfc2544_trex.WAIT_TIME = 1
         self.sut._traffic_runner(mock_traffic_profile, q, client_started,
                                  self.sut._terminated)
Esempio n. 5
0
 def test_scale(self):
     with mock.patch(SSH_HELPER) as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = mock.Mock(return_value=(0, "", ""))
         ssh_mock.run = mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
         trex_traffic_gen.scale('')
Esempio n. 6
0
 def test_terminate(self):
     with mock.patch(SSH_HELPER) as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
         trex_traffic_gen.resource_helper = mock.MagicMock()
         self.assertIsNone(trex_traffic_gen.terminate())
Esempio n. 7
0
 def test_terminate(self):
     with mock.patch("yardstick.ssh.SSH") as ssh:
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         self.assertEqual(None, trex_traffic_gen.terminate())
Esempio n. 8
0
 def test__connect_client(self):
     with mock.patch("yardstick.ssh.SSH") as ssh:
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         client = mock.Mock(autospec=STLClient)
         client.connect = mock.Mock(return_value=0)
         self.assertIsNotNone(trex_traffic_gen._connect_client(client))
Esempio n. 9
0
 def test_collect_kpi(self):
     with mock.patch("yardstick.ssh.SSH") as ssh:
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         restult = trex_traffic_gen.collect_kpi()
         self.assertEqual({}, restult)
Esempio n. 10
0
 def test__generate_trex_cfg(self):
     with mock.patch("yardstick.ssh.SSH") as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh_mock.run = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         tg_rfc2544_trex.WAIT_TIME = 1
         self.assertEqual(None, trex_traffic_gen._generate_trex_cfg(vnfd))
Esempio n. 11
0
 def test__split_mac_address_into_list(self):
     with mock.patch("yardstick.ssh.SSH") as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         result = ['0x00', '0x00', '0x00', '0x00', '0x00', '0x01']
         self.assertEqual(
             result,
             trex_traffic_gen._split_mac_address_into_list(
                 "00:00:00:00:00:01"))
Esempio n. 12
0
 def test_scale(self):
     with mock.patch("yardstick.ssh.SSH") as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh_mock.run = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         flavor = ""
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         self.assertRaises(NotImplementedError, trex_traffic_gen.scale,
                           flavor)
Esempio n. 13
0
 def test__get_rfc_tolerance(self):
     with mock.patch("yardstick.ssh.SSH") as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh_mock.run = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         self.assertEqual([0.8, 1.0],
                          trex_traffic_gen._get_rfc_tolerance(self.TC_YAML))
         self.TC_YAML["scenarios"][0]["tc_options"]['rfc2544'][
             'allowed_drop_rate'] = '0.8'
         self.assertEqual([0.8, 0.8],
                          trex_traffic_gen._get_rfc_tolerance(self.TC_YAML))
Esempio n. 14
0
 def test_instantiate_error(self):
     mock_traffic_profile = mock.Mock(autospec=TrafficProfile)
     mock_traffic_profile.get_traffic_definition.return_value = "64"
     mock_traffic_profile.params = self.TRAFFIC_PROFILE
     with mock.patch("yardstick.ssh.SSH") as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(1, "", ""))
         ssh_mock.run = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         trex_traffic_gen = TrexTrafficGenRFC(vnfd)
         scenario_cfg = {"tc": "tc_baremetal_rfc2544_ipv4_1flow_64B"}
         self.assertRaises(RuntimeError, trex_traffic_gen.instantiate,
                           scenario_cfg, {})
Esempio n. 15
0
 def test_run_traffic(self):
     mock_traffic_profile = mock.Mock(autospec=TrafficProfile)
     mock_traffic_profile.get_traffic_definition.return_value = "64"
     mock_traffic_profile.params = self.TRAFFIC_PROFILE
     with mock.patch("yardstick.ssh.SSH") as ssh:
         ssh_mock = mock.Mock(autospec=ssh.SSH)
         ssh_mock.execute = \
             mock.Mock(return_value=(0, "", ""))
         ssh_mock.run = \
             mock.Mock(return_value=(0, "", ""))
         ssh.from_node.return_value = ssh_mock
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         self.sut = TrexTrafficGenRFC(vnfd)
         self.sut.connection = mock.Mock()
         self.sut.connection.run = mock.Mock()
         self.sut._traffic_runner = mock.Mock(return_value=0)
         client_started = multiprocessing.Value('i', 1)
         result = self.sut.run_traffic(mock_traffic_profile, client_started)
         self.sut._traffic_process.terminate()
         self.assertIsNotNone(result)
Esempio n. 16
0
 def test__start_server(self, ssh):
     mock_ssh(ssh)
     trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
     trex_traffic_gen.resource_helper = mock.MagicMock()
     self.assertIsNone(trex_traffic_gen._start_server())
Esempio n. 17
0
 def test_listen_traffic(self, ssh):
     mock_ssh(ssh)
     trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
     self.assertIsNone(trex_traffic_gen.listen_traffic({}))
Esempio n. 18
0
 def test_collect_kpi(self, ssh):
     mock_ssh(ssh)
     trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
     self.assertIsNone(trex_traffic_gen.collect_kpi())
Esempio n. 19
0
 def test___init__(self, ssh):
     mock_ssh(ssh)
     trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0)
     self.assertIsNotNone(
         trex_traffic_gen.resource_helper._terminated.value)