1 # Copyright (c) 2016-2017 Intel Corporation
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
21 from yardstick.network_services.helpers import samplevnf_helper
22 from yardstick.network_services.vnf_generic.vnf.base import VnfdHelper
25 class TestPortPairs(unittest.TestCase):
26 def test_port_pairs_list(self):
27 vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
28 interfaces = vnfd['vdu'][0]['external-interface']
29 port_pairs = samplevnf_helper.PortPairs(interfaces)
30 self.assertEqual(port_pairs.port_pair_list, [("xe0", "xe1")])
32 def test_valid_networks(self):
33 vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
34 interfaces = vnfd['vdu'][0]['external-interface']
35 port_pairs = samplevnf_helper.PortPairs(interfaces)
36 self.assertEqual(port_pairs.valid_networks, [
37 ("uplink_0", "downlink_0")])
39 def test_all_ports(self):
40 vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
41 interfaces = vnfd['vdu'][0]['external-interface']
42 port_pairs = samplevnf_helper.PortPairs(interfaces)
43 self.assertEqual(set(port_pairs.all_ports), {"xe0", "xe1"})
45 def test_uplink_ports(self):
46 vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
47 interfaces = vnfd['vdu'][0]['external-interface']
48 port_pairs = samplevnf_helper.PortPairs(interfaces)
49 self.assertEqual(port_pairs.uplink_ports, ["xe0"])
51 def test_downlink_ports(self):
52 vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
53 interfaces = vnfd['vdu'][0]['external-interface']
54 port_pairs = samplevnf_helper.PortPairs(interfaces)
55 self.assertEqual(port_pairs.downlink_ports, ["xe1"])
58 class TestMultiPortConfig(unittest.TestCase):
60 VNFD_0 = {'short-name': 'VpeVnf',
63 [{'network': '152.16.100.20',
64 'netmask': '255.255.255.0',
65 'gateway': '152.16.100.20',
67 {'network': '152.16.40.20',
68 'netmask': '255.255.255.0',
69 'gateway': '152.16.40.20',
71 'description': 'VPE approximation using DPDK',
72 'name': 'vpevnf-baremetal',
74 [{'network': '0064:ff9b:0:0:0:0:9810:6414',
76 'gateway': '0064:ff9b:0:0:0:0:9810:6414',
78 {'network': '0064:ff9b:0:0:0:0:9810:2814',
80 'gateway': '0064:ff9b:0:0:0:0:9810:2814',
82 'id': 'vpevnf-baremetal',
87 'dst_mac': '00:00:00:00:00:04',
88 'vpci': '0000:05:00.0',
89 'local_ip': '152.16.100.19',
90 'type': 'PCI-PASSTHROUGH',
91 'netmask': '255.255.255.0',
93 'bandwidth': '10 Gbps',
95 'dst_ip': '152.16.100.20',
97 'local_iface_name': 'eth0',
98 'local_mac': '00:00:00:00:00:02',
101 'vnfd-connection-point-ref': 'xe0',
103 {'virtual-interface':
105 'dst_mac': '00:00:00:00:00:03',
106 'vpci': '0000:05:00.1',
107 'local_ip': '152.16.40.19',
108 'type': 'PCI-PASSTHROUGH',
110 'netmask': '255.255.255.0',
112 'bandwidth': '10 Gbps',
113 'dst_ip': '152.16.40.20',
115 'local_iface_name': 'eth1',
116 'local_mac': '00:00:00:00:00:01',
117 'vld_id': 'downlink_0',
119 'vnfd-connection-point-ref': 'xe1',
122 'description': 'Vpe approximation using DPDK',
124 {'vdu-id': 'vpevnf-baremetal',
130 {'kpi': ['packets_in', 'packets_fwd', 'packets_dropped']},
131 'connection-point': [{'type': 'VPORT', 'name': 'xe0'},
132 {'type': 'VPORT', 'name': 'xe1'}],
133 'id': 'AclApproxVnf', 'name': 'VPEVnfSsh'}
136 'vnfd:vnfd-catalog': {
144 self._mock_open = mock.patch.object(six.moves.builtins, 'open')
145 self.mock_open = self._mock_open.start()
146 self._mock_os = mock.patch.object(os, 'path')
147 self.mock_os = self._mock_os.start()
148 self._mock_config_parser = mock.patch.object(
149 samplevnf_helper, 'ConfigParser')
150 self.mock_config_parser = self._mock_config_parser.start()
152 self.addCleanup(self._cleanup)
155 self._mock_open.stop()
157 self._mock_config_parser.stop()
159 def test_validate_ip_and_prefixlen(self):
160 ip_addr, prefix_len = (
161 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
162 '10.20.30.40', '16'))
163 self.assertEqual(ip_addr, '10.20.30.40')
164 self.assertEqual(prefix_len, 16)
166 ip_addr, prefix_len = (
167 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
169 self.assertEqual(ip_addr, '0000:0000:0000:0000:0000:0000:0000:0001')
170 self.assertEqual(prefix_len, 40)
172 def test_validate_ip_and_prefixlen_negative(self):
173 with self.assertRaises(AttributeError):
174 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen('', '')
176 with self.assertRaises(AttributeError):
177 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
178 '10.20.30.400', '16')
180 with self.assertRaises(AttributeError):
181 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
184 with self.assertRaises(AttributeError):
185 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
188 def test___init__(self):
189 topology_file = mock.Mock()
190 config_tpl = mock.Mock()
191 tmp_file = mock.Mock()
192 vnfd_mock = mock.MagicMock()
193 opnfv_vnf = samplevnf_helper.MultiPortConfig(
194 topology_file, config_tpl, tmp_file, vnfd_mock)
195 self.assertEqual(0, opnfv_vnf.swq)
196 self.mock_os.path = mock.MagicMock()
197 self.mock_os.path.isfile = mock.Mock(return_value=False)
198 opnfv_vnf = samplevnf_helper.MultiPortConfig(
199 topology_file, config_tpl, tmp_file, vnfd_mock)
200 self.assertEqual(0, opnfv_vnf.swq)
202 def test_update_timer(self):
203 topology_file = mock.Mock()
204 config_tpl = mock.Mock()
205 tmp_file = mock.Mock()
206 vnfd_mock = mock.MagicMock()
207 opnfv_vnf = samplevnf_helper.MultiPortConfig(
208 topology_file, config_tpl, tmp_file, vnfd_mock)
209 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
211 opnfv_vnf.start_core = 0
212 opnfv_vnf.update_write_parser = mock.MagicMock()
213 self.assertIsNone(opnfv_vnf.update_timer())
215 def test_generate_script(self):
216 topology_file = mock.Mock()
217 config_tpl = mock.Mock()
218 tmp_file = mock.Mock()
219 vnfd_mock = VnfdHelper(self.VNFD_0)
220 opnfv_vnf = samplevnf_helper.MultiPortConfig(
221 topology_file, config_tpl, tmp_file, vnfd_mock)
222 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
224 opnfv_vnf.start_core = 0
225 opnfv_vnf.update_write_parser = mock.MagicMock()
226 opnfv_vnf.generate_script_data = \
227 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
228 'arp_config6': '', 'actions': '',
229 'arp_route_tbl': '', 'arp_route_tbl6': '',
231 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
232 self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
233 opnfv_vnf.lb_config = 'HW'
234 self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
236 def test_generate_script_data(self):
237 topology_file = mock.Mock()
238 config_tpl = mock.Mock()
239 tmp_file = mock.Mock()
240 vnfd_mock = mock.MagicMock()
241 opnfv_vnf = samplevnf_helper.MultiPortConfig(
242 topology_file, config_tpl, tmp_file, vnfd_mock)
243 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
245 opnfv_vnf.start_core = 0
246 opnfv_vnf.update_write_parser = mock.MagicMock()
247 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
248 opnfv_vnf.vnf_type = 'ACL'
249 opnfv_vnf.generate_link_config = mock.Mock()
250 opnfv_vnf.generate_arp_config = mock.Mock()
251 opnfv_vnf.generate_arp_config6 = mock.Mock()
252 opnfv_vnf.generate_action_config = mock.Mock()
253 opnfv_vnf.generate_rule_config = mock.Mock()
254 self.assertIsNotNone(opnfv_vnf.generate_script_data())
256 def test_generate_rule_config(self):
257 topology_file = mock.Mock()
258 config_tpl = mock.Mock()
259 tmp_file = mock.Mock()
260 vnfd_mock = mock.MagicMock()
261 opnfv_vnf = samplevnf_helper.MultiPortConfig(
262 topology_file, config_tpl, tmp_file, vnfd_mock)
263 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
265 opnfv_vnf.start_core = 0
266 opnfv_vnf.update_write_parser = mock.MagicMock()
267 opnfv_vnf.generate_script_data = \
268 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
269 'arp_config6': '', 'actions': '',
271 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
272 opnfv_vnf.get_port_pairs = mock.Mock()
273 opnfv_vnf.vnf_type = 'ACL'
274 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
275 opnfv_vnf.get_netmask_gateway = mock.Mock(
276 return_value=u'255.255.255.0')
277 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
278 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
279 return_value=u'255.255.255.0')
280 opnfv_vnf.txrx_pipeline = ''
281 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
282 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
284 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
285 opnfv_vnf.rules = 'new'
286 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
288 def test_generate_action_config(self):
289 topology_file = mock.Mock()
290 config_tpl = mock.Mock()
291 tmp_file = mock.Mock()
292 vnfd_mock = mock.MagicMock()
293 opnfv_vnf = samplevnf_helper.MultiPortConfig(
294 topology_file, config_tpl, tmp_file, vnfd_mock)
295 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
297 opnfv_vnf.start_core = 0
298 opnfv_vnf.update_write_parser = mock.MagicMock()
299 opnfv_vnf.generate_script_data = \
300 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
301 'arp_config6': '', 'actions': '',
303 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
304 opnfv_vnf.get_port_pairs = mock.Mock()
305 opnfv_vnf.vnf_type = 'VFW'
306 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
307 opnfv_vnf.get_netmask_gateway = mock.Mock(
308 return_value=u'255.255.255.0')
309 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
310 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
311 return_value=u'255.255.255.0')
312 opnfv_vnf.txrx_pipeline = ''
314 self.assertIsNotNone(opnfv_vnf.generate_action_config())
316 def test_generate_arp_config6(self):
317 topology_file = mock.Mock()
318 config_tpl = mock.Mock()
319 tmp_file = mock.Mock()
320 vnfd_mock = mock.MagicMock()
321 opnfv_vnf = samplevnf_helper.MultiPortConfig(
322 topology_file, config_tpl, tmp_file, vnfd_mock)
323 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
325 opnfv_vnf.start_core = 0
326 opnfv_vnf.update_write_parser = mock.MagicMock()
327 opnfv_vnf.generate_script_data = \
328 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
329 'arp_config6': '', 'actions': '',
331 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
332 opnfv_vnf.get_port_pairs = mock.Mock()
333 opnfv_vnf.vnf_type = 'VFW'
334 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
335 opnfv_vnf.get_netmask_gateway = mock.Mock(
336 return_value=u'255.255.255.0')
337 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
338 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
339 return_value=u'255.255.255.0')
340 opnfv_vnf.txrx_pipeline = ''
342 opnfv_vnf.interfaces = mock.MagicMock()
343 opnfv_vnf.get_ports_gateway6 = mock.Mock()
344 self.assertIsNotNone(opnfv_vnf.generate_arp_config6())
346 def test_generate_arp_config(self):
347 topology_file = mock.Mock()
348 config_tpl = mock.Mock()
349 tmp_file = mock.Mock()
350 vnfd_mock = mock.MagicMock()
351 opnfv_vnf = samplevnf_helper.MultiPortConfig(
352 topology_file, config_tpl, tmp_file, vnfd_mock)
353 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
355 opnfv_vnf.start_core = 0
356 opnfv_vnf.update_write_parser = mock.MagicMock()
357 opnfv_vnf.generate_script_data = \
358 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
359 'arp_config6': '', 'actions': '',
361 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
362 opnfv_vnf.get_port_pairs = mock.Mock()
363 opnfv_vnf.vnf_type = 'VFW'
364 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
365 opnfv_vnf.get_netmask_gateway = mock.Mock(
366 return_value=u'255.255.255.0')
367 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
368 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
369 return_value=u'255.255.255.0')
370 opnfv_vnf.txrx_pipeline = ''
372 opnfv_vnf.interfaces = mock.MagicMock()
373 opnfv_vnf.get_ports_gateway6 = mock.Mock()
374 self.assertIsNotNone(opnfv_vnf.generate_arp_config())
376 def test_get_ports_gateway(self):
377 topology_file = mock.Mock()
378 config_tpl = mock.Mock()
379 tmp_file = mock.Mock()
380 vnfd_mock = mock.MagicMock()
381 opnfv_vnf = samplevnf_helper.MultiPortConfig(
382 topology_file, config_tpl, tmp_file, vnfd_mock)
383 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
385 opnfv_vnf.start_core = 0
386 opnfv_vnf.update_write_parser = mock.MagicMock()
387 opnfv_vnf.generate_script_data = \
388 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
389 'arp_config6': '', 'actions': '',
391 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
392 opnfv_vnf.get_port_pairs = mock.Mock()
393 opnfv_vnf.vnf_type = 'VFW'
394 opnfv_vnf.txrx_pipeline = ''
396 opnfv_vnf.interfaces = mock.MagicMock()
397 opnfv_vnf.get_ports_gateway6 = mock.Mock()
398 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
399 self.assertIsNotNone(opnfv_vnf.get_ports_gateway('xe0'))
401 def test_get_ports_gateway6(self):
402 topology_file = mock.Mock()
403 config_tpl = mock.Mock()
404 tmp_file = mock.Mock()
405 vnfd_mock = mock.MagicMock()
406 opnfv_vnf = samplevnf_helper.MultiPortConfig(
407 topology_file, config_tpl, tmp_file, vnfd_mock)
408 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
410 opnfv_vnf.start_core = 0
411 opnfv_vnf.update_write_parser = mock.MagicMock()
412 opnfv_vnf.generate_script_data = \
413 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
414 'arp_config6': '', 'actions': '',
416 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
417 opnfv_vnf.get_port_pairs = mock.Mock()
418 opnfv_vnf.vnf_type = 'VFW'
419 opnfv_vnf.txrx_pipeline = ''
421 opnfv_vnf.interfaces = mock.MagicMock()
422 opnfv_vnf.get_ports_gateway6 = mock.Mock()
423 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
424 self.assertIsNotNone(opnfv_vnf.get_ports_gateway6('xe0'))
426 def test_get_netmask_gateway(self):
427 topology_file = mock.Mock()
428 config_tpl = mock.Mock()
429 tmp_file = mock.Mock()
430 vnfd_mock = mock.MagicMock()
431 opnfv_vnf = samplevnf_helper.MultiPortConfig(
432 topology_file, config_tpl, tmp_file, vnfd_mock)
433 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
435 opnfv_vnf.start_core = 0
436 opnfv_vnf.update_write_parser = mock.MagicMock()
437 opnfv_vnf.generate_script_data = \
438 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
439 'arp_config6': '', 'actions': '',
441 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
442 opnfv_vnf.get_port_pairs = mock.Mock()
443 opnfv_vnf.vnf_type = 'VFW'
444 opnfv_vnf.txrx_pipeline = ''
446 opnfv_vnf.interfaces = mock.MagicMock()
447 opnfv_vnf.get_ports_gateway6 = mock.Mock()
448 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
449 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway('xe0'))
451 def test_get_netmask_gateway6(self):
452 topology_file = mock.Mock()
453 config_tpl = mock.Mock()
454 tmp_file = mock.Mock()
455 vnfd_mock = mock.MagicMock()
456 opnfv_vnf = samplevnf_helper.MultiPortConfig(
457 topology_file, config_tpl, tmp_file, vnfd_mock)
458 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
460 opnfv_vnf.start_core = 0
461 opnfv_vnf.update_write_parser = mock.MagicMock()
462 opnfv_vnf.generate_script_data = \
463 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
464 'arp_config6': '', 'actions': '',
466 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
467 opnfv_vnf.get_port_pairs = mock.Mock()
468 opnfv_vnf.vnf_type = 'VFW'
469 opnfv_vnf.txrx_pipeline = ''
471 opnfv_vnf.interfaces = mock.MagicMock()
472 opnfv_vnf.get_ports_gateway6 = mock.Mock()
473 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
474 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway6('xe0'))
476 def test_generate_link_config(self):
477 topology_file = mock.Mock()
478 config_tpl = mock.Mock()
479 tmp_file = mock.Mock()
480 vnfd_mock = mock.MagicMock()
482 opnfv_vnf = samplevnf_helper.MultiPortConfig(
483 topology_file, config_tpl, tmp_file, vnfd_mock)
484 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
486 opnfv_vnf.start_core = 0
487 opnfv_vnf.update_write_parser = mock.MagicMock()
488 opnfv_vnf.generate_script_data = \
489 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
490 'arp_config6': '', 'actions': '',
492 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
493 opnfv_vnf.get_port_pairs = mock.Mock()
494 opnfv_vnf.vnf_type = 'VFW'
495 opnfv_vnf.txrx_pipeline = ''
497 opnfv_vnf.get_ports_gateway6 = mock.Mock()
498 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
499 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
500 opnfv_vnf.all_ports = ['32', '1', '987']
501 opnfv_vnf.validate_ip_and_prefixlen = mock.Mock(
502 return_value=('10.20.30.40', 16))
504 result = opnfv_vnf.generate_link_config()
505 self.assertEqual(len(result.splitlines()), 9)
507 def test_generate_config(self):
508 topology_file = mock.Mock()
509 config_tpl = mock.Mock()
510 tmp_file = mock.Mock()
511 vnfd_mock = mock.MagicMock()
512 opnfv_vnf = samplevnf_helper.MultiPortConfig(
513 topology_file, config_tpl, tmp_file, vnfd_mock)
514 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
516 opnfv_vnf.start_core = 0
517 opnfv_vnf.update_write_parser = mock.MagicMock()
518 opnfv_vnf.generate_script_data = \
519 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
520 'arp_config6': '', 'actions': '',
522 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
523 opnfv_vnf.txrx_pipeline = ''
525 opnfv_vnf.get_ports_gateway6 = mock.Mock()
526 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
527 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
528 opnfv_vnf.generate_lb_to_port_pair_mapping = mock.Mock()
529 opnfv_vnf.generate_config_data = mock.Mock()
530 opnfv_vnf.write_parser = mock.MagicMock()
531 opnfv_vnf.is_openstack = True
532 self.assertIsNone(opnfv_vnf.generate_config())
533 opnfv_vnf.is_openstack = False
534 self.assertIsNone(opnfv_vnf.generate_config())
536 def test_get_config_tpl_data(self):
537 topology_file = mock.Mock()
538 config_tpl = mock.Mock()
539 tmp_file = mock.Mock()
540 vnfd_mock = mock.MagicMock()
541 opnfv_vnf = samplevnf_helper.MultiPortConfig(
542 topology_file, config_tpl, tmp_file, vnfd_mock)
544 opnfv_vnf.start_core = 0
545 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
546 opnfv_vnf.txrx_pipeline = ''
548 opnfv_vnf.write_parser = mock.MagicMock()
549 opnfv_vnf.read_parser = mock.MagicMock()
550 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
551 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
552 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
554 self.assertIsNotNone(opnfv_vnf.get_config_tpl_data('filename'))
556 def test_get_txrx_tpl_data(self):
557 topology_file = mock.Mock()
558 config_tpl = mock.Mock()
559 tmp_file = mock.Mock()
560 vnfd_mock = mock.MagicMock()
561 opnfv_vnf = samplevnf_helper.MultiPortConfig(
562 topology_file, config_tpl, tmp_file, vnfd_mock)
564 opnfv_vnf.start_core = 0
565 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
566 opnfv_vnf.txrx_pipeline = ''
568 opnfv_vnf.write_parser = mock.MagicMock()
569 opnfv_vnf.read_parser = mock.MagicMock()
570 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
571 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
572 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
574 self.assertIsNotNone(opnfv_vnf.get_txrx_tpl_data('filename'))
576 def test_init_write_parser_template(self):
577 topology_file = mock.Mock()
578 config_tpl = mock.Mock()
579 tmp_file = mock.Mock()
580 vnfd_mock = mock.MagicMock()
581 opnfv_vnf = samplevnf_helper.MultiPortConfig(
582 topology_file, config_tpl, tmp_file, vnfd_mock)
584 opnfv_vnf.start_core = 0
585 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
586 opnfv_vnf.txrx_pipeline = ''
588 opnfv_vnf.write_parser = mock.MagicMock()
589 opnfv_vnf.read_parser = mock.MagicMock()
590 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
591 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
592 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
594 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
595 opnfv_vnf.write_parser.add_section = mock.MagicMock()
596 opnfv_vnf.read_parser.item = mock.Mock(return_value=[1, 2, 3])
597 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=False)
598 opnfv_vnf.write_parser.set = mock.Mock()
599 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
601 def test_init_write_parser_template_2(self):
602 topology_file = mock.Mock()
603 config_tpl = mock.Mock()
604 tmp_file = mock.Mock()
605 vnfd_mock = mock.MagicMock()
606 opnfv_vnf = samplevnf_helper.MultiPortConfig(
607 topology_file, config_tpl, tmp_file, vnfd_mock)
609 opnfv_vnf.start_core = 0
610 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
611 opnfv_vnf.txrx_pipeline = ''
613 opnfv_vnf.write_parser = mock.MagicMock()
614 opnfv_vnf.read_parser = mock.MagicMock()
615 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
616 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
617 opnfv_vnf.write_parser.set = mock.Mock()
618 opnfv_vnf.read_parser.items = mock.MagicMock()
619 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
621 def test_update_write_parser(self):
622 topology_file = mock.Mock()
623 config_tpl = mock.Mock()
624 tmp_file = mock.Mock()
625 vnfd_mock = mock.MagicMock()
626 opnfv_vnf = samplevnf_helper.MultiPortConfig(
627 topology_file, config_tpl, tmp_file, vnfd_mock)
629 opnfv_vnf.start_core = 0
630 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
631 opnfv_vnf.txrx_pipeline = ''
633 opnfv_vnf.write_parser = mock.MagicMock()
634 opnfv_vnf.read_parser = mock.MagicMock()
635 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
636 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
637 opnfv_vnf.write_parser.set = mock.Mock()
638 opnfv_vnf.write_parser.add_section = mock.Mock()
639 opnfv_vnf.read_parser.items = mock.MagicMock()
640 opnfv_vnf.pipeline_counter = 0
641 self.assertIsNone(opnfv_vnf.update_write_parser({'filename': 1}))
643 def test_get_worker_threads(self):
644 topology_file = mock.Mock()
645 config_tpl = mock.Mock()
646 tmp_file = mock.Mock()
647 vnfd_mock = mock.MagicMock()
648 opnfv_vnf = samplevnf_helper.MultiPortConfig(
649 topology_file, config_tpl, tmp_file, vnfd_mock)
651 opnfv_vnf.start_core = 0
652 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
653 opnfv_vnf.txrx_pipeline = ''
655 opnfv_vnf.write_parser = mock.MagicMock()
656 opnfv_vnf.read_parser = mock.MagicMock()
657 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
658 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
659 opnfv_vnf.write_parser.set = mock.Mock()
660 opnfv_vnf.write_parser.add_section = mock.Mock()
661 opnfv_vnf.read_parser.items = mock.MagicMock()
662 opnfv_vnf.pipeline_counter = 0
663 opnfv_vnf.worker_config = '1t'
664 result = opnfv_vnf.get_worker_threads(1)
665 self.assertEqual(1, result)
666 opnfv_vnf.worker_config = '2t'
667 result = opnfv_vnf.get_worker_threads(2)
668 self.assertEqual(2, result)
669 opnfv_vnf.worker_config = '2t'
670 result = opnfv_vnf.get_worker_threads(3)
671 self.assertEqual(2, result)
673 # TODO(elfoley): Split this test into smaller tests
674 def test_generate_next_core_id(self):
675 topology_file = mock.Mock()
676 config_tpl = mock.Mock()
677 tmp_file = mock.Mock()
678 vnfd_mock = mock.MagicMock()
679 opnfv_vnf = samplevnf_helper.MultiPortConfig(
680 topology_file, config_tpl, tmp_file, vnfd_mock)
682 opnfv_vnf.start_core = 0
683 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
684 opnfv_vnf.txrx_pipeline = ''
686 opnfv_vnf.write_parser = mock.MagicMock()
687 opnfv_vnf.read_parser = mock.MagicMock()
688 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
689 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
690 opnfv_vnf.write_parser.set = mock.Mock()
691 opnfv_vnf.write_parser.add_section = mock.Mock()
692 opnfv_vnf.read_parser.items = mock.MagicMock()
693 opnfv_vnf.pipeline_counter = 0
694 opnfv_vnf.worker_config = '1t'
695 opnfv_vnf.start_core = 0
696 result = opnfv_vnf.generate_next_core_id()
697 self.assertIsNone(result)
698 opnfv_vnf.worker_config = '2t'
699 opnfv_vnf.start_core = 'a'
700 self.assertRaises(ValueError, opnfv_vnf.generate_next_core_id)
701 opnfv_vnf.worker_config = '2t'
702 opnfv_vnf.start_core = 1
703 result = opnfv_vnf.generate_next_core_id()
704 self.assertIsNone(result)
706 def test_generate_lb_to_port_pair_mapping(self):
707 topology_file = mock.Mock()
708 config_tpl = mock.Mock()
709 tmp_file = mock.Mock()
710 vnfd_mock = VnfdHelper(self.VNFD_0)
711 opnfv_vnf = samplevnf_helper.MultiPortConfig(
712 topology_file, config_tpl, tmp_file, vnfd_mock)
714 opnfv_vnf.start_core = 0
715 opnfv_vnf.txrx_pipeline = ''
717 opnfv_vnf.write_parser = mock.MagicMock()
718 opnfv_vnf.read_parser = mock.MagicMock()
719 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
720 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
721 opnfv_vnf.write_parser.set = mock.Mock()
722 opnfv_vnf.write_parser.add_section = mock.Mock()
723 opnfv_vnf.read_parser.items = mock.MagicMock()
724 opnfv_vnf.pipeline_counter = 0
725 opnfv_vnf.worker_config = '1t'
726 opnfv_vnf.start_core = 0
727 opnfv_vnf.lb_count = 1
728 opnfv_vnf._port_pairs = samplevnf_helper.PortPairs(vnfd_mock.interfaces)
729 opnfv_vnf.port_pair_list = opnfv_vnf._port_pairs.port_pair_list
730 result = opnfv_vnf.generate_lb_to_port_pair_mapping()
731 self.assertIsNone(result)
732 result = opnfv_vnf.set_priv_to_pub_mapping()
733 self.assertEqual('(0,1)', result)
735 def test_set_priv_que_handler(self):
736 topology_file = mock.Mock()
737 config_tpl = mock.Mock()
738 tmp_file = mock.Mock()
739 vnfd_mock = VnfdHelper(self.VNFD_0)
740 opnfv_vnf = samplevnf_helper.MultiPortConfig(
741 topology_file, config_tpl, tmp_file, vnfd_mock)
743 opnfv_vnf.start_core = 0
744 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
745 opnfv_vnf.port_pairs = [("xe0", "xe1")]
746 opnfv_vnf.txrx_pipeline = ''
748 opnfv_vnf.write_parser = mock.MagicMock()
749 opnfv_vnf.read_parser = mock.MagicMock()
750 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
751 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
752 opnfv_vnf.write_parser.set = mock.Mock()
753 opnfv_vnf.write_parser.add_section = mock.Mock()
754 opnfv_vnf.read_parser.items = mock.MagicMock()
755 opnfv_vnf.pipeline_counter = 0
756 opnfv_vnf.worker_config = '1t'
757 opnfv_vnf.start_core = 0
758 opnfv_vnf.lb_count = 1
759 result = opnfv_vnf.set_priv_que_handler()
760 self.assertIsNone(result)
762 def test_generate_arp_route_tbl(self):
763 # ELF: could n=do this in setup
764 topology_file = mock.Mock()
765 config_tpl = mock.Mock()
767 vnfd_mock = mock.MagicMock()
768 vnfd_mock.port_num.side_effect = ['32', '1', '987']
769 vnfd_mock.find_interface.side_effect = [
771 'virtual-interface': {
772 'dst_ip': '10.20.30.40',
777 'virtual-interface': {
778 'dst_ip': '10.200.30.40',
783 'virtual-interface': {
784 'dst_ip': '10.20.3.40',
790 opnfv_vnf = samplevnf_helper.MultiPortConfig(
791 topology_file, config_tpl, tmp_file, vnfd_mock)
792 opnfv_vnf.all_ports = [3, 2, 5]
794 expected = 'routeadd net 32 10.20.30.40 0xfffff000\n' \
795 'routeadd net 1 10.200.30.40 0xffffff00\n' \
796 'routeadd net 987 10.20.3.40 0xff000000'
797 result = opnfv_vnf.generate_arp_route_tbl()
798 self.assertEqual(result, expected)
800 def test_generate_arpicmp_data(self):
801 topology_file = mock.Mock()
802 config_tpl = mock.Mock()
803 tmp_file = mock.Mock()
804 vnfd_mock = mock.MagicMock()
805 opnfv_vnf = samplevnf_helper.MultiPortConfig(
806 topology_file, config_tpl, tmp_file, vnfd_mock)
808 opnfv_vnf.start_core = 0
809 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
810 opnfv_vnf.port_pairs = [("xe0", "xe1")]
811 opnfv_vnf.txrx_pipeline = ''
813 opnfv_vnf.write_parser = mock.MagicMock()
814 opnfv_vnf.read_parser = mock.MagicMock()
815 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
816 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
817 opnfv_vnf.write_parser.set = mock.Mock()
818 opnfv_vnf.write_parser.add_section = mock.Mock()
819 opnfv_vnf.read_parser.items = mock.MagicMock()
820 opnfv_vnf.pipeline_counter = 0
821 opnfv_vnf.worker_config = '1t'
822 opnfv_vnf.start_core = 0
823 opnfv_vnf.lb_count = 1
824 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
825 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
826 result = opnfv_vnf.generate_arpicmp_data()
827 self.assertIsNotNone(result)
828 opnfv_vnf.nfv_type = 'ovs'
829 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
830 result = opnfv_vnf.generate_arpicmp_data()
831 self.assertIsNotNone(result)
832 opnfv_vnf.nfv_type = 'openstack'
833 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
834 result = opnfv_vnf.generate_arpicmp_data()
835 self.assertIsNotNone(result)
836 opnfv_vnf.lb_config = 'HW'
837 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
838 result = opnfv_vnf.generate_arpicmp_data()
839 self.assertIsNotNone(result)
841 def test_generate_final_txrx_data(self):
842 topology_file = mock.Mock()
843 config_tpl = mock.Mock()
844 tmp_file = mock.Mock()
845 vnfd_mock = mock.MagicMock()
846 opnfv_vnf = samplevnf_helper.MultiPortConfig(
847 topology_file, config_tpl, tmp_file, vnfd_mock)
849 opnfv_vnf.start_core = 0
850 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
851 opnfv_vnf.port_pairs = [("xe0", "xe1")]
852 opnfv_vnf.txrx_pipeline = ''
854 opnfv_vnf.write_parser = mock.MagicMock()
855 opnfv_vnf.read_parser = mock.MagicMock()
856 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
857 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
858 opnfv_vnf.write_parser.set = mock.Mock()
859 opnfv_vnf.write_parser.add_section = mock.Mock()
860 opnfv_vnf.read_parser.items = mock.MagicMock()
861 opnfv_vnf.pipeline_counter = 0
862 opnfv_vnf.worker_config = '1t'
863 opnfv_vnf.start_core = 0
864 opnfv_vnf.lb_count = 1
865 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
866 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
867 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
868 opnfv_vnf.ports_len = 2
869 opnfv_vnf.lb_index = 1
870 opnfv_vnf.pktq_out_os = [1, 2]
871 result = opnfv_vnf.generate_final_txrx_data()
872 self.assertIsNotNone(result)
873 opnfv_vnf.nfv_type = 'openstack'
874 opnfv_vnf.pktq_out_os = [1, 2]
875 opnfv_vnf.lb_index = 1
876 result = opnfv_vnf.generate_final_txrx_data()
877 self.assertIsNotNone(result)
879 def test_generate_initial_txrx_data(self):
880 topology_file = mock.Mock()
881 config_tpl = mock.Mock()
882 tmp_file = mock.Mock()
883 vnfd_mock = mock.MagicMock()
884 opnfv_vnf = samplevnf_helper.MultiPortConfig(
885 topology_file, config_tpl, tmp_file, vnfd_mock)
887 opnfv_vnf.start_core = 0
888 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
889 opnfv_vnf.port_pairs = [("xe0", "xe1")]
890 opnfv_vnf.txrx_pipeline = ''
892 opnfv_vnf.write_parser = mock.MagicMock()
893 opnfv_vnf.read_parser = mock.MagicMock()
894 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
895 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
896 opnfv_vnf.write_parser.set = mock.Mock()
897 opnfv_vnf.write_parser.add_section = mock.Mock()
898 opnfv_vnf.read_parser.items = mock.MagicMock()
899 opnfv_vnf.pipeline_counter = 0
900 opnfv_vnf.worker_config = '1t'
901 opnfv_vnf.start_core = 0
902 opnfv_vnf.lb_count = 1
903 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
904 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
905 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
906 opnfv_vnf.lb_index = 1
907 opnfv_vnf.ports_len = 2
908 result = opnfv_vnf.generate_initial_txrx_data()
909 self.assertIsNotNone(result)
910 opnfv_vnf.nfv_type = 'openstack'
911 opnfv_vnf.pktq_out_os = [1, 2]
912 result = opnfv_vnf.generate_initial_txrx_data()
913 self.assertIsNotNone(result)
914 opnfv_vnf.nfv_type = 'ovs'
915 opnfv_vnf.init_ovs = False
916 opnfv_vnf.ovs_pktq_out = ''
917 opnfv_vnf.pktq_out_os = [1, 2]
918 opnfv_vnf.lb_index = 1
919 result = opnfv_vnf.generate_initial_txrx_data()
920 self.assertIsNotNone(result)
921 opnfv_vnf.nfv_type = 'ovs'
922 opnfv_vnf.init_ovs = True
923 opnfv_vnf.pktq_out_os = [1, 2]
924 opnfv_vnf.ovs_pktq_out = ''
925 opnfv_vnf.lb_index = 1
926 result = opnfv_vnf.generate_initial_txrx_data()
927 self.assertIsNotNone(result)
929 def test_generate_lb_data(self):
930 topology_file = mock.Mock()
931 config_tpl = mock.Mock()
932 tmp_file = mock.Mock()
933 vnfd_mock = mock.MagicMock()
934 opnfv_vnf = samplevnf_helper.MultiPortConfig(
935 topology_file, config_tpl, tmp_file, vnfd_mock)
937 opnfv_vnf.start_core = 0
938 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
939 opnfv_vnf.port_pairs = [("xe0", "xe1")]
940 opnfv_vnf.txrx_pipeline = ''
942 opnfv_vnf.write_parser = mock.MagicMock()
943 opnfv_vnf.read_parser = mock.MagicMock()
944 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
945 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
946 opnfv_vnf.write_parser.set = mock.Mock()
947 opnfv_vnf.write_parser.add_section = mock.Mock()
948 opnfv_vnf.read_parser.items = mock.MagicMock()
949 opnfv_vnf.pipeline_counter = 0
950 opnfv_vnf.worker_config = '1t'
951 opnfv_vnf.start_core = 0
952 opnfv_vnf.lb_count = 1
953 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
954 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
955 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
956 opnfv_vnf.lb_index = 1
957 opnfv_vnf.ports_len = 2
958 opnfv_vnf.prv_que_handler = 0
959 result = opnfv_vnf.generate_lb_data()
960 self.assertIsNotNone(result)
962 def test_generate_vnf_data(self):
963 topology_file = mock.Mock()
964 config_tpl = mock.Mock()
965 tmp_file = mock.Mock()
966 vnfd_mock = mock.MagicMock()
967 opnfv_vnf = samplevnf_helper.MultiPortConfig(
968 topology_file, config_tpl, tmp_file, vnfd_mock)
970 opnfv_vnf.start_core = 0
971 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
972 opnfv_vnf.port_pairs = [("xe0", "xe1")]
973 opnfv_vnf.txrx_pipeline = ''
975 opnfv_vnf.write_parser = mock.MagicMock()
976 opnfv_vnf.read_parser = mock.MagicMock()
977 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
978 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
979 opnfv_vnf.write_parser.set = mock.Mock()
980 opnfv_vnf.write_parser.add_section = mock.Mock()
981 opnfv_vnf.read_parser.items = mock.MagicMock()
982 opnfv_vnf.pipeline_counter = 0
983 opnfv_vnf.worker_config = '1t'
984 opnfv_vnf.start_core = 0
985 opnfv_vnf.lb_count = 1
986 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
987 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
988 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
989 opnfv_vnf.lb_index = 1
990 opnfv_vnf.ports_len = 1
991 opnfv_vnf.pktq_out = ['1', '2']
992 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810',
993 'vnf_set': '(2,4,5)'}
994 opnfv_vnf.prv_que_handler = 0
995 result = opnfv_vnf.generate_vnf_data()
996 self.assertIsNotNone(result)
997 opnfv_vnf.lb_config = 'HW'
999 result = opnfv_vnf.generate_vnf_data()
1000 self.assertIsNotNone(result)
1001 opnfv_vnf.lb_config = 'HW'
1003 opnfv_vnf.vnf_type = 'ACL'
1004 result = opnfv_vnf.generate_vnf_data()
1005 self.assertIsNotNone(result)
1007 def test_generate_config_data(self):
1008 topology_file = mock.Mock()
1009 config_tpl = mock.Mock()
1010 tmp_file = mock.Mock()
1011 vnfd_mock = VnfdHelper(self.VNFD_0)
1012 opnfv_vnf = samplevnf_helper.MultiPortConfig(
1013 topology_file, config_tpl, tmp_file, vnfd_mock)
1014 opnfv_vnf.socket = 0
1015 opnfv_vnf.start_core = 0
1016 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
1017 opnfv_vnf.port_pairs = [("xe0", "xe1")]
1018 opnfv_vnf.txrx_pipeline = ''
1019 opnfv_vnf.rules = ''
1020 opnfv_vnf.write_parser = mock.MagicMock()
1021 opnfv_vnf.read_parser = mock.MagicMock()
1022 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1023 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1024 opnfv_vnf.write_parser.set = mock.Mock()
1025 opnfv_vnf.write_parser.add_section = mock.Mock()
1026 opnfv_vnf.read_parser.items = mock.MagicMock()
1027 opnfv_vnf.pipeline_counter = 0
1028 opnfv_vnf.worker_config = '1t'
1029 opnfv_vnf.start_core = 0
1030 opnfv_vnf.lb_count = 1
1031 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1032 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1033 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1034 opnfv_vnf.lb_index = 1
1035 opnfv_vnf.ports_len = 1
1036 opnfv_vnf.pktq_out = ['1', '2']
1037 opnfv_vnf.prv_que_handler = 0
1038 opnfv_vnf.init_write_parser_template = mock.Mock()
1039 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1040 opnfv_vnf.txrx_tpl = mock.MagicMock()
1041 opnfv_vnf.loadb_tpl = mock.MagicMock()
1042 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
1043 'vnf_set': "(2,4,5)"}
1044 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1045 opnfv_vnf.update_write_parser = mock.Mock()
1046 result = opnfv_vnf.generate_config_data()
1047 self.assertIsNone(result)
1048 opnfv_vnf.generate_final_txrx_data = mock.Mock()
1049 opnfv_vnf.update_write_parser = mock.Mock()
1050 result = opnfv_vnf.generate_config_data()
1051 self.assertIsNone(result)
1052 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1053 opnfv_vnf.lb_index = 1
1054 opnfv_vnf.ports_len = 1
1055 opnfv_vnf.pktq_out = ['1', '2']
1056 opnfv_vnf.prv_que_handler = 0
1057 opnfv_vnf.init_write_parser_template = mock.Mock()
1058 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1059 opnfv_vnf.txrx_tpl = mock.MagicMock()
1060 opnfv_vnf.loadb_tpl = mock.MagicMock()
1061 opnfv_vnf.vnf_type = 'CGNAPT'
1062 opnfv_vnf.update_timer = mock.Mock()
1063 opnfv_vnf.port_pair_list = [("xe0", "xe1"), ("xe0", "xe2")]
1064 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1065 opnfv_vnf.generate_arpicmp_data = mock.Mock()
1066 result = opnfv_vnf.generate_config_data()
1067 self.assertIsNone(result)
1069 def test_init_eal(self):
1070 topology_file = mock.Mock()
1071 config_tpl = mock.Mock()
1072 tmp_file = mock.Mock()
1073 vnfd_mock = mock.MagicMock()
1074 opnfv_vnf = samplevnf_helper.MultiPortConfig(
1075 topology_file, config_tpl, tmp_file, vnfd_mock)
1076 opnfv_vnf.socket = 0
1077 opnfv_vnf.start_core = 0
1078 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
1079 opnfv_vnf.port_pairs = [("xe0", "xe1")]
1080 opnfv_vnf.txrx_pipeline = ''
1081 opnfv_vnf.rules = ''
1082 opnfv_vnf.write_parser = mock.MagicMock()
1083 opnfv_vnf.read_parser = mock.MagicMock()
1084 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1085 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1086 opnfv_vnf.write_parser.set = mock.Mock()
1087 opnfv_vnf.write_parser.add_section = mock.Mock()
1088 opnfv_vnf.read_parser.items = mock.MagicMock()
1089 opnfv_vnf.pipeline_counter = 0
1090 opnfv_vnf.worker_config = '1t'
1091 opnfv_vnf.start_core = 0
1092 opnfv_vnf.lb_count = 1
1093 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1094 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1095 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1096 opnfv_vnf.lb_index = 1
1097 opnfv_vnf.ports_len = 1
1098 opnfv_vnf.pktq_out = ['1', '2']
1099 opnfv_vnf.prv_que_handler = 0
1100 opnfv_vnf.init_write_parser_template = mock.Mock()
1101 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1102 opnfv_vnf.txrx_tpl = mock.MagicMock()
1103 opnfv_vnf.loadb_tpl = mock.MagicMock()
1104 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)'}
1105 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1106 opnfv_vnf.update_write_parser = mock.Mock()
1107 opnfv_vnf.tmp_file = "/tmp/config"
1108 result = opnfv_vnf.init_eal()
1109 self.assertIsNone(result)