aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/tests/unit/network_services/vnf_generic/vnf/test_ipsec_vnf.py
diff options
context:
space:
mode:
Diffstat (limited to 'yardstick/tests/unit/network_services/vnf_generic/vnf/test_ipsec_vnf.py')
-rw-r--r--yardstick/tests/unit/network_services/vnf_generic/vnf/test_ipsec_vnf.py409
1 files changed, 371 insertions, 38 deletions
diff --git a/yardstick/tests/unit/network_services/vnf_generic/vnf/test_ipsec_vnf.py b/yardstick/tests/unit/network_services/vnf_generic/vnf/test_ipsec_vnf.py
index e94f83f29..8b245b3bf 100644
--- a/yardstick/tests/unit/network_services/vnf_generic/vnf/test_ipsec_vnf.py
+++ b/yardstick/tests/unit/network_services/vnf_generic/vnf/test_ipsec_vnf.py
@@ -1241,13 +1241,39 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_LAYOUT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
self.assertIsNone(ipsec_approx_setup_helper.build_config())
+ self.assertEqual(0,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'numa_node'))
+ self.assertEqual('TenGigabitEthernetff/6/0',
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'vpp_name'))
+ self.assertEqual(1,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'vpp_sw_index'))
+ self.assertEqual(0,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'numa_node'))
+ self.assertEqual('VirtualFunctionEthernetff/7/0',
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'vpp_name'))
+ self.assertEqual(2,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'vpp_sw_index'))
+ self.assertGreaterEqual(ssh_helper.execute.call_count, 4)
def test_build_config_cbc_algorithms(self):
vnfd_helper = VnfdHelper(
@@ -1263,13 +1289,39 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_LAYOUT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
self.assertIsNone(ipsec_approx_setup_helper.build_config())
+ self.assertEqual(0,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'numa_node'))
+ self.assertEqual('TenGigabitEthernetff/6/0',
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'vpp_name'))
+ self.assertEqual(1,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'vpp_sw_index'))
+ self.assertEqual(0,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'numa_node'))
+ self.assertEqual('VirtualFunctionEthernetff/7/0',
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'vpp_name'))
+ self.assertEqual(2,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'vpp_sw_index'))
+ self.assertGreaterEqual(ssh_helper.execute.call_count, 4)
@mock.patch.object(utils, 'setup_hugepages')
def test_setup_vnf_environment(self, *args):
@@ -1286,11 +1338,35 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
ssh_helper,
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
self.assertIsInstance(
ipsec_approx_setup_helper.setup_vnf_environment(),
ResourceProfile)
+ self.assertEqual(0,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'numa_node'))
+ self.assertEqual('TenGigabitEthernetff/6/0',
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'vpp_name'))
+ self.assertEqual(1,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe0', 'vpp_sw_index'))
+ self.assertEqual(0,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'numa_node'))
+ self.assertEqual('VirtualFunctionEthernetff/7/0',
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'vpp_name'))
+ self.assertEqual(2,
+ ipsec_approx_setup_helper.get_value_by_interface_key(
+ 'xe1', 'vpp_sw_index'))
+ self.assertGreaterEqual(ssh_helper.execute.call_count, 4)
def test_calculate_frame_size(self):
vnfd_helper = VnfdHelper(
@@ -1355,16 +1431,73 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
self.assertFalse(ipsec_approx_setup_helper.check_status())
def test_get_vpp_statistics(self):
+ def execute(cmd):
+ if 'TenGigabitEthernetff/6/0' in cmd:
+ return 0, output_xe0, ''
+ elif 'VirtualFunctionEthernetff/7/0' in cmd:
+ return 0, output_xe1, ''
+ return 0, '0', ''
+
+ output_xe0 = \
+ ' Name Idx State MTU (L3/IP4/IP6/MPLS)' \
+ ' Counter Count \n' \
+ 'TenGigabitEthernetff/6/0 1 up 9200/0/0/0 ' \
+ 'rx packets 23373568\n' \
+ ' ' \
+ 'rx bytes 1402414080\n' \
+ ' ' \
+ 'tx packets 20476416\n' \
+ ' ' \
+ 'tx bytes 1228584960\n' \
+ ' ' \
+ 'ip4 23373568\n' \
+ ' ' \
+ 'rx-miss 27789925'
+ output_xe1 = \
+ ' Name Idx State MTU (L3/IP4/IP6/MPLS)' \
+ ' Counter Count \n' \
+ 'VirtualFunctionEthernetff/7/0 2 up 9200/0/0/0 ' \
+ 'rx packets 23373568\n' \
+ ' ' \
+ 'rx bytes 1402414080\n' \
+ ' ' \
+ 'tx packets 20476416\n' \
+ ' ' \
+ 'tx bytes 1228584960\n' \
+ ' ' \
+ 'ip4 23373568\n' \
+ ' ' \
+ 'rx-miss 27789925'
+
vnfd_helper = VnfdHelper(
TestVipsecApproxVnf.VNFD['vnfd:vnfd-catalog']['vnfd'][0])
ssh_helper = mock.Mock()
- ssh_helper.execute.return_value = 0, '', ''
+ ssh_helper.execute = execute
scenario_helper = mock.Mock()
ipsec_approx_setup_helper = VipsecApproxSetupEnvHelper(vnfd_helper,
ssh_helper,
scenario_helper)
- ipsec_approx_setup_helper.get_vpp_statistics()
+ with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
+ mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
+ sys_cores = cpu.CpuSysCores(ssh_helper)
+ ipsec_approx_setup_helper._update_vnfd_helper(
+ sys_cores.get_cpu_layout())
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertEqual({'xe0': {'packets_dropped': 27789925,
+ 'packets_fwd': 20476416,
+ 'packets_in': 23373568},
+ 'xe1': {'packets_dropped': 27789925,
+ 'packets_fwd': 20476416,
+ 'packets_in': 23373568}},
+ ipsec_approx_setup_helper.get_vpp_statistics())
def test_parser_vpp_stats(self):
output = \
@@ -1430,12 +1563,112 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
vnfd_helper = VnfdHelper(
TestVipsecApproxVnf.VNFD['vnfd:vnfd-catalog']['vnfd'][0])
ssh_helper = mock.Mock()
+ ssh_helper.execute.return_value = 0, '0', ''
scenario_helper = mock.Mock()
+ scenario_helper.options = self.OPTIONS
+ scenario_helper.all_options = self.ALL_OPTIONS
ipsec_approx_setup_helper = VipsecApproxSetupEnvHelper(vnfd_helper,
ssh_helper,
scenario_helper)
- ipsec_approx_setup_helper.create_ipsec_tunnels()
+
+ with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out, \
+ mock.patch.object(vpp_helpers.VatTerminal,
+ 'vat_terminal_exec_cmd_from_template') as \
+ mock_vat_terminal_exec_cmd_from_template, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'vpp_get_interface_data') as \
+ mock_ipsec_approx_setup_helper:
+ mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
+ mock_vat_terminal_exec_cmd_from_template.return_value = self.VPP_INTERFACES_DUMP
+ mock_ipsec_approx_setup_helper.return_value = self.VPP_INTERFACES_DUMP
+ sys_cores = cpu.CpuSysCores(ssh_helper)
+ ipsec_approx_setup_helper._update_vnfd_helper(
+ sys_cores.get_cpu_layout())
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(ipsec_approx_setup_helper.create_ipsec_tunnels())
+ self.assertGreaterEqual(
+ mock_vat_terminal_exec_cmd_from_template.call_count, 9)
+
+ def test_create_ipsec_tunnels_cbc_algorithms(self):
+ vnfd_helper = VnfdHelper(
+ TestVipsecApproxVnf.VNFD['vnfd:vnfd-catalog']['vnfd'][0])
+ ssh_helper = mock.Mock()
+ ssh_helper.execute.return_value = 0, '0', ''
+ scenario_helper = mock.Mock()
+ scenario_helper.options = self.OPTIONS
+ scenario_helper.all_options = self.ALL_OPTIONS_CBC_ALGORITHMS
+
+ ipsec_approx_setup_helper = VipsecApproxSetupEnvHelper(vnfd_helper,
+ ssh_helper,
+ scenario_helper)
+
+ with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'find_encrypted_data_interface') as \
+ mock_find_encrypted_data_interface, \
+ mock.patch.object(vpp_helpers.VatTerminal,
+ 'vat_terminal_exec_cmd_from_template') as \
+ mock_vat_terminal_exec_cmd_from_template, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'vpp_get_interface_data') as \
+ mock_ipsec_approx_setup_helper:
+ mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
+ mock_find_encrypted_data_interface.return_value = {
+ 'dpdk_port_num': 0,
+ 'driver': 'igb_uio',
+ 'dst_ip': '192.168.100.1',
+ 'dst_mac': '90:e2:ba:7c:30:e8',
+ 'ifname': 'xe0',
+ 'local_ip': '192.168.100.2',
+ 'local_mac': '90:e2:ba:7c:41:a8',
+ 'netmask': '255.255.255.0',
+ 'network': {},
+ 'node_name': 'vnf__1',
+ 'numa_node': 0,
+ 'peer_ifname': 'xe0',
+ 'peer_intf': {'dpdk_port_num': 0,
+ 'driver': 'igb_uio',
+ 'dst_ip': '192.168.100.2',
+ 'dst_mac': '90:e2:ba:7c:41:a8',
+ 'ifname': 'xe0',
+ 'local_ip': '192.168.100.1',
+ 'local_mac': '90:e2:ba:7c:30:e8',
+ 'netmask': '255.255.255.0',
+ 'network': {},
+ 'node_name': 'tg__0',
+ 'peer_ifname': 'xe0',
+ 'peer_name': 'vnf__0',
+ 'vld_id': 'uplink_0',
+ 'vpci': '0000:81:00.0'},
+ 'peer_name': 'tg__0',
+ 'vld_id': 'uplink_0',
+ 'vpci': '0000:ff:06.0',
+ 'vpp_name': u'TenGigabitEthernetff/6/0',
+ 'vpp_sw_index': 1}
+ mock_vat_terminal_exec_cmd_from_template.return_value = self.VPP_INTERFACES_DUMP
+ mock_ipsec_approx_setup_helper.return_value = self.VPP_INTERFACES_DUMP
+ sys_cores = cpu.CpuSysCores(ssh_helper)
+ ipsec_approx_setup_helper._update_vnfd_helper(
+ sys_cores.get_cpu_layout())
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(ipsec_approx_setup_helper.create_ipsec_tunnels())
+ self.assertGreaterEqual(
+ mock_vat_terminal_exec_cmd_from_template.call_count, 9)
def test_find_raw_data_interface(self):
expected = {'dpdk_port_num': 0,
@@ -1448,6 +1681,7 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
'netmask': '255.255.255.0',
'network': {},
'node_name': 'vnf__0',
+ 'numa_node': 0,
'peer_ifname': 'xe0',
'peer_intf': {'dpdk_port_num': 0,
'driver': 'igb_uio',
@@ -1465,7 +1699,9 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
'vpci': '0000:81:00.0'},
'peer_name': 'tg__0',
'vld_id': 'uplink_0',
- 'vpci': '0000:ff:06.0'}
+ 'vpci': '0000:ff:06.0',
+ 'vpp_name': u'TenGigabitEthernetff/6/0',
+ 'vpp_sw_index': 1}
vnfd_helper = VnfdHelper(
TestVipsecApproxVnf.VNFD['vnfd:vnfd-catalog']['vnfd'][0])
ssh_helper = mock.Mock()
@@ -1500,6 +1736,7 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
'netmask': '255.255.255.0',
'network': {},
'node_name': 'vnf__0',
+ 'numa_node': 0,
'peer_ifname': 'xe1',
'peer_intf': {'driver': 'igb_uio',
'dst_ip': '1.1.1.1',
@@ -1516,7 +1753,9 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
'vpci': '0000:00:07.0'},
'peer_name': 'vnf__1',
'vld_id': 'ciphertext',
- 'vpci': '0000:ff:07.0'}
+ 'vpci': '0000:ff:07.0',
+ 'vpp_name': u'VirtualFunctionEthernetff/7/0',
+ 'vpp_sw_index': 2}
vnfd_helper = VnfdHelper(
TestVipsecApproxVnf.VNFD['vnfd:vnfd-catalog']['vnfd'][0])
ssh_helper = mock.Mock()
@@ -1542,14 +1781,21 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper._update_vnfd_helper(
sys_cores.get_cpu_layout())
- self.assertIsInstance(
- ipsec_approx_setup_helper.create_startup_configuration_of_vpp(),
- vpp_helpers.VppConfigGenerator)
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsInstance(
+ ipsec_approx_setup_helper.create_startup_configuration_of_vpp(),
+ vpp_helpers.VppConfigGenerator)
def test_add_worker_threads_and_rxqueues(self):
vnfd_helper = VnfdHelper(
@@ -1566,15 +1812,22 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_LAYOUT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
- self.assertIsNone(
- ipsec_approx_setup_helper.add_worker_threads_and_rxqueues(
- vpp_config_generator, 1, 1))
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(
+ ipsec_approx_setup_helper.add_worker_threads_and_rxqueues(
+ vpp_config_generator, 1, 1))
self.assertEqual(
'cpu\n{\n corelist-workers 2\n main-core 1\n}\ndpdk\n{\n ' \
'dev default\n {\n num-rx-queues 1\n }\n num-mbufs 32768\n}\n',
@@ -1595,15 +1848,22 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_SMT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_SMT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
- self.assertIsNone(
- ipsec_approx_setup_helper.add_worker_threads_and_rxqueues(
- vpp_config_generator, 1))
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(
+ ipsec_approx_setup_helper.add_worker_threads_and_rxqueues(
+ vpp_config_generator, 1))
self.assertEqual(
'cpu\n{\n corelist-workers 2,6\n main-core 1\n}\ndpdk\n{\n ' \
'dev default\n {\n num-rx-queues 1\n }\n num-mbufs 32768\n}\n',
@@ -1624,15 +1884,22 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_LAYOUT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
- self.assertIsNone(
- ipsec_approx_setup_helper.add_worker_threads_and_rxqueues(
- vpp_config_generator, 1, 1))
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(
+ ipsec_approx_setup_helper.add_worker_threads_and_rxqueues(
+ vpp_config_generator, 1, 1))
self.assertEqual(
'cpu\n{\n corelist-workers 2\n main-core 1\n}\ndpdk\n{\n ' \
'dev default\n {\n num-rx-queues 1\n }\n num-mbufs 32768\n}\n',
@@ -1653,13 +1920,20 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper._update_vnfd_helper(
sys_cores.get_cpu_layout())
- self.assertIsNone(ipsec_approx_setup_helper.add_pci_devices(
- vpp_config_generator))
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(ipsec_approx_setup_helper.add_pci_devices(
+ vpp_config_generator))
self.assertEqual(
'dpdk\n{\n dev 0000:ff:06.0 \n dev 0000:ff:07.0 \n}\n',
vpp_config_generator.dump_config())
@@ -1679,16 +1953,23 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_LAYOUT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
- self.assertIsNone(ipsec_approx_setup_helper.add_dpdk_cryptodev(
- vpp_config_generator, 'aesni_gcm', 1))
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(ipsec_approx_setup_helper.add_dpdk_cryptodev(
+ vpp_config_generator, 'aesni_gcm', 1))
self.assertEqual(
- 'dpdk\n{\n vdev cryptodev_aesni_gcm_pmd,socket_id=None \n}\n',
+ 'dpdk\n{\n vdev cryptodev_aesni_gcm_pmd,socket_id=0 \n}\n',
vpp_config_generator.dump_config())
def test_add_dpdk_cryptodev_hw(self):
@@ -1706,14 +1987,21 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_LAYOUT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
- self.assertIsNone(ipsec_approx_setup_helper.add_dpdk_cryptodev(
- vpp_config_generator, 'aesni_gcm', 1))
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(ipsec_approx_setup_helper.add_dpdk_cryptodev(
+ vpp_config_generator, 'aesni_gcm', 1))
self.assertEqual(
'dpdk\n{\n dev 0000:ff:01.0 \n uio-driver igb_uio\n}\n',
vpp_config_generator.dump_config())
@@ -1733,16 +2021,23 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
scenario_helper)
with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
- mock_get_cpu_layout:
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out:
mock_get_cpu_layout.return_value = self.CPU_SMT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
ipsec_approx_setup_helper.sys_cores = cpu.CpuSysCores(ssh_helper)
ipsec_approx_setup_helper.sys_cores.cpuinfo = self.CPU_LAYOUT
ipsec_approx_setup_helper._update_vnfd_helper(
ipsec_approx_setup_helper.sys_cores.get_cpu_layout())
- self.assertIsNone(ipsec_approx_setup_helper.add_dpdk_cryptodev(
- vpp_config_generator, 'aesni_gcm', 1))
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(ipsec_approx_setup_helper.add_dpdk_cryptodev(
+ vpp_config_generator, 'aesni_gcm', 1))
self.assertEqual(
- 'dpdk\n{\n vdev cryptodev_aesni_gcm_pmd,socket_id=None \n}\n',
+ 'dpdk\n{\n vdev cryptodev_aesni_gcm_pmd,socket_id=0 \n}\n',
vpp_config_generator.dump_config())
def test_add_dpdk_cryptodev_smt_used_hw(self):
@@ -1771,3 +2066,41 @@ class TestVipsecApproxSetupEnvHelper(unittest.TestCase):
self.assertEqual(
'dpdk\n{\n dev 0000:ff:01.0 \n dev 0000:ff:01.1 \n uio-driver igb_uio\n}\n',
vpp_config_generator.dump_config())
+
+ def test_initialize_ipsec(self):
+ vnfd_helper = VnfdHelper(
+ TestVipsecApproxVnf.VNFD['vnfd:vnfd-catalog']['vnfd'][0])
+ ssh_helper = mock.Mock()
+ ssh_helper.execute.return_value = 0, '0', ''
+ scenario_helper = mock.Mock()
+ scenario_helper.options = self.OPTIONS
+ scenario_helper.all_options = self.ALL_OPTIONS
+
+ ipsec_approx_setup_helper = VipsecApproxSetupEnvHelper(vnfd_helper,
+ ssh_helper,
+ scenario_helper)
+
+ with mock.patch.object(cpu.CpuSysCores, 'get_cpu_layout') as \
+ mock_get_cpu_layout, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'execute_script_json_out') as \
+ mock_execute_script_json_out, \
+ mock.patch.object(vpp_helpers.VatTerminal,
+ 'vat_terminal_exec_cmd_from_template') as \
+ mock_vat_terminal_exec_cmd_from_template, \
+ mock.patch.object(ipsec_approx_setup_helper,
+ 'vpp_get_interface_data') as \
+ mock_ipsec_approx_setup_helper:
+ mock_get_cpu_layout.return_value = self.CPU_LAYOUT
+ mock_execute_script_json_out.return_value = str(
+ self.VPP_INTERFACES_DUMP).replace("\'", "\"")
+ mock_vat_terminal_exec_cmd_from_template.return_value = ''
+ mock_ipsec_approx_setup_helper.return_value = self.VPP_INTERFACES_DUMP
+ sys_cores = cpu.CpuSysCores(ssh_helper)
+ ipsec_approx_setup_helper._update_vnfd_helper(
+ sys_cores.get_cpu_layout())
+ ipsec_approx_setup_helper.update_vpp_interface_data()
+ ipsec_approx_setup_helper.iface_update_numa()
+ self.assertIsNone(ipsec_approx_setup_helper.initialize_ipsec())
+ self.assertGreaterEqual(
+ mock_vat_terminal_exec_cmd_from_template.call_count, 9)