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_rule_config(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 = 'ACL'
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 = ''
277 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
278 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
280 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
281 opnfv_vnf.rules = 'new'
282 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
284 def test_generate_action_config(self):
285 topology_file = mock.Mock()
286 config_tpl = mock.Mock()
287 tmp_file = mock.Mock()
288 vnfd_mock = mock.MagicMock()
289 opnfv_vnf = samplevnf_helper.MultiPortConfig(
290 topology_file, config_tpl, tmp_file, vnfd_mock)
291 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
293 opnfv_vnf.start_core = 0
294 opnfv_vnf.update_write_parser = mock.MagicMock()
295 opnfv_vnf.generate_script_data = \
296 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
297 'arp_config6': '', 'actions': '',
299 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
300 opnfv_vnf.get_port_pairs = mock.Mock()
301 opnfv_vnf.vnf_type = 'VFW'
302 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
303 opnfv_vnf.get_netmask_gateway = mock.Mock(
304 return_value=u'255.255.255.0')
305 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
306 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
307 return_value=u'255.255.255.0')
308 opnfv_vnf.txrx_pipeline = ''
310 self.assertIsNotNone(opnfv_vnf.generate_action_config())
312 def test_generate_arp_config6(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.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
331 opnfv_vnf.get_netmask_gateway = mock.Mock(
332 return_value=u'255.255.255.0')
333 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
334 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
335 return_value=u'255.255.255.0')
336 opnfv_vnf.txrx_pipeline = ''
338 opnfv_vnf.interfaces = mock.MagicMock()
339 opnfv_vnf.get_ports_gateway6 = mock.Mock()
340 self.assertIsNotNone(opnfv_vnf.generate_arp_config6())
342 def test_generate_arp_config(self):
343 topology_file = mock.Mock()
344 config_tpl = mock.Mock()
345 tmp_file = mock.Mock()
346 vnfd_mock = mock.MagicMock()
347 opnfv_vnf = samplevnf_helper.MultiPortConfig(
348 topology_file, config_tpl, tmp_file, vnfd_mock)
349 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
351 opnfv_vnf.start_core = 0
352 opnfv_vnf.update_write_parser = mock.MagicMock()
353 opnfv_vnf.generate_script_data = \
354 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
355 'arp_config6': '', 'actions': '',
357 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
358 opnfv_vnf.get_port_pairs = mock.Mock()
359 opnfv_vnf.vnf_type = 'VFW'
360 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
361 opnfv_vnf.get_netmask_gateway = mock.Mock(
362 return_value=u'255.255.255.0')
363 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
364 opnfv_vnf.get_netmask_gateway6 = mock.Mock(
365 return_value=u'255.255.255.0')
366 opnfv_vnf.txrx_pipeline = ''
368 opnfv_vnf.interfaces = mock.MagicMock()
369 opnfv_vnf.get_ports_gateway6 = mock.Mock()
370 self.assertIsNotNone(opnfv_vnf.generate_arp_config())
372 def test_get_ports_gateway(self):
373 topology_file = mock.Mock()
374 config_tpl = mock.Mock()
375 tmp_file = mock.Mock()
376 vnfd_mock = mock.MagicMock()
377 opnfv_vnf = samplevnf_helper.MultiPortConfig(
378 topology_file, config_tpl, tmp_file, vnfd_mock)
379 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
381 opnfv_vnf.start_core = 0
382 opnfv_vnf.update_write_parser = mock.MagicMock()
383 opnfv_vnf.generate_script_data = \
384 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
385 'arp_config6': '', 'actions': '',
387 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
388 opnfv_vnf.get_port_pairs = mock.Mock()
389 opnfv_vnf.vnf_type = 'VFW'
390 opnfv_vnf.txrx_pipeline = ''
392 opnfv_vnf.interfaces = mock.MagicMock()
393 opnfv_vnf.get_ports_gateway6 = mock.Mock()
394 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
395 self.assertIsNotNone(opnfv_vnf.get_ports_gateway('xe0'))
397 def test_get_ports_gateway6(self):
398 topology_file = mock.Mock()
399 config_tpl = mock.Mock()
400 tmp_file = mock.Mock()
401 vnfd_mock = mock.MagicMock()
402 opnfv_vnf = samplevnf_helper.MultiPortConfig(
403 topology_file, config_tpl, tmp_file, vnfd_mock)
404 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
406 opnfv_vnf.start_core = 0
407 opnfv_vnf.update_write_parser = mock.MagicMock()
408 opnfv_vnf.generate_script_data = \
409 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
410 'arp_config6': '', 'actions': '',
412 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
413 opnfv_vnf.get_port_pairs = mock.Mock()
414 opnfv_vnf.vnf_type = 'VFW'
415 opnfv_vnf.txrx_pipeline = ''
417 opnfv_vnf.interfaces = mock.MagicMock()
418 opnfv_vnf.get_ports_gateway6 = mock.Mock()
419 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
420 self.assertIsNotNone(opnfv_vnf.get_ports_gateway6('xe0'))
422 def test_get_netmask_gateway(self):
423 topology_file = mock.Mock()
424 config_tpl = mock.Mock()
425 tmp_file = mock.Mock()
426 vnfd_mock = mock.MagicMock()
427 opnfv_vnf = samplevnf_helper.MultiPortConfig(
428 topology_file, config_tpl, tmp_file, vnfd_mock)
429 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
431 opnfv_vnf.start_core = 0
432 opnfv_vnf.update_write_parser = mock.MagicMock()
433 opnfv_vnf.generate_script_data = \
434 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
435 'arp_config6': '', 'actions': '',
437 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
438 opnfv_vnf.get_port_pairs = mock.Mock()
439 opnfv_vnf.vnf_type = 'VFW'
440 opnfv_vnf.txrx_pipeline = ''
442 opnfv_vnf.interfaces = mock.MagicMock()
443 opnfv_vnf.get_ports_gateway6 = mock.Mock()
444 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
445 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway('xe0'))
447 def test_get_netmask_gateway6(self):
448 topology_file = mock.Mock()
449 config_tpl = mock.Mock()
450 tmp_file = mock.Mock()
451 vnfd_mock = mock.MagicMock()
452 opnfv_vnf = samplevnf_helper.MultiPortConfig(
453 topology_file, config_tpl, tmp_file, vnfd_mock)
454 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
456 opnfv_vnf.start_core = 0
457 opnfv_vnf.update_write_parser = mock.MagicMock()
458 opnfv_vnf.generate_script_data = \
459 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
460 'arp_config6': '', 'actions': '',
462 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
463 opnfv_vnf.get_port_pairs = mock.Mock()
464 opnfv_vnf.vnf_type = 'VFW'
465 opnfv_vnf.txrx_pipeline = ''
467 opnfv_vnf.interfaces = mock.MagicMock()
468 opnfv_vnf.get_ports_gateway6 = mock.Mock()
469 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
470 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway6('xe0'))
472 def test_generate_link_config(self):
473 topology_file = mock.Mock()
474 config_tpl = mock.Mock()
475 tmp_file = mock.Mock()
476 vnfd_mock = mock.MagicMock()
478 opnfv_vnf = samplevnf_helper.MultiPortConfig(
479 topology_file, config_tpl, tmp_file, vnfd_mock)
480 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
482 opnfv_vnf.start_core = 0
483 opnfv_vnf.update_write_parser = mock.MagicMock()
484 opnfv_vnf.generate_script_data = \
485 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
486 'arp_config6': '', 'actions': '',
488 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
489 opnfv_vnf.get_port_pairs = mock.Mock()
490 opnfv_vnf.vnf_type = 'VFW'
491 opnfv_vnf.txrx_pipeline = ''
493 opnfv_vnf.get_ports_gateway6 = mock.Mock()
494 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
495 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
496 opnfv_vnf.all_ports = ['32', '1', '987']
497 opnfv_vnf.validate_ip_and_prefixlen = mock.Mock(
498 return_value=('10.20.30.40', 16))
500 result = opnfv_vnf.generate_link_config()
501 self.assertEqual(len(result.splitlines()), 9)
503 def test_generate_config(self):
504 topology_file = mock.Mock()
505 config_tpl = mock.Mock()
506 tmp_file = mock.Mock()
507 vnfd_mock = mock.MagicMock()
508 opnfv_vnf = samplevnf_helper.MultiPortConfig(
509 topology_file, config_tpl, tmp_file, vnfd_mock)
510 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
512 opnfv_vnf.start_core = 0
513 opnfv_vnf.update_write_parser = mock.MagicMock()
514 opnfv_vnf.generate_script_data = \
515 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
516 'arp_config6': '', 'actions': '',
518 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
519 opnfv_vnf.txrx_pipeline = ''
521 opnfv_vnf.get_ports_gateway6 = mock.Mock()
522 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
523 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
524 opnfv_vnf.generate_lb_to_port_pair_mapping = mock.Mock()
525 opnfv_vnf.generate_config_data = mock.Mock()
526 opnfv_vnf.write_parser = mock.MagicMock()
527 opnfv_vnf.is_openstack = True
528 self.assertIsNone(opnfv_vnf.generate_config())
529 opnfv_vnf.is_openstack = False
530 self.assertIsNone(opnfv_vnf.generate_config())
532 def test_get_config_tpl_data(self):
533 topology_file = mock.Mock()
534 config_tpl = mock.Mock()
535 tmp_file = mock.Mock()
536 vnfd_mock = mock.MagicMock()
537 opnfv_vnf = samplevnf_helper.MultiPortConfig(
538 topology_file, config_tpl, tmp_file, vnfd_mock)
540 opnfv_vnf.start_core = 0
541 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
542 opnfv_vnf.txrx_pipeline = ''
544 opnfv_vnf.write_parser = mock.MagicMock()
545 opnfv_vnf.read_parser = mock.MagicMock()
546 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
547 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
548 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
550 self.assertIsNotNone(opnfv_vnf.get_config_tpl_data('filename'))
552 def test_get_txrx_tpl_data(self):
553 topology_file = mock.Mock()
554 config_tpl = mock.Mock()
555 tmp_file = mock.Mock()
556 vnfd_mock = mock.MagicMock()
557 opnfv_vnf = samplevnf_helper.MultiPortConfig(
558 topology_file, config_tpl, tmp_file, vnfd_mock)
560 opnfv_vnf.start_core = 0
561 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
562 opnfv_vnf.txrx_pipeline = ''
564 opnfv_vnf.write_parser = mock.MagicMock()
565 opnfv_vnf.read_parser = mock.MagicMock()
566 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
567 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
568 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
570 self.assertIsNotNone(opnfv_vnf.get_txrx_tpl_data('filename'))
572 def test_init_write_parser_template(self):
573 topology_file = mock.Mock()
574 config_tpl = mock.Mock()
575 tmp_file = mock.Mock()
576 vnfd_mock = mock.MagicMock()
577 opnfv_vnf = samplevnf_helper.MultiPortConfig(
578 topology_file, config_tpl, tmp_file, vnfd_mock)
580 opnfv_vnf.start_core = 0
581 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
582 opnfv_vnf.txrx_pipeline = ''
584 opnfv_vnf.write_parser = mock.MagicMock()
585 opnfv_vnf.read_parser = mock.MagicMock()
586 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
587 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
588 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
590 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
591 opnfv_vnf.write_parser.add_section = mock.MagicMock()
592 opnfv_vnf.read_parser.item = mock.Mock(return_value=[1, 2, 3])
593 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=False)
594 opnfv_vnf.write_parser.set = mock.Mock()
595 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
597 def test_init_write_parser_template_2(self):
598 topology_file = mock.Mock()
599 config_tpl = mock.Mock()
600 tmp_file = mock.Mock()
601 vnfd_mock = mock.MagicMock()
602 opnfv_vnf = samplevnf_helper.MultiPortConfig(
603 topology_file, config_tpl, tmp_file, vnfd_mock)
605 opnfv_vnf.start_core = 0
606 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
607 opnfv_vnf.txrx_pipeline = ''
609 opnfv_vnf.write_parser = mock.MagicMock()
610 opnfv_vnf.read_parser = mock.MagicMock()
611 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
612 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
613 opnfv_vnf.write_parser.set = mock.Mock()
614 opnfv_vnf.read_parser.items = mock.MagicMock()
615 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
617 def test_update_write_parser(self):
618 topology_file = mock.Mock()
619 config_tpl = mock.Mock()
620 tmp_file = mock.Mock()
621 vnfd_mock = mock.MagicMock()
622 opnfv_vnf = samplevnf_helper.MultiPortConfig(
623 topology_file, config_tpl, tmp_file, vnfd_mock)
625 opnfv_vnf.start_core = 0
626 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
627 opnfv_vnf.txrx_pipeline = ''
629 opnfv_vnf.write_parser = mock.MagicMock()
630 opnfv_vnf.read_parser = mock.MagicMock()
631 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
632 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
633 opnfv_vnf.write_parser.set = mock.Mock()
634 opnfv_vnf.write_parser.add_section = mock.Mock()
635 opnfv_vnf.read_parser.items = mock.MagicMock()
636 opnfv_vnf.pipeline_counter = 0
637 self.assertIsNone(opnfv_vnf.update_write_parser({'filename': 1}))
639 def test_get_worker_threads(self):
640 topology_file = mock.Mock()
641 config_tpl = mock.Mock()
642 tmp_file = mock.Mock()
643 vnfd_mock = mock.MagicMock()
644 opnfv_vnf = samplevnf_helper.MultiPortConfig(
645 topology_file, config_tpl, tmp_file, vnfd_mock)
647 opnfv_vnf.start_core = 0
648 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
649 opnfv_vnf.txrx_pipeline = ''
651 opnfv_vnf.write_parser = mock.MagicMock()
652 opnfv_vnf.read_parser = mock.MagicMock()
653 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
654 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
655 opnfv_vnf.write_parser.set = mock.Mock()
656 opnfv_vnf.write_parser.add_section = mock.Mock()
657 opnfv_vnf.read_parser.items = mock.MagicMock()
658 opnfv_vnf.pipeline_counter = 0
659 opnfv_vnf.worker_config = '1t'
660 result = opnfv_vnf.get_worker_threads(1)
661 self.assertEqual(1, result)
662 opnfv_vnf.worker_config = '2t'
663 result = opnfv_vnf.get_worker_threads(2)
664 self.assertEqual(2, result)
665 opnfv_vnf.worker_config = '2t'
666 result = opnfv_vnf.get_worker_threads(3)
667 self.assertEqual(2, result)
669 # TODO(elfoley): Split this test into smaller tests
670 def test_generate_next_core_id(self):
671 topology_file = mock.Mock()
672 config_tpl = mock.Mock()
673 tmp_file = mock.Mock()
674 vnfd_mock = mock.MagicMock()
675 opnfv_vnf = samplevnf_helper.MultiPortConfig(
676 topology_file, config_tpl, tmp_file, vnfd_mock)
678 opnfv_vnf.start_core = 0
679 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
680 opnfv_vnf.txrx_pipeline = ''
682 opnfv_vnf.write_parser = mock.MagicMock()
683 opnfv_vnf.read_parser = mock.MagicMock()
684 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
685 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
686 opnfv_vnf.write_parser.set = mock.Mock()
687 opnfv_vnf.write_parser.add_section = mock.Mock()
688 opnfv_vnf.read_parser.items = mock.MagicMock()
689 opnfv_vnf.pipeline_counter = 0
690 opnfv_vnf.worker_config = '1t'
691 opnfv_vnf.start_core = 0
692 result = opnfv_vnf.generate_next_core_id()
693 self.assertIsNone(result)
694 opnfv_vnf.worker_config = '2t'
695 opnfv_vnf.start_core = 'a'
696 self.assertRaises(ValueError, opnfv_vnf.generate_next_core_id)
697 opnfv_vnf.worker_config = '2t'
698 opnfv_vnf.start_core = 1
699 result = opnfv_vnf.generate_next_core_id()
700 self.assertIsNone(result)
702 def test_generate_lb_to_port_pair_mapping(self):
703 topology_file = mock.Mock()
704 config_tpl = mock.Mock()
705 tmp_file = mock.Mock()
706 vnfd_mock = VnfdHelper(self.VNFD_0)
707 opnfv_vnf = samplevnf_helper.MultiPortConfig(
708 topology_file, config_tpl, tmp_file, vnfd_mock)
710 opnfv_vnf.start_core = 0
711 opnfv_vnf.txrx_pipeline = ''
713 opnfv_vnf.write_parser = mock.MagicMock()
714 opnfv_vnf.read_parser = mock.MagicMock()
715 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
716 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
717 opnfv_vnf.write_parser.set = mock.Mock()
718 opnfv_vnf.write_parser.add_section = mock.Mock()
719 opnfv_vnf.read_parser.items = mock.MagicMock()
720 opnfv_vnf.pipeline_counter = 0
721 opnfv_vnf.worker_config = '1t'
722 opnfv_vnf.start_core = 0
723 opnfv_vnf.lb_count = 1
724 opnfv_vnf._port_pairs = samplevnf_helper.PortPairs(vnfd_mock.interfaces)
725 opnfv_vnf.port_pair_list = opnfv_vnf._port_pairs.port_pair_list
726 result = opnfv_vnf.generate_lb_to_port_pair_mapping()
727 self.assertIsNone(result)
728 result = opnfv_vnf.set_priv_to_pub_mapping()
729 self.assertEqual('(0,1)', result)
731 def test_set_priv_que_handler(self):
732 topology_file = mock.Mock()
733 config_tpl = mock.Mock()
734 tmp_file = mock.Mock()
735 vnfd_mock = VnfdHelper(self.VNFD_0)
736 opnfv_vnf = samplevnf_helper.MultiPortConfig(
737 topology_file, config_tpl, tmp_file, vnfd_mock)
739 opnfv_vnf.start_core = 0
740 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
741 opnfv_vnf.port_pairs = [("xe0", "xe1")]
742 opnfv_vnf.txrx_pipeline = ''
744 opnfv_vnf.write_parser = mock.MagicMock()
745 opnfv_vnf.read_parser = mock.MagicMock()
746 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
747 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
748 opnfv_vnf.write_parser.set = mock.Mock()
749 opnfv_vnf.write_parser.add_section = mock.Mock()
750 opnfv_vnf.read_parser.items = mock.MagicMock()
751 opnfv_vnf.pipeline_counter = 0
752 opnfv_vnf.worker_config = '1t'
753 opnfv_vnf.start_core = 0
754 opnfv_vnf.lb_count = 1
755 result = opnfv_vnf.set_priv_que_handler()
756 self.assertIsNone(result)
758 def test_generate_arp_route_tbl(self):
759 topology_file = mock.Mock()
760 config_tpl = mock.Mock()
762 vnfd_mock = mock.MagicMock()
763 vnfd_mock.port_num.side_effect = ['32', '1', '987']
764 vnfd_mock.find_interface.side_effect = [
766 'virtual-interface': {
767 'dst_ip': '10.20.30.40',
772 'virtual-interface': {
773 'dst_ip': '10.200.30.40',
778 'virtual-interface': {
779 'dst_ip': '10.20.3.40',
785 opnfv_vnf = samplevnf_helper.MultiPortConfig(
786 topology_file, config_tpl, tmp_file, vnfd_mock)
787 opnfv_vnf.all_ports = [3, 2, 5]
789 expected = 'routeadd net 32 10.20.30.40 0xfffff000\n' \
790 'routeadd net 1 10.200.30.40 0xffffff00\n' \
791 'routeadd net 987 10.20.3.40 0xff000000'
792 result = opnfv_vnf.generate_arp_route_tbl()
793 self.assertEqual(result, expected)
795 def test_generate_arpicmp_data(self):
796 topology_file = mock.Mock()
797 config_tpl = mock.Mock()
798 tmp_file = mock.Mock()
799 vnfd_mock = mock.MagicMock()
800 opnfv_vnf = samplevnf_helper.MultiPortConfig(
801 topology_file, config_tpl, tmp_file, vnfd_mock)
803 opnfv_vnf.start_core = 0
804 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
805 opnfv_vnf.port_pairs = [("xe0", "xe1")]
806 opnfv_vnf.txrx_pipeline = ''
808 opnfv_vnf.write_parser = mock.MagicMock()
809 opnfv_vnf.read_parser = mock.MagicMock()
810 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
811 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
812 opnfv_vnf.write_parser.set = mock.Mock()
813 opnfv_vnf.write_parser.add_section = mock.Mock()
814 opnfv_vnf.read_parser.items = mock.MagicMock()
815 opnfv_vnf.pipeline_counter = 0
816 opnfv_vnf.worker_config = '1t'
817 opnfv_vnf.start_core = 0
818 opnfv_vnf.lb_count = 1
819 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
820 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
821 result = opnfv_vnf.generate_arpicmp_data()
822 self.assertIsNotNone(result)
823 opnfv_vnf.nfv_type = 'ovs'
824 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
825 result = opnfv_vnf.generate_arpicmp_data()
826 self.assertIsNotNone(result)
827 opnfv_vnf.nfv_type = 'openstack'
828 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
829 result = opnfv_vnf.generate_arpicmp_data()
830 self.assertIsNotNone(result)
831 opnfv_vnf.lb_config = 'HW'
832 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
833 result = opnfv_vnf.generate_arpicmp_data()
834 self.assertIsNotNone(result)
836 def test_generate_final_txrx_data(self):
837 topology_file = mock.Mock()
838 config_tpl = mock.Mock()
839 tmp_file = mock.Mock()
840 vnfd_mock = mock.MagicMock()
841 opnfv_vnf = samplevnf_helper.MultiPortConfig(
842 topology_file, config_tpl, tmp_file, vnfd_mock)
844 opnfv_vnf.start_core = 0
845 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
846 opnfv_vnf.port_pairs = [("xe0", "xe1")]
847 opnfv_vnf.txrx_pipeline = ''
849 opnfv_vnf.write_parser = mock.MagicMock()
850 opnfv_vnf.read_parser = mock.MagicMock()
851 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
852 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
853 opnfv_vnf.write_parser.set = mock.Mock()
854 opnfv_vnf.write_parser.add_section = mock.Mock()
855 opnfv_vnf.read_parser.items = mock.MagicMock()
856 opnfv_vnf.pipeline_counter = 0
857 opnfv_vnf.worker_config = '1t'
858 opnfv_vnf.start_core = 0
859 opnfv_vnf.lb_count = 1
860 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
861 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
862 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
863 opnfv_vnf.ports_len = 2
864 opnfv_vnf.lb_index = 1
865 opnfv_vnf.pktq_out_os = [1, 2]
866 result = opnfv_vnf.generate_final_txrx_data()
867 self.assertIsNotNone(result)
868 opnfv_vnf.nfv_type = 'openstack'
869 opnfv_vnf.pktq_out_os = [1, 2]
870 opnfv_vnf.lb_index = 1
871 result = opnfv_vnf.generate_final_txrx_data()
872 self.assertIsNotNone(result)
874 def test_generate_initial_txrx_data(self):
875 topology_file = mock.Mock()
876 config_tpl = mock.Mock()
877 tmp_file = mock.Mock()
878 vnfd_mock = mock.MagicMock()
879 opnfv_vnf = samplevnf_helper.MultiPortConfig(
880 topology_file, config_tpl, tmp_file, vnfd_mock)
882 opnfv_vnf.start_core = 0
883 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
884 opnfv_vnf.port_pairs = [("xe0", "xe1")]
885 opnfv_vnf.txrx_pipeline = ''
887 opnfv_vnf.write_parser = mock.MagicMock()
888 opnfv_vnf.read_parser = mock.MagicMock()
889 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
890 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
891 opnfv_vnf.write_parser.set = mock.Mock()
892 opnfv_vnf.write_parser.add_section = mock.Mock()
893 opnfv_vnf.read_parser.items = mock.MagicMock()
894 opnfv_vnf.pipeline_counter = 0
895 opnfv_vnf.worker_config = '1t'
896 opnfv_vnf.start_core = 0
897 opnfv_vnf.lb_count = 1
898 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
899 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
900 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
901 opnfv_vnf.lb_index = 1
902 opnfv_vnf.ports_len = 2
903 result = opnfv_vnf.generate_initial_txrx_data()
904 self.assertIsNotNone(result)
905 opnfv_vnf.nfv_type = 'openstack'
906 opnfv_vnf.pktq_out_os = [1, 2]
907 result = opnfv_vnf.generate_initial_txrx_data()
908 self.assertIsNotNone(result)
909 opnfv_vnf.nfv_type = 'ovs'
910 opnfv_vnf.init_ovs = False
911 opnfv_vnf.ovs_pktq_out = ''
912 opnfv_vnf.pktq_out_os = [1, 2]
913 opnfv_vnf.lb_index = 1
914 result = opnfv_vnf.generate_initial_txrx_data()
915 self.assertIsNotNone(result)
916 opnfv_vnf.nfv_type = 'ovs'
917 opnfv_vnf.init_ovs = True
918 opnfv_vnf.pktq_out_os = [1, 2]
919 opnfv_vnf.ovs_pktq_out = ''
920 opnfv_vnf.lb_index = 1
921 result = opnfv_vnf.generate_initial_txrx_data()
922 self.assertIsNotNone(result)
924 def test_generate_lb_data(self):
925 topology_file = mock.Mock()
926 config_tpl = mock.Mock()
927 tmp_file = mock.Mock()
928 vnfd_mock = mock.MagicMock()
929 opnfv_vnf = samplevnf_helper.MultiPortConfig(
930 topology_file, config_tpl, tmp_file, vnfd_mock)
932 opnfv_vnf.start_core = 0
933 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
934 opnfv_vnf.port_pairs = [("xe0", "xe1")]
935 opnfv_vnf.txrx_pipeline = ''
937 opnfv_vnf.write_parser = mock.MagicMock()
938 opnfv_vnf.read_parser = mock.MagicMock()
939 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
940 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
941 opnfv_vnf.write_parser.set = mock.Mock()
942 opnfv_vnf.write_parser.add_section = mock.Mock()
943 opnfv_vnf.read_parser.items = mock.MagicMock()
944 opnfv_vnf.pipeline_counter = 0
945 opnfv_vnf.worker_config = '1t'
946 opnfv_vnf.start_core = 0
947 opnfv_vnf.lb_count = 1
948 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
949 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
950 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
951 opnfv_vnf.lb_index = 1
952 opnfv_vnf.ports_len = 2
953 opnfv_vnf.prv_que_handler = 0
954 result = opnfv_vnf.generate_lb_data()
955 self.assertIsNotNone(result)
957 def test_generate_vnf_data(self):
958 topology_file = mock.Mock()
959 config_tpl = mock.Mock()
960 tmp_file = mock.Mock()
961 vnfd_mock = mock.MagicMock()
962 opnfv_vnf = samplevnf_helper.MultiPortConfig(
963 topology_file, config_tpl, tmp_file, vnfd_mock)
965 opnfv_vnf.start_core = 0
966 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
967 opnfv_vnf.port_pairs = [("xe0", "xe1")]
968 opnfv_vnf.txrx_pipeline = ''
970 opnfv_vnf.write_parser = mock.MagicMock()
971 opnfv_vnf.read_parser = mock.MagicMock()
972 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
973 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
974 opnfv_vnf.write_parser.set = mock.Mock()
975 opnfv_vnf.write_parser.add_section = mock.Mock()
976 opnfv_vnf.read_parser.items = mock.MagicMock()
977 opnfv_vnf.pipeline_counter = 0
978 opnfv_vnf.worker_config = '1t'
979 opnfv_vnf.start_core = 0
980 opnfv_vnf.lb_count = 1
981 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
982 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
983 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
984 opnfv_vnf.lb_index = 1
985 opnfv_vnf.ports_len = 1
986 opnfv_vnf.pktq_out = ['1', '2']
987 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810',
988 'vnf_set': '(2,4,5)'}
989 opnfv_vnf.prv_que_handler = 0
990 result = opnfv_vnf.generate_vnf_data()
991 self.assertIsNotNone(result)
992 opnfv_vnf.lb_config = 'HW'
994 result = opnfv_vnf.generate_vnf_data()
995 self.assertIsNotNone(result)
996 opnfv_vnf.lb_config = 'HW'
998 opnfv_vnf.vnf_type = 'ACL'
999 result = opnfv_vnf.generate_vnf_data()
1000 self.assertIsNotNone(result)
1002 def test_generate_config_data(self):
1003 topology_file = mock.Mock()
1004 config_tpl = mock.Mock()
1005 tmp_file = mock.Mock()
1006 vnfd_mock = VnfdHelper(self.VNFD_0)
1007 opnfv_vnf = samplevnf_helper.MultiPortConfig(
1008 topology_file, config_tpl, tmp_file, vnfd_mock)
1009 opnfv_vnf.socket = 0
1010 opnfv_vnf.start_core = 0
1011 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
1012 opnfv_vnf.port_pairs = [("xe0", "xe1")]
1013 opnfv_vnf.txrx_pipeline = ''
1014 opnfv_vnf.rules = ''
1015 opnfv_vnf.write_parser = mock.MagicMock()
1016 opnfv_vnf.read_parser = mock.MagicMock()
1017 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1018 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1019 opnfv_vnf.write_parser.set = mock.Mock()
1020 opnfv_vnf.write_parser.add_section = mock.Mock()
1021 opnfv_vnf.read_parser.items = mock.MagicMock()
1022 opnfv_vnf.pipeline_counter = 0
1023 opnfv_vnf.worker_config = '1t'
1024 opnfv_vnf.start_core = 0
1025 opnfv_vnf.lb_count = 1
1026 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1027 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1028 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1029 opnfv_vnf.lb_index = 1
1030 opnfv_vnf.ports_len = 1
1031 opnfv_vnf.pktq_out = ['1', '2']
1032 opnfv_vnf.prv_que_handler = 0
1033 opnfv_vnf.init_write_parser_template = mock.Mock()
1034 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1035 opnfv_vnf.txrx_tpl = mock.MagicMock()
1036 opnfv_vnf.loadb_tpl = mock.MagicMock()
1037 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
1038 'vnf_set': "(2,4,5)"}
1039 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1040 opnfv_vnf.update_write_parser = mock.Mock()
1041 result = opnfv_vnf.generate_config_data()
1042 self.assertIsNone(result)
1043 opnfv_vnf.generate_final_txrx_data = mock.Mock()
1044 opnfv_vnf.update_write_parser = mock.Mock()
1045 result = opnfv_vnf.generate_config_data()
1046 self.assertIsNone(result)
1047 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1048 opnfv_vnf.lb_index = 1
1049 opnfv_vnf.ports_len = 1
1050 opnfv_vnf.pktq_out = ['1', '2']
1051 opnfv_vnf.prv_que_handler = 0
1052 opnfv_vnf.init_write_parser_template = mock.Mock()
1053 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1054 opnfv_vnf.txrx_tpl = mock.MagicMock()
1055 opnfv_vnf.loadb_tpl = mock.MagicMock()
1056 opnfv_vnf.vnf_type = 'CGNAPT'
1057 opnfv_vnf.update_timer = mock.Mock()
1058 opnfv_vnf.port_pair_list = [("xe0", "xe1"), ("xe0", "xe2")]
1059 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1060 opnfv_vnf.generate_arpicmp_data = mock.Mock()
1061 result = opnfv_vnf.generate_config_data()
1062 self.assertIsNone(result)
1064 def test_init_eal(self):
1065 topology_file = mock.Mock()
1066 config_tpl = mock.Mock()
1067 tmp_file = mock.Mock()
1068 vnfd_mock = mock.MagicMock()
1069 opnfv_vnf = samplevnf_helper.MultiPortConfig(
1070 topology_file, config_tpl, tmp_file, vnfd_mock)
1071 opnfv_vnf.socket = 0
1072 opnfv_vnf.start_core = 0
1073 opnfv_vnf.port_pair_list = [("xe0", "xe1")]
1074 opnfv_vnf.port_pairs = [("xe0", "xe1")]
1075 opnfv_vnf.txrx_pipeline = ''
1076 opnfv_vnf.rules = ''
1077 opnfv_vnf.write_parser = mock.MagicMock()
1078 opnfv_vnf.read_parser = mock.MagicMock()
1079 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1080 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1081 opnfv_vnf.write_parser.set = mock.Mock()
1082 opnfv_vnf.write_parser.add_section = mock.Mock()
1083 opnfv_vnf.read_parser.items = mock.MagicMock()
1084 opnfv_vnf.pipeline_counter = 0
1085 opnfv_vnf.worker_config = '1t'
1086 opnfv_vnf.start_core = 0
1087 opnfv_vnf.lb_count = 1
1088 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1089 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1090 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1091 opnfv_vnf.lb_index = 1
1092 opnfv_vnf.ports_len = 1
1093 opnfv_vnf.pktq_out = ['1', '2']
1094 opnfv_vnf.prv_que_handler = 0
1095 opnfv_vnf.init_write_parser_template = mock.Mock()
1096 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1097 opnfv_vnf.txrx_tpl = mock.MagicMock()
1098 opnfv_vnf.loadb_tpl = mock.MagicMock()
1099 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)'}
1100 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1101 opnfv_vnf.update_write_parser = mock.Mock()
1102 opnfv_vnf.tmp_file = "/tmp/config"
1103 result = opnfv_vnf.init_eal()
1104 self.assertIsNone(result)