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_config_parser = mock.patch.object(
147 samplevnf_helper, 'ConfigParser')
148 self.mock_config_parser = self._mock_config_parser.start()
150 self.addCleanup(self._cleanup)
153 self._mock_open.stop()
154 self._mock_config_parser.stop()
156 def test_validate_ip_and_prefixlen(self):
157 ip_addr, prefix_len = (
158 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
159 '10.20.30.40', '16'))
160 self.assertEqual(ip_addr, '10.20.30.40')
161 self.assertEqual(prefix_len, 16)
163 ip_addr, prefix_len = (
164 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
166 self.assertEqual(ip_addr, '0000:0000:0000:0000:0000:0000:0000:0001')
167 self.assertEqual(prefix_len, 40)
169 def test_validate_ip_and_prefixlen_negative(self):
170 with self.assertRaises(AttributeError):
171 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen('', '')
173 with self.assertRaises(AttributeError):
174 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
175 '10.20.30.400', '16')
177 with self.assertRaises(AttributeError):
178 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
181 with self.assertRaises(AttributeError):
182 samplevnf_helper.MultiPortConfig.validate_ip_and_prefixlen(
185 @mock.patch.object(os.path, 'isfile', return_value=False)
186 def test___init__(self, *args):
187 topology_file = mock.Mock()
188 config_tpl = mock.Mock()
189 tmp_file = mock.Mock()
190 vnfd_mock = mock.MagicMock()
191 opnfv_vnf = samplevnf_helper.MultiPortConfig(
192 topology_file, config_tpl, tmp_file, vnfd_mock)
193 self.assertEqual(0, opnfv_vnf.swq)
194 opnfv_vnf = samplevnf_helper.MultiPortConfig(
195 topology_file, config_tpl, tmp_file, vnfd_mock)
196 self.assertEqual(0, opnfv_vnf.swq)
198 def test_update_timer(self):
199 topology_file = mock.Mock()
200 config_tpl = mock.Mock()
201 tmp_file = mock.Mock()
202 vnfd_mock = mock.MagicMock()
203 opnfv_vnf = samplevnf_helper.MultiPortConfig(
204 topology_file, config_tpl, tmp_file, vnfd_mock)
205 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
207 opnfv_vnf.start_core = 0
208 opnfv_vnf.update_write_parser = mock.MagicMock()
209 self.assertIsNone(opnfv_vnf.update_timer())
211 def test_generate_script(self):
212 topology_file = mock.Mock()
213 config_tpl = mock.Mock()
214 tmp_file = mock.Mock()
215 vnfd_mock = VnfdHelper(self.VNFD_0)
216 opnfv_vnf = samplevnf_helper.MultiPortConfig(
217 topology_file, config_tpl, tmp_file, vnfd_mock)
218 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
220 opnfv_vnf.start_core = 0
221 opnfv_vnf.update_write_parser = mock.MagicMock()
222 opnfv_vnf.generate_script_data = \
223 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
224 'arp_config6': '', 'actions': '',
225 'arp_route_tbl': '', 'arp_route_tbl6': '',
227 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
228 self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
229 opnfv_vnf.lb_config = 'HW'
230 self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
232 def test_generate_script_data(self):
233 topology_file = mock.Mock()
234 config_tpl = mock.Mock()
235 tmp_file = mock.Mock()
236 vnfd_mock = mock.MagicMock()
237 opnfv_vnf = samplevnf_helper.MultiPortConfig(
238 topology_file, config_tpl, tmp_file, vnfd_mock)
239 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
241 opnfv_vnf.start_core = 0
242 opnfv_vnf.update_write_parser = mock.MagicMock()
243 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
244 opnfv_vnf.vnf_type = 'ACL'
245 opnfv_vnf.generate_link_config = mock.Mock()
246 opnfv_vnf.generate_arp_config = mock.Mock()
247 opnfv_vnf.generate_arp_config6 = mock.Mock()
248 opnfv_vnf.generate_action_config = mock.Mock()
249 opnfv_vnf.generate_rule_config = mock.Mock()
250 self.assertIsNotNone(opnfv_vnf.generate_script_data())
252 def test_generate_arp_config6(self):
253 topology_file = mock.Mock()
254 config_tpl = mock.Mock()
255 tmp_file = mock.Mock()
256 vnfd_mock = mock.MagicMock()
257 opnfv_vnf = samplevnf_helper.MultiPortConfig(
258 topology_file, config_tpl, tmp_file, vnfd_mock)
259 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
261 opnfv_vnf.start_core = 0
262 opnfv_vnf.update_write_parser = mock.MagicMock()
263 opnfv_vnf.generate_script_data = \
264 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
265 'arp_config6': '', 'actions': '',
267 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
268 opnfv_vnf.get_port_pairs = mock.Mock()
269 opnfv_vnf.vnf_type = 'VFW'
270 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
271 opnfv_vnf.get_netmask_gateway = mock.Mock(
272 return_value=u'255.255.255.0')
273 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
274 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
275 return_value=u'255.255.255.0')
276 opnfv_vnf.txrx_pipeline = ''
278 opnfv_vnf.interfaces = mock.MagicMock()
279 opnfv_vnf.get_ports_gateway6 = mock.Mock()
280 self.assertIsNotNone(opnfv_vnf.generate_arp_config6())
282 def test_generate_arp_config(self):
283 topology_file = mock.Mock()
284 config_tpl = mock.Mock()
285 tmp_file = mock.Mock()
286 vnfd_mock = mock.MagicMock()
287 opnfv_vnf = samplevnf_helper.MultiPortConfig(
288 topology_file, config_tpl, tmp_file, vnfd_mock)
289 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
291 opnfv_vnf.start_core = 0
292 opnfv_vnf.update_write_parser = mock.MagicMock()
293 opnfv_vnf.generate_script_data = \
294 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
295 'arp_config6': '', 'actions': '',
297 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
298 opnfv_vnf.get_port_pairs = mock.Mock()
299 opnfv_vnf.vnf_type = 'VFW'
300 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
301 opnfv_vnf.get_netmask_gateway = mock.Mock(
302 return_value=u'255.255.255.0')
303 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
304 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
305 return_value=u'255.255.255.0')
306 opnfv_vnf.txrx_pipeline = ''
308 opnfv_vnf.interfaces = mock.MagicMock()
309 opnfv_vnf.get_ports_gateway6 = mock.Mock()
310 self.assertIsNotNone(opnfv_vnf.generate_arp_config())
312 def test_get_ports_gateway(self):
313 topology_file = mock.Mock()
314 config_tpl = mock.Mock()
315 tmp_file = mock.Mock()
316 vnfd_mock = mock.MagicMock()
317 opnfv_vnf = samplevnf_helper.MultiPortConfig(
318 topology_file, config_tpl, tmp_file, vnfd_mock)
319 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
321 opnfv_vnf.start_core = 0
322 opnfv_vnf.update_write_parser = mock.MagicMock()
323 opnfv_vnf.generate_script_data = \
324 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
325 'arp_config6': '', 'actions': '',
327 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
328 opnfv_vnf.get_port_pairs = mock.Mock()
329 opnfv_vnf.vnf_type = 'VFW'
330 opnfv_vnf.txrx_pipeline = ''
332 opnfv_vnf.interfaces = mock.MagicMock()
333 opnfv_vnf.get_ports_gateway6 = mock.Mock()
334 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
335 self.assertIsNotNone(opnfv_vnf.get_ports_gateway('xe0'))
337 def test_get_ports_gateway6(self):
338 topology_file = mock.Mock()
339 config_tpl = mock.Mock()
340 tmp_file = mock.Mock()
341 vnfd_mock = mock.MagicMock()
342 opnfv_vnf = samplevnf_helper.MultiPortConfig(
343 topology_file, config_tpl, tmp_file, vnfd_mock)
344 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
346 opnfv_vnf.start_core = 0
347 opnfv_vnf.update_write_parser = mock.MagicMock()
348 opnfv_vnf.generate_script_data = \
349 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
350 'arp_config6': '', 'actions': '',
352 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
353 opnfv_vnf.get_port_pairs = mock.Mock()
354 opnfv_vnf.vnf_type = 'VFW'
355 opnfv_vnf.txrx_pipeline = ''
357 opnfv_vnf.interfaces = mock.MagicMock()
358 opnfv_vnf.get_ports_gateway6 = mock.Mock()
359 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
360 self.assertIsNotNone(opnfv_vnf.get_ports_gateway6('xe0'))
362 def test_get_netmask_gateway(self):
363 topology_file = mock.Mock()
364 config_tpl = mock.Mock()
365 tmp_file = mock.Mock()
366 vnfd_mock = mock.MagicMock()
367 opnfv_vnf = samplevnf_helper.MultiPortConfig(
368 topology_file, config_tpl, tmp_file, vnfd_mock)
369 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
371 opnfv_vnf.start_core = 0
372 opnfv_vnf.update_write_parser = mock.MagicMock()
373 opnfv_vnf.generate_script_data = \
374 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
375 'arp_config6': '', 'actions': '',
377 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
378 opnfv_vnf.get_port_pairs = mock.Mock()
379 opnfv_vnf.vnf_type = 'VFW'
380 opnfv_vnf.txrx_pipeline = ''
382 opnfv_vnf.interfaces = mock.MagicMock()
383 opnfv_vnf.get_ports_gateway6 = mock.Mock()
384 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
385 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway('xe0'))
387 def test_get_netmask_gateway6(self):
388 topology_file = mock.Mock()
389 config_tpl = mock.Mock()
390 tmp_file = mock.Mock()
391 vnfd_mock = mock.MagicMock()
392 opnfv_vnf = samplevnf_helper.MultiPortConfig(
393 topology_file, config_tpl, tmp_file, vnfd_mock)
394 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
396 opnfv_vnf.start_core = 0
397 opnfv_vnf.update_write_parser = mock.MagicMock()
398 opnfv_vnf.generate_script_data = \
399 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
400 'arp_config6': '', 'actions': '',
402 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
403 opnfv_vnf.get_port_pairs = mock.Mock()
404 opnfv_vnf.vnf_type = 'VFW'
405 opnfv_vnf.txrx_pipeline = ''
407 opnfv_vnf.interfaces = mock.MagicMock()
408 opnfv_vnf.get_ports_gateway6 = mock.Mock()
409 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
410 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway6('xe0'))
412 def test_generate_link_config(self):
413 topology_file = mock.Mock()
414 config_tpl = mock.Mock()
415 tmp_file = mock.Mock()
416 vnfd_mock = mock.MagicMock()
418 opnfv_vnf = samplevnf_helper.MultiPortConfig(
419 topology_file, config_tpl, tmp_file, vnfd_mock)
420 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
422 opnfv_vnf.start_core = 0
423 opnfv_vnf.update_write_parser = mock.MagicMock()
424 opnfv_vnf.generate_script_data = \
425 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
426 'arp_config6': '', 'actions': '',
428 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
429 opnfv_vnf.get_port_pairs = mock.Mock()
430 opnfv_vnf.vnf_type = 'VFW'
431 opnfv_vnf.txrx_pipeline = ''
433 opnfv_vnf.get_ports_gateway6 = mock.Mock()
434 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
435 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
436 opnfv_vnf.all_ports = ['32', '1', '987']
437 opnfv_vnf.validate_ip_and_prefixlen = mock.Mock(
438 return_value=('10.20.30.40', 16))
440 result = opnfv_vnf.generate_link_config()
441 self.assertEqual(len(result.splitlines()), 9)
443 def test_generate_config(self):
444 topology_file = mock.Mock()
445 config_tpl = mock.Mock()
446 tmp_file = mock.Mock()
447 vnfd_mock = mock.MagicMock()
448 opnfv_vnf = samplevnf_helper.MultiPortConfig(
449 topology_file, config_tpl, tmp_file, vnfd_mock)
450 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
452 opnfv_vnf.start_core = 0
453 opnfv_vnf.update_write_parser = mock.MagicMock()
454 opnfv_vnf.generate_script_data = \
455 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
456 'arp_config6': '', 'actions': '',
458 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
459 opnfv_vnf.txrx_pipeline = ''
461 opnfv_vnf.get_ports_gateway6 = mock.Mock()
462 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
463 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
464 opnfv_vnf.generate_lb_to_port_pair_mapping = mock.Mock()
465 opnfv_vnf.generate_config_data = mock.Mock()
466 opnfv_vnf.write_parser = mock.MagicMock()
467 opnfv_vnf.is_openstack = True
468 self.assertIsNone(opnfv_vnf.generate_config())
469 opnfv_vnf.is_openstack = False
470 self.assertIsNone(opnfv_vnf.generate_config())
472 def test_get_config_tpl_data(self):
473 topology_file = mock.Mock()
474 config_tpl = mock.Mock()
475 tmp_file = mock.Mock()
476 vnfd_mock = mock.MagicMock()
477 opnfv_vnf = samplevnf_helper.MultiPortConfig(
478 topology_file, config_tpl, tmp_file, vnfd_mock)
480 opnfv_vnf.start_core = 0
481 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
482 opnfv_vnf.txrx_pipeline = ''
484 opnfv_vnf.write_parser = mock.MagicMock()
485 opnfv_vnf.read_parser = mock.MagicMock()
486 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
487 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
488 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
490 self.assertIsNotNone(opnfv_vnf.get_config_tpl_data('filename'))
492 def test_get_txrx_tpl_data(self):
493 topology_file = mock.Mock()
494 config_tpl = mock.Mock()
495 tmp_file = mock.Mock()
496 vnfd_mock = mock.MagicMock()
497 opnfv_vnf = samplevnf_helper.MultiPortConfig(
498 topology_file, config_tpl, tmp_file, vnfd_mock)
500 opnfv_vnf.start_core = 0
501 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
502 opnfv_vnf.txrx_pipeline = ''
504 opnfv_vnf.write_parser = mock.MagicMock()
505 opnfv_vnf.read_parser = mock.MagicMock()
506 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
507 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
508 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
510 self.assertIsNotNone(opnfv_vnf.get_txrx_tpl_data('filename'))
512 def test_init_write_parser_template(self):
513 topology_file = mock.Mock()
514 config_tpl = mock.Mock()
515 tmp_file = mock.Mock()
516 vnfd_mock = mock.MagicMock()
517 opnfv_vnf = samplevnf_helper.MultiPortConfig(
518 topology_file, config_tpl, tmp_file, vnfd_mock)
520 opnfv_vnf.start_core = 0
521 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
522 opnfv_vnf.txrx_pipeline = ''
524 opnfv_vnf.write_parser = mock.MagicMock()
525 opnfv_vnf.read_parser = mock.MagicMock()
526 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
527 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
528 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
530 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
531 opnfv_vnf.write_parser.add_section = mock.MagicMock()
532 opnfv_vnf.read_parser.item = mock.Mock(return_value=[1, 2, 3])
533 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=False)
534 opnfv_vnf.write_parser.set = mock.Mock()
535 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
537 def test_init_write_parser_template_2(self):
538 topology_file = mock.Mock()
539 config_tpl = mock.Mock()
540 tmp_file = mock.Mock()
541 vnfd_mock = mock.MagicMock()
542 opnfv_vnf = samplevnf_helper.MultiPortConfig(
543 topology_file, config_tpl, tmp_file, vnfd_mock)
545 opnfv_vnf.start_core = 0
546 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
547 opnfv_vnf.txrx_pipeline = ''
549 opnfv_vnf.write_parser = mock.MagicMock()
550 opnfv_vnf.read_parser = mock.MagicMock()
551 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
552 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
553 opnfv_vnf.write_parser.set = mock.Mock()
554 opnfv_vnf.read_parser.items = mock.MagicMock()
555 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
557 def test_update_write_parser(self):
558 topology_file = mock.Mock()
559 config_tpl = mock.Mock()
560 tmp_file = mock.Mock()
561 vnfd_mock = mock.MagicMock()
562 opnfv_vnf = samplevnf_helper.MultiPortConfig(
563 topology_file, config_tpl, tmp_file, vnfd_mock)
565 opnfv_vnf.start_core = 0
566 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
567 opnfv_vnf.txrx_pipeline = ''
569 opnfv_vnf.write_parser = mock.MagicMock()
570 opnfv_vnf.read_parser = mock.MagicMock()
571 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
572 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
573 opnfv_vnf.write_parser.set = mock.Mock()
574 opnfv_vnf.write_parser.add_section = mock.Mock()
575 opnfv_vnf.read_parser.items = mock.MagicMock()
576 opnfv_vnf.pipeline_counter = 0
577 self.assertIsNone(opnfv_vnf.update_write_parser({'filename': 1}))
579 def test_get_worker_threads(self):
580 topology_file = mock.Mock()
581 config_tpl = mock.Mock()
582 tmp_file = mock.Mock()
583 vnfd_mock = mock.MagicMock()
584 opnfv_vnf = samplevnf_helper.MultiPortConfig(
585 topology_file, config_tpl, tmp_file, vnfd_mock)
587 opnfv_vnf.start_core = 0
588 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
589 opnfv_vnf.txrx_pipeline = ''
591 opnfv_vnf.write_parser = mock.MagicMock()
592 opnfv_vnf.read_parser = mock.MagicMock()
593 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
594 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
595 opnfv_vnf.write_parser.set = mock.Mock()
596 opnfv_vnf.write_parser.add_section = mock.Mock()
597 opnfv_vnf.read_parser.items = mock.MagicMock()
598 opnfv_vnf.pipeline_counter = 0
599 opnfv_vnf.worker_config = '1t'
600 result = opnfv_vnf.get_worker_threads(1)
601 self.assertEqual(1, result)
602 opnfv_vnf.worker_config = '2t'
603 result = opnfv_vnf.get_worker_threads(2)
604 self.assertEqual(2, result)
605 opnfv_vnf.worker_config = '2t'
606 result = opnfv_vnf.get_worker_threads(3)
607 self.assertEqual(2, result)
609 # TODO(elfoley): Split this test into smaller tests
610 def test_generate_next_core_id(self):
611 topology_file = mock.Mock()
612 config_tpl = mock.Mock()
613 tmp_file = mock.Mock()
614 vnfd_mock = mock.MagicMock()
615 opnfv_vnf = samplevnf_helper.MultiPortConfig(
616 topology_file, config_tpl, tmp_file, vnfd_mock)
618 opnfv_vnf.start_core = 0
619 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
620 opnfv_vnf.txrx_pipeline = ''
622 opnfv_vnf.write_parser = mock.MagicMock()
623 opnfv_vnf.read_parser = mock.MagicMock()
624 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
625 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
626 opnfv_vnf.write_parser.set = mock.Mock()
627 opnfv_vnf.write_parser.add_section = mock.Mock()
628 opnfv_vnf.read_parser.items = mock.MagicMock()
629 opnfv_vnf.pipeline_counter = 0
630 opnfv_vnf.worker_config = '1t'
631 opnfv_vnf.start_core = 0
632 result = opnfv_vnf.generate_next_core_id()
633 self.assertIsNone(result)
634 opnfv_vnf.worker_config = '2t'
635 opnfv_vnf.start_core = 'a'
636 self.assertRaises(ValueError, opnfv_vnf.generate_next_core_id)
637 opnfv_vnf.worker_config = '2t'
638 opnfv_vnf.start_core = 1
639 result = opnfv_vnf.generate_next_core_id()
640 self.assertIsNone(result)
642 def test_generate_lb_to_port_pair_mapping(self):
643 topology_file = mock.Mock()
644 config_tpl = mock.Mock()
645 tmp_file = mock.Mock()
646 vnfd_mock = VnfdHelper(self.VNFD_0)
647 opnfv_vnf = samplevnf_helper.MultiPortConfig(
648 topology_file, config_tpl, tmp_file, vnfd_mock)
650 opnfv_vnf.start_core = 0
651 opnfv_vnf.txrx_pipeline = ''
653 opnfv_vnf.write_parser = mock.MagicMock()
654 opnfv_vnf.read_parser = mock.MagicMock()
655 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
656 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
657 opnfv_vnf.write_parser.set = mock.Mock()
658 opnfv_vnf.write_parser.add_section = mock.Mock()
659 opnfv_vnf.read_parser.items = mock.MagicMock()
660 opnfv_vnf.pipeline_counter = 0
661 opnfv_vnf.worker_config = '1t'
662 opnfv_vnf.start_core = 0
663 opnfv_vnf.lb_count = 1
664 opnfv_vnf._port_pairs = samplevnf_helper.PortPairs(vnfd_mock.interfaces)
665 opnfv_vnf.port_pair_list = opnfv_vnf._port_pairs.port_pair_list
666 result = opnfv_vnf.generate_lb_to_port_pair_mapping()
667 self.assertIsNone(result)
668 result = opnfv_vnf.set_priv_to_pub_mapping()
669 self.assertEqual('(0,1)', result)
671 def test_set_priv_que_handler(self):
672 topology_file = mock.Mock()
673 config_tpl = mock.Mock()
674 tmp_file = mock.Mock()
675 vnfd_mock = VnfdHelper(self.VNFD_0)
676 opnfv_vnf = samplevnf_helper.MultiPortConfig(
677 topology_file, config_tpl, tmp_file, vnfd_mock)
679 opnfv_vnf.start_core = 0
680 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
681 opnfv_vnf.port_pairs = [("xe0", "xe1")]
682 opnfv_vnf.txrx_pipeline = ''
684 opnfv_vnf.write_parser = mock.MagicMock()
685 opnfv_vnf.read_parser = mock.MagicMock()
686 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
687 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
688 opnfv_vnf.write_parser.set = mock.Mock()
689 opnfv_vnf.write_parser.add_section = mock.Mock()
690 opnfv_vnf.read_parser.items = mock.MagicMock()
691 opnfv_vnf.pipeline_counter = 0
692 opnfv_vnf.worker_config = '1t'
693 opnfv_vnf.start_core = 0
694 opnfv_vnf.lb_count = 1
695 result = opnfv_vnf.set_priv_que_handler()
696 self.assertIsNone(result)
698 def test_generate_arp_route_tbl(self):
699 topology_file = mock.Mock()
700 config_tpl = mock.Mock()
702 vnfd_mock = mock.MagicMock()
703 vnfd_mock.port_num.side_effect = ['32', '1', '987']
704 vnfd_mock.find_interface.side_effect = [
706 'virtual-interface': {
707 'dst_ip': '10.20.30.40',
712 'virtual-interface': {
713 'dst_ip': '10.200.30.40',
718 'virtual-interface': {
719 'dst_ip': '10.20.3.40',
725 opnfv_vnf = samplevnf_helper.MultiPortConfig(
726 topology_file, config_tpl, tmp_file, vnfd_mock)
727 opnfv_vnf.all_ports = [3, 2, 5]
729 expected = 'routeadd net 32 10.20.30.40 0xfffff000\n' \
730 'routeadd net 1 10.200.30.40 0xffffff00\n' \
731 'routeadd net 987 10.20.3.40 0xff000000'
732 result = opnfv_vnf.generate_arp_route_tbl()
733 self.assertEqual(result, expected)
735 def test_generate_arpicmp_data(self):
736 topology_file = mock.Mock()
737 config_tpl = mock.Mock()
738 tmp_file = mock.Mock()
739 vnfd_mock = mock.MagicMock()
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 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
760 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
761 result = opnfv_vnf.generate_arpicmp_data()
762 self.assertIsNotNone(result)
763 opnfv_vnf.nfv_type = 'ovs'
764 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
765 result = opnfv_vnf.generate_arpicmp_data()
766 self.assertIsNotNone(result)
767 opnfv_vnf.nfv_type = 'openstack'
768 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
769 result = opnfv_vnf.generate_arpicmp_data()
770 self.assertIsNotNone(result)
771 opnfv_vnf.lb_config = 'HW'
772 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
773 result = opnfv_vnf.generate_arpicmp_data()
774 self.assertIsNotNone(result)
776 def test_generate_final_txrx_data(self):
777 topology_file = mock.Mock()
778 config_tpl = mock.Mock()
779 tmp_file = mock.Mock()
780 vnfd_mock = mock.MagicMock()
781 opnfv_vnf = samplevnf_helper.MultiPortConfig(
782 topology_file, config_tpl, tmp_file, vnfd_mock)
784 opnfv_vnf.start_core = 0
785 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
786 opnfv_vnf.port_pairs = [("xe0", "xe1")]
787 opnfv_vnf.txrx_pipeline = ''
789 opnfv_vnf.write_parser = mock.MagicMock()
790 opnfv_vnf.read_parser = mock.MagicMock()
791 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
792 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
793 opnfv_vnf.write_parser.set = mock.Mock()
794 opnfv_vnf.write_parser.add_section = mock.Mock()
795 opnfv_vnf.read_parser.items = mock.MagicMock()
796 opnfv_vnf.pipeline_counter = 0
797 opnfv_vnf.worker_config = '1t'
798 opnfv_vnf.start_core = 0
799 opnfv_vnf.lb_count = 1
800 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
801 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
802 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
803 opnfv_vnf.ports_len = 2
804 opnfv_vnf.lb_index = 1
805 opnfv_vnf.pktq_out_os = [1, 2]
806 result = opnfv_vnf.generate_final_txrx_data()
807 self.assertIsNotNone(result)
808 opnfv_vnf.nfv_type = 'openstack'
809 opnfv_vnf.pktq_out_os = [1, 2]
810 opnfv_vnf.lb_index = 1
811 result = opnfv_vnf.generate_final_txrx_data()
812 self.assertIsNotNone(result)
814 def test_generate_initial_txrx_data(self):
815 topology_file = mock.Mock()
816 config_tpl = mock.Mock()
817 tmp_file = mock.Mock()
818 vnfd_mock = mock.MagicMock()
819 opnfv_vnf = samplevnf_helper.MultiPortConfig(
820 topology_file, config_tpl, tmp_file, vnfd_mock)
822 opnfv_vnf.start_core = 0
823 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
824 opnfv_vnf.port_pairs = [("xe0", "xe1")]
825 opnfv_vnf.txrx_pipeline = ''
827 opnfv_vnf.write_parser = mock.MagicMock()
828 opnfv_vnf.read_parser = mock.MagicMock()
829 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
830 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
831 opnfv_vnf.write_parser.set = mock.Mock()
832 opnfv_vnf.write_parser.add_section = mock.Mock()
833 opnfv_vnf.read_parser.items = mock.MagicMock()
834 opnfv_vnf.pipeline_counter = 0
835 opnfv_vnf.worker_config = '1t'
836 opnfv_vnf.start_core = 0
837 opnfv_vnf.lb_count = 1
838 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
839 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
840 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
841 opnfv_vnf.lb_index = 1
842 opnfv_vnf.ports_len = 2
843 result = opnfv_vnf.generate_initial_txrx_data()
844 self.assertIsNotNone(result)
845 opnfv_vnf.nfv_type = 'openstack'
846 opnfv_vnf.pktq_out_os = [1, 2]
847 result = opnfv_vnf.generate_initial_txrx_data()
848 self.assertIsNotNone(result)
849 opnfv_vnf.nfv_type = 'ovs'
850 opnfv_vnf.init_ovs = False
851 opnfv_vnf.ovs_pktq_out = ''
852 opnfv_vnf.pktq_out_os = [1, 2]
853 opnfv_vnf.lb_index = 1
854 result = opnfv_vnf.generate_initial_txrx_data()
855 self.assertIsNotNone(result)
856 opnfv_vnf.nfv_type = 'ovs'
857 opnfv_vnf.init_ovs = True
858 opnfv_vnf.pktq_out_os = [1, 2]
859 opnfv_vnf.ovs_pktq_out = ''
860 opnfv_vnf.lb_index = 1
861 result = opnfv_vnf.generate_initial_txrx_data()
862 self.assertIsNotNone(result)
864 def test_generate_lb_data(self):
865 topology_file = mock.Mock()
866 config_tpl = mock.Mock()
867 tmp_file = mock.Mock()
868 vnfd_mock = mock.MagicMock()
869 opnfv_vnf = samplevnf_helper.MultiPortConfig(
870 topology_file, config_tpl, tmp_file, vnfd_mock)
872 opnfv_vnf.start_core = 0
873 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
874 opnfv_vnf.port_pairs = [("xe0", "xe1")]
875 opnfv_vnf.txrx_pipeline = ''
877 opnfv_vnf.write_parser = mock.MagicMock()
878 opnfv_vnf.read_parser = mock.MagicMock()
879 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
880 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
881 opnfv_vnf.write_parser.set = mock.Mock()
882 opnfv_vnf.write_parser.add_section = mock.Mock()
883 opnfv_vnf.read_parser.items = mock.MagicMock()
884 opnfv_vnf.pipeline_counter = 0
885 opnfv_vnf.worker_config = '1t'
886 opnfv_vnf.start_core = 0
887 opnfv_vnf.lb_count = 1
888 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
889 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
890 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
891 opnfv_vnf.lb_index = 1
892 opnfv_vnf.ports_len = 2
893 opnfv_vnf.prv_que_handler = 0
894 result = opnfv_vnf.generate_lb_data()
895 self.assertIsNotNone(result)
897 def test_generate_vnf_data(self):
898 topology_file = mock.Mock()
899 config_tpl = mock.Mock()
900 tmp_file = mock.Mock()
901 vnfd_mock = mock.MagicMock()
902 opnfv_vnf = samplevnf_helper.MultiPortConfig(
903 topology_file, config_tpl, tmp_file, vnfd_mock)
905 opnfv_vnf.start_core = 0
906 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
907 opnfv_vnf.port_pairs = [("xe0", "xe1")]
908 opnfv_vnf.txrx_pipeline = ''
910 opnfv_vnf.write_parser = mock.MagicMock()
911 opnfv_vnf.read_parser = mock.MagicMock()
912 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
913 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
914 opnfv_vnf.write_parser.set = mock.Mock()
915 opnfv_vnf.write_parser.add_section = mock.Mock()
916 opnfv_vnf.read_parser.items = mock.MagicMock()
917 opnfv_vnf.pipeline_counter = 0
918 opnfv_vnf.worker_config = '1t'
919 opnfv_vnf.start_core = 0
920 opnfv_vnf.lb_count = 1
921 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
922 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
923 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
924 opnfv_vnf.lb_index = 1
925 opnfv_vnf.ports_len = 1
926 opnfv_vnf.pktq_out = ['1', '2']
927 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810',
928 'vnf_set': '(2,4,5)'}
929 opnfv_vnf.prv_que_handler = 0
930 result = opnfv_vnf.generate_vnf_data()
931 self.assertIsNotNone(result)
932 opnfv_vnf.lb_config = 'HW'
934 result = opnfv_vnf.generate_vnf_data()
935 self.assertIsNotNone(result)
936 opnfv_vnf.lb_config = 'HW'
938 opnfv_vnf.vnf_type = 'ACL'
939 result = opnfv_vnf.generate_vnf_data()
940 self.assertIsNotNone(result)
942 def test_generate_config_data(self):
943 topology_file = mock.Mock()
944 config_tpl = mock.Mock()
945 tmp_file = mock.Mock()
946 vnfd_mock = VnfdHelper(self.VNFD_0)
947 opnfv_vnf = samplevnf_helper.MultiPortConfig(
948 topology_file, config_tpl, tmp_file, vnfd_mock)
950 opnfv_vnf.start_core = 0
951 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
952 opnfv_vnf.port_pairs = [("xe0", "xe1")]
953 opnfv_vnf.txrx_pipeline = ''
955 opnfv_vnf.write_parser = mock.MagicMock()
956 opnfv_vnf.read_parser = mock.MagicMock()
957 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
958 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
959 opnfv_vnf.write_parser.set = mock.Mock()
960 opnfv_vnf.write_parser.add_section = mock.Mock()
961 opnfv_vnf.read_parser.items = mock.MagicMock()
962 opnfv_vnf.pipeline_counter = 0
963 opnfv_vnf.worker_config = '1t'
964 opnfv_vnf.start_core = 0
965 opnfv_vnf.lb_count = 1
966 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
967 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
968 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
969 opnfv_vnf.lb_index = 1
970 opnfv_vnf.ports_len = 1
971 opnfv_vnf.pktq_out = ['1', '2']
972 opnfv_vnf.prv_que_handler = 0
973 opnfv_vnf.init_write_parser_template = mock.Mock()
974 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
975 opnfv_vnf.txrx_tpl = mock.MagicMock()
976 opnfv_vnf.loadb_tpl = mock.MagicMock()
977 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
978 'vnf_set': "(2,4,5)"}
979 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
980 opnfv_vnf.update_write_parser = mock.Mock()
981 result = opnfv_vnf.generate_config_data()
982 self.assertIsNone(result)
983 opnfv_vnf.generate_final_txrx_data = mock.Mock()
984 opnfv_vnf.update_write_parser = mock.Mock()
985 result = opnfv_vnf.generate_config_data()
986 self.assertIsNone(result)
987 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
988 opnfv_vnf.lb_index = 1
989 opnfv_vnf.ports_len = 1
990 opnfv_vnf.pktq_out = ['1', '2']
991 opnfv_vnf.prv_que_handler = 0
992 opnfv_vnf.init_write_parser_template = mock.Mock()
993 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
994 opnfv_vnf.txrx_tpl = mock.MagicMock()
995 opnfv_vnf.loadb_tpl = mock.MagicMock()
996 opnfv_vnf.vnf_type = 'CGNAPT'
997 opnfv_vnf.update_timer = mock.Mock()
998 opnfv_vnf.port_pair_list = [("xe0", "xe1"), ("xe0", "xe2")]
999 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1000 opnfv_vnf.generate_arpicmp_data = mock.Mock()
1001 result = opnfv_vnf.generate_config_data()
1002 self.assertIsNone(result)
1004 def test_init_eal(self):
1005 topology_file = mock.Mock()
1006 config_tpl = mock.Mock()
1007 tmp_file = mock.Mock()
1008 vnfd_mock = mock.MagicMock()
1009 opnfv_vnf = samplevnf_helper.MultiPortConfig(
1010 topology_file, config_tpl, tmp_file, vnfd_mock)
1011 opnfv_vnf.socket = 0
1012 opnfv_vnf.start_core = 0
1013 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
1014 opnfv_vnf.port_pairs = [("xe0", "xe1")]
1015 opnfv_vnf.txrx_pipeline = ''
1016 opnfv_vnf.rules = ''
1017 opnfv_vnf.write_parser = mock.MagicMock()
1018 opnfv_vnf.read_parser = mock.MagicMock()
1019 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1020 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1021 opnfv_vnf.write_parser.set = mock.Mock()
1022 opnfv_vnf.write_parser.add_section = mock.Mock()
1023 opnfv_vnf.read_parser.items = mock.MagicMock()
1024 opnfv_vnf.pipeline_counter = 0
1025 opnfv_vnf.worker_config = '1t'
1026 opnfv_vnf.start_core = 0
1027 opnfv_vnf.lb_count = 1
1028 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1029 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1030 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1031 opnfv_vnf.lb_index = 1
1032 opnfv_vnf.ports_len = 1
1033 opnfv_vnf.pktq_out = ['1', '2']
1034 opnfv_vnf.prv_que_handler = 0
1035 opnfv_vnf.init_write_parser_template = mock.Mock()
1036 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1037 opnfv_vnf.txrx_tpl = mock.MagicMock()
1038 opnfv_vnf.loadb_tpl = mock.MagicMock()
1039 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)'}
1040 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1041 opnfv_vnf.update_write_parser = mock.Mock()
1042 opnfv_vnf.tmp_file = "/tmp/config"
1043 result = opnfv_vnf.init_eal()
1044 self.assertIsNone(result)