3 # Copyright (c) 2016-2017 Intel Corporation
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
18 from __future__ import absolute_import
19 from __future__ import division
26 from yardstick.network_services.helpers.samplevnf_helper import MultiPortConfig
29 class TestMultiPortConfig(unittest.TestCase):
30 VNFD = {'vnfd:vnfd-catalog':
32 [{'short-name': 'VpeVnf',
35 [{'network': '152.16.100.20',
36 'netmask': '255.255.255.0',
37 'gateway': '152.16.100.20',
39 {'network': '152.16.40.20',
40 'netmask': '255.255.255.0',
41 'gateway': '152.16.40.20',
43 'description': 'VPE approximation using DPDK',
44 'name': 'vpevnf-baremetal',
46 [{'network': '0064:ff9b:0:0:0:0:9810:6414',
48 'gateway': '0064:ff9b:0:0:0:0:9810:6414',
50 {'network': '0064:ff9b:0:0:0:0:9810:2814',
52 'gateway': '0064:ff9b:0:0:0:0:9810:2814',
54 'id': 'vpevnf-baremetal',
59 'dst_mac': '00:00:00:00:00:04',
60 'vpci': '0000:05:00.0',
61 'local_ip': '152.16.100.19',
62 'type': 'PCI-PASSTHROUGH',
63 'netmask': '255.255.255.0',
65 'bandwidth': '10 Gbps',
67 'dst_ip': '152.16.100.20',
69 'local_iface_name': 'eth0',
70 'local_mac': '00:00:00:00:00:02',
71 'vld_id': 'private_1',
73 'vnfd-connection-point-ref': 'xe0',
77 'dst_mac': '00:00:00:00:00:03',
78 'vpci': '0000:05:00.1',
79 'local_ip': '152.16.40.19',
80 'type': 'PCI-PASSTHROUGH',
82 'netmask': '255.255.255.0',
84 'bandwidth': '10 Gbps',
85 'dst_ip': '152.16.40.20',
87 'local_iface_name': 'eth1',
88 'local_mac': '00:00:00:00:00:01',
91 'vnfd-connection-point-ref': 'xe1',
94 'description': 'Vpe approximation using DPDK',
96 {'vdu-id': 'vpevnf-baremetal',
102 {'kpi': ['packets_in', 'packets_fwd', 'packets_dropped']},
103 'connection-point': [{'type': 'VPORT', 'name': 'xe0'},
104 {'type': 'VPORT', 'name': 'xe1'}],
105 'id': 'AclApproxVnf', 'name': 'VPEVnfSsh'}]}}
107 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
108 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
109 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
110 def test___init__(self, mock_open, mock_os, ConfigParser):
111 topology_file = mock.Mock()
112 config_tpl = mock.Mock()
113 tmp_file = mock.Mock()
114 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
115 self.assertEqual(0, opnfv_vnf.swq)
116 mock_os.path = mock.MagicMock()
117 mock_os.path.isfile = mock.Mock(return_value=False)
118 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
119 self.assertEqual(0, opnfv_vnf.swq)
121 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
122 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
123 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
124 def test_update_timer(self, mock_open, mock_os, ConfigParser):
125 topology_file = mock.Mock()
126 config_tpl = mock.Mock()
127 tmp_file = mock.Mock()
128 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
129 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
131 opnfv_vnf.start_core = 0
132 opnfv_vnf.update_write_parser = mock.MagicMock()
133 self.assertEqual(None, opnfv_vnf.update_timer())
135 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
136 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
137 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
138 def test_generate_script(self, mock_open, mock_os, ConfigParser):
139 topology_file = mock.Mock()
140 config_tpl = mock.Mock()
141 tmp_file = mock.Mock()
142 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
143 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
145 opnfv_vnf.start_core = 0
146 opnfv_vnf.update_write_parser = mock.MagicMock()
147 opnfv_vnf.generate_script_data = \
148 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
149 'arp_config6': '', 'actions': '',
151 opnfv_vnf.port_pair_list = [[[0], [1]]]
152 self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
153 opnfv_vnf.lb_config = 'HW'
154 self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
156 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
157 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
158 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
159 def test_generate_script_data(self, mock_open, mock_os, ConfigParser):
160 topology_file = mock.Mock()
161 config_tpl = mock.Mock()
162 tmp_file = mock.Mock()
163 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
164 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
166 opnfv_vnf.start_core = 0
167 opnfv_vnf.update_write_parser = mock.MagicMock()
168 opnfv_vnf.port_pair_list = [[[0], [1]]]
169 opnfv_vnf.vnf_type = 'ACL'
170 opnfv_vnf.generate_link_config = mock.Mock()
171 opnfv_vnf.generate_arp_config = mock.Mock()
172 opnfv_vnf.generate_arp_config6 = mock.Mock()
173 opnfv_vnf.generate_action_config = mock.Mock()
174 opnfv_vnf.generate_rule_config = mock.Mock()
175 self.assertIsNotNone(opnfv_vnf.generate_script_data())
177 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
178 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
179 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
180 def test_generate_rule_config(self, mock_open, mock_os, ConfigParser):
181 topology_file = mock.Mock()
182 config_tpl = mock.Mock()
183 tmp_file = mock.Mock()
184 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
185 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
187 opnfv_vnf.start_core = 0
188 opnfv_vnf.update_write_parser = mock.MagicMock()
189 opnfv_vnf.generate_script_data = \
190 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
191 'arp_config6': '', 'actions': '',
193 opnfv_vnf.port_pair_list = [[[0], [1]]]
194 opnfv_vnf.get_port_pairs = mock.Mock()
195 opnfv_vnf.vnf_type = 'ACL'
196 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
197 opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
198 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
199 opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
200 opnfv_vnf.txrx_pipeline = ''
202 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
203 opnfv_vnf.rules = 'new'
204 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
206 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
207 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
208 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
209 def test_generate_action_config(self, mock_open, mock_os, ConfigParser):
210 topology_file = mock.Mock()
211 config_tpl = mock.Mock()
212 tmp_file = mock.Mock()
213 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
214 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
216 opnfv_vnf.start_core = 0
217 opnfv_vnf.update_write_parser = mock.MagicMock()
218 opnfv_vnf.generate_script_data = \
219 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
220 'arp_config6': '', 'actions': '',
222 opnfv_vnf.port_pair_list = [[[0], [1]]]
223 opnfv_vnf.get_port_pairs = mock.Mock()
224 opnfv_vnf.vnf_type = 'VFW'
225 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
226 opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
227 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
228 opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
229 opnfv_vnf.txrx_pipeline = ''
231 self.assertIsNotNone(opnfv_vnf.generate_action_config())
233 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
234 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
235 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
236 def test_generate_arp_config6(self, mock_open, mock_os, ConfigParser):
237 topology_file = mock.Mock()
238 config_tpl = mock.Mock()
239 tmp_file = mock.Mock()
240 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
241 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
243 opnfv_vnf.start_core = 0
244 opnfv_vnf.update_write_parser = mock.MagicMock()
245 opnfv_vnf.generate_script_data = \
246 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
247 'arp_config6': '', 'actions': '',
249 opnfv_vnf.port_pair_list = [[[0], [1]]]
250 opnfv_vnf.get_port_pairs = mock.Mock()
251 opnfv_vnf.vnf_type = 'VFW'
252 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
253 opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
254 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
255 opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
256 opnfv_vnf.txrx_pipeline = ''
258 opnfv_vnf.interfaces = mock.MagicMock()
259 opnfv_vnf.get_ports_gateway6 = mock.Mock()
260 self.assertIsNotNone(opnfv_vnf.generate_arp_config6())
262 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
263 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
264 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
265 def test_generate_arp_config(self, mock_open, mock_os, ConfigParser):
266 topology_file = mock.Mock()
267 config_tpl = mock.Mock()
268 tmp_file = mock.Mock()
269 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
270 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
272 opnfv_vnf.start_core = 0
273 opnfv_vnf.update_write_parser = mock.MagicMock()
274 opnfv_vnf.generate_script_data = \
275 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
276 'arp_config6': '', 'actions': '',
278 opnfv_vnf.port_pair_list = [[[0], [1]]]
279 opnfv_vnf.get_port_pairs = mock.Mock()
280 opnfv_vnf.vnf_type = 'VFW'
281 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
282 opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
283 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
284 opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
285 opnfv_vnf.txrx_pipeline = ''
287 opnfv_vnf.interfaces = mock.MagicMock()
288 opnfv_vnf.get_ports_gateway6 = mock.Mock()
289 self.assertIsNotNone(opnfv_vnf.generate_arp_config())
291 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
292 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
293 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
294 def test_get_ports_gateway(self, mock_open, mock_os, ConfigParser):
295 topology_file = mock.Mock()
296 config_tpl = mock.Mock()
297 tmp_file = mock.Mock()
298 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
299 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
301 opnfv_vnf.start_core = 0
302 opnfv_vnf.update_write_parser = mock.MagicMock()
303 opnfv_vnf.generate_script_data = \
304 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
305 'arp_config6': '', 'actions': '',
307 opnfv_vnf.port_pair_list = [[[0], [1]]]
308 opnfv_vnf.get_port_pairs = mock.Mock()
309 opnfv_vnf.vnf_type = 'VFW'
310 opnfv_vnf.txrx_pipeline = ''
312 opnfv_vnf.interfaces = mock.MagicMock()
313 opnfv_vnf.get_ports_gateway6 = mock.Mock()
314 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
315 self.assertIsNotNone(opnfv_vnf.get_ports_gateway('xe0'))
317 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
318 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
319 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
320 def test_get_ports_gateway6(self, mock_open, mock_os, ConfigParser):
321 topology_file = mock.Mock()
322 config_tpl = mock.Mock()
323 tmp_file = mock.Mock()
324 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
325 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
327 opnfv_vnf.start_core = 0
328 opnfv_vnf.update_write_parser = mock.MagicMock()
329 opnfv_vnf.generate_script_data = \
330 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
331 'arp_config6': '', 'actions': '',
333 opnfv_vnf.port_pair_list = [[[0], [1]]]
334 opnfv_vnf.get_port_pairs = mock.Mock()
335 opnfv_vnf.vnf_type = 'VFW'
336 opnfv_vnf.txrx_pipeline = ''
338 opnfv_vnf.interfaces = mock.MagicMock()
339 opnfv_vnf.get_ports_gateway6 = mock.Mock()
340 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
341 self.assertIsNotNone(opnfv_vnf.get_ports_gateway6('xe0'))
343 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
344 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
345 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
346 def test_get_netmask_gateway(self, mock_open, mock_os, ConfigParser):
347 topology_file = mock.Mock()
348 config_tpl = mock.Mock()
349 tmp_file = mock.Mock()
350 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
351 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
353 opnfv_vnf.start_core = 0
354 opnfv_vnf.update_write_parser = mock.MagicMock()
355 opnfv_vnf.generate_script_data = \
356 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
357 'arp_config6': '', 'actions': '',
359 opnfv_vnf.port_pair_list = [[[0], [1]]]
360 opnfv_vnf.get_port_pairs = mock.Mock()
361 opnfv_vnf.vnf_type = 'VFW'
362 opnfv_vnf.txrx_pipeline = ''
364 opnfv_vnf.interfaces = mock.MagicMock()
365 opnfv_vnf.get_ports_gateway6 = mock.Mock()
366 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
367 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway('xe0'))
369 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
370 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
371 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
372 def test_get_netmask_gateway6(self, mock_open, mock_os, ConfigParser):
373 topology_file = mock.Mock()
374 config_tpl = mock.Mock()
375 tmp_file = mock.Mock()
376 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
377 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
379 opnfv_vnf.start_core = 0
380 opnfv_vnf.update_write_parser = mock.MagicMock()
381 opnfv_vnf.generate_script_data = \
382 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
383 'arp_config6': '', 'actions': '',
385 opnfv_vnf.port_pair_list = [[[0], [1]]]
386 opnfv_vnf.get_port_pairs = mock.Mock()
387 opnfv_vnf.vnf_type = 'VFW'
388 opnfv_vnf.txrx_pipeline = ''
390 opnfv_vnf.interfaces = mock.MagicMock()
391 opnfv_vnf.get_ports_gateway6 = mock.Mock()
392 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
393 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway6('xe0'))
395 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
396 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
397 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
398 def test_generate_link_config(self, mock_open, mock_os, ConfigParser):
399 topology_file = mock.Mock()
400 config_tpl = mock.Mock()
401 tmp_file = mock.Mock()
402 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
403 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
405 opnfv_vnf.start_core = 0
406 opnfv_vnf.update_write_parser = mock.MagicMock()
407 opnfv_vnf.generate_script_data = \
408 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
409 'arp_config6': '', 'actions': '',
411 opnfv_vnf.port_pair_list = [[[0], [1]]]
412 opnfv_vnf.get_port_pairs = mock.Mock()
413 opnfv_vnf.vnf_type = 'VFW'
414 opnfv_vnf.txrx_pipeline = ''
416 opnfv_vnf.get_ports_gateway6 = mock.Mock()
417 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
418 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
419 self.assertIsNotNone(opnfv_vnf.generate_link_config())
421 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
422 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
423 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
424 def test_generate_config(self, mock_open, mock_os, ConfigParser):
425 topology_file = mock.Mock()
426 config_tpl = mock.Mock()
427 tmp_file = mock.Mock()
428 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
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 = [[[0], [1]]]
438 opnfv_vnf.txrx_pipeline = ''
440 opnfv_vnf.get_ports_gateway6 = mock.Mock()
441 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
442 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
443 opnfv_vnf.generate_lb_to_port_pair_mapping = mock.Mock()
444 opnfv_vnf.generate_config_data = mock.Mock()
445 opnfv_vnf.write_parser = mock.MagicMock()
446 opnfv_vnf.is_openstack = True
447 self.assertIsNone(opnfv_vnf.generate_config())
448 opnfv_vnf.is_openstack = False
449 self.assertIsNone(opnfv_vnf.generate_config())
451 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
452 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
453 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
454 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
455 def test_get_config_tpl_data(self, mock_open, mock_os, ConfigParser,
457 topology_file = mock.Mock()
458 config_tpl = mock.Mock()
459 tmp_file = mock.Mock()
460 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
462 opnfv_vnf.start_core = 0
463 opnfv_vnf.port_pair_list = [[[0], [1]]]
464 opnfv_vnf.txrx_pipeline = ''
466 opnfv_vnf.write_parser = mock.MagicMock()
467 opnfv_vnf.read_parser = mock.MagicMock()
468 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
469 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
470 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
472 self.assertIsNotNone(opnfv_vnf.get_config_tpl_data('filename'))
474 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
475 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
476 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
477 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
478 def test_get_txrx_tpl_data(self, mock_open, mock_os, ConfigParser,
480 topology_file = mock.Mock()
481 config_tpl = mock.Mock()
482 tmp_file = mock.Mock()
483 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
485 opnfv_vnf.start_core = 0
486 opnfv_vnf.port_pair_list = [[[0], [1]]]
487 opnfv_vnf.txrx_pipeline = ''
489 opnfv_vnf.write_parser = mock.MagicMock()
490 opnfv_vnf.read_parser = mock.MagicMock()
491 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
492 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
493 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
495 self.assertIsNotNone(opnfv_vnf.get_txrx_tpl_data('filename'))
497 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
498 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
499 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
500 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
501 def test_init_write_parser_template(self, mock_open, mock_os, ConfigParser,
503 topology_file = mock.Mock()
504 config_tpl = mock.Mock()
505 tmp_file = mock.Mock()
506 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
508 opnfv_vnf.start_core = 0
509 opnfv_vnf.port_pair_list = [[[0], [1]]]
510 opnfv_vnf.txrx_pipeline = ''
512 opnfv_vnf.write_parser = mock.MagicMock()
513 opnfv_vnf.read_parser = mock.MagicMock()
514 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
515 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
516 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
518 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
519 opnfv_vnf.write_parser.add_section = mock.MagicMock()
520 opnfv_vnf.read_parser.item = mock.Mock(return_value=[1, 2, 3])
521 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=False)
522 opnfv_vnf.write_parser.set = mock.Mock()
523 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
525 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
526 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
527 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
528 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
529 def test_init_write_parser_template_2(self, mock_open, mock_os, ConfigParser,
531 topology_file = mock.Mock()
532 config_tpl = mock.Mock()
533 tmp_file = mock.Mock()
534 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
536 opnfv_vnf.start_core = 0
537 opnfv_vnf.port_pair_list = [[[0], [1]]]
538 opnfv_vnf.txrx_pipeline = ''
540 opnfv_vnf.write_parser = mock.MagicMock()
541 opnfv_vnf.read_parser = mock.MagicMock()
542 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
543 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
544 opnfv_vnf.write_parser.set = mock.Mock()
545 opnfv_vnf.read_parser.items = mock.MagicMock()
546 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
548 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
549 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
550 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
551 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
552 def test_update_write_parser(self, mock_open, mock_os, ConfigParser,
554 topology_file = mock.Mock()
555 config_tpl = mock.Mock()
556 tmp_file = mock.Mock()
557 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
559 opnfv_vnf.start_core = 0
560 opnfv_vnf.port_pair_list = [[[0], [1]]]
561 opnfv_vnf.txrx_pipeline = ''
563 opnfv_vnf.write_parser = mock.MagicMock()
564 opnfv_vnf.read_parser = mock.MagicMock()
565 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
566 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
567 opnfv_vnf.write_parser.set = mock.Mock()
568 opnfv_vnf.write_parser.add_section = mock.Mock()
569 opnfv_vnf.read_parser.items = mock.MagicMock()
570 opnfv_vnf.pipeline_counter = 0
571 self.assertIsNone(opnfv_vnf.update_write_parser({'filename': 1}))
573 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
574 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
575 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
576 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
577 def test_get_worker_threads(self, mock_open, mock_os, ConfigParser,
579 topology_file = mock.Mock()
580 config_tpl = mock.Mock()
581 tmp_file = mock.Mock()
582 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
584 opnfv_vnf.start_core = 0
585 opnfv_vnf.port_pair_list = [[[0], [1]]]
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=[])
592 opnfv_vnf.write_parser.set = mock.Mock()
593 opnfv_vnf.write_parser.add_section = mock.Mock()
594 opnfv_vnf.read_parser.items = mock.MagicMock()
595 opnfv_vnf.pipeline_counter = 0
596 opnfv_vnf.worker_config = '1t'
597 result = opnfv_vnf.get_worker_threads(1)
598 self.assertEqual(1, result)
599 opnfv_vnf.worker_config = '2t'
600 result = opnfv_vnf.get_worker_threads(2)
601 self.assertEqual(2, result)
602 opnfv_vnf.worker_config = '2t'
603 result = opnfv_vnf.get_worker_threads(3)
604 self.assertEqual(2, result)
606 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
607 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
608 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
609 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
610 def test_generate_next_core_id(self, mock_open, mock_os, ConfigParser,
612 topology_file = mock.Mock()
613 config_tpl = mock.Mock()
614 tmp_file = mock.Mock()
615 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
617 opnfv_vnf.start_core = 0
618 opnfv_vnf.port_pair_list = [[[0], [1]]]
619 opnfv_vnf.txrx_pipeline = ''
621 opnfv_vnf.write_parser = mock.MagicMock()
622 opnfv_vnf.read_parser = mock.MagicMock()
623 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
624 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
625 opnfv_vnf.write_parser.set = mock.Mock()
626 opnfv_vnf.write_parser.add_section = mock.Mock()
627 opnfv_vnf.read_parser.items = mock.MagicMock()
628 opnfv_vnf.pipeline_counter = 0
629 opnfv_vnf.worker_config = '1t'
630 opnfv_vnf.start_core = 0
631 result = opnfv_vnf.generate_next_core_id()
632 self.assertEqual(None, result)
633 opnfv_vnf.worker_config = '2t'
634 opnfv_vnf.start_core = 'a'
635 self.assertRaises(ValueError, opnfv_vnf.generate_next_core_id)
636 opnfv_vnf.worker_config = '2t'
637 opnfv_vnf.start_core = 1
638 result = opnfv_vnf.generate_next_core_id()
639 self.assertEqual(None, result)
641 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
642 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
643 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
644 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
645 def test_generate_lb_to_port_pair_mapping(self, mock_open, mock_os, ConfigParser,
647 topology_file = mock.Mock()
648 config_tpl = mock.Mock()
649 tmp_file = mock.Mock()
650 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
652 opnfv_vnf.start_core = 0
653 opnfv_vnf.port_pair_list = [[[0], [1]]]
654 opnfv_vnf.txrx_pipeline = ''
656 opnfv_vnf.write_parser = mock.MagicMock()
657 opnfv_vnf.read_parser = mock.MagicMock()
658 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
659 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
660 opnfv_vnf.write_parser.set = mock.Mock()
661 opnfv_vnf.write_parser.add_section = mock.Mock()
662 opnfv_vnf.read_parser.items = mock.MagicMock()
663 opnfv_vnf.pipeline_counter = 0
664 opnfv_vnf.worker_config = '1t'
665 opnfv_vnf.start_core = 0
666 opnfv_vnf.lb_count = 1
667 result = opnfv_vnf.generate_lb_to_port_pair_mapping()
668 self.assertEqual(None, result)
669 result = opnfv_vnf.set_priv_to_pub_mapping()
670 self.assertEqual('(0, 1)', result)
672 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
673 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
674 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
675 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
676 def test_set_priv_que_handler(self, mock_open, mock_os, ConfigParser,
678 topology_file = mock.Mock()
679 config_tpl = mock.Mock()
680 tmp_file = mock.Mock()
681 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
683 opnfv_vnf.start_core = 0
684 opnfv_vnf.port_pair_list = [[[0], [1]]]
685 opnfv_vnf.port_pairs = [[[0], [1]]]
686 opnfv_vnf.txrx_pipeline = ''
688 opnfv_vnf.write_parser = mock.MagicMock()
689 opnfv_vnf.read_parser = mock.MagicMock()
690 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
691 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
692 opnfv_vnf.write_parser.set = mock.Mock()
693 opnfv_vnf.write_parser.add_section = mock.Mock()
694 opnfv_vnf.read_parser.items = mock.MagicMock()
695 opnfv_vnf.pipeline_counter = 0
696 opnfv_vnf.worker_config = '1t'
697 opnfv_vnf.start_core = 0
698 opnfv_vnf.lb_count = 1
699 result = opnfv_vnf.set_priv_que_handler()
700 self.assertEqual(None, result)
702 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
703 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
704 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
705 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
706 def test_generate_arpicmp_data(self, mock_open, mock_os, ConfigParser,
708 topology_file = mock.Mock()
709 config_tpl = mock.Mock()
710 tmp_file = mock.Mock()
711 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
713 opnfv_vnf.start_core = 0
714 opnfv_vnf.port_pair_list = [[[0], [1]]]
715 opnfv_vnf.port_pairs = [[[0], [1]]]
716 opnfv_vnf.txrx_pipeline = ''
718 opnfv_vnf.write_parser = mock.MagicMock()
719 opnfv_vnf.read_parser = mock.MagicMock()
720 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
721 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
722 opnfv_vnf.write_parser.set = mock.Mock()
723 opnfv_vnf.write_parser.add_section = mock.Mock()
724 opnfv_vnf.read_parser.items = mock.MagicMock()
725 opnfv_vnf.pipeline_counter = 0
726 opnfv_vnf.worker_config = '1t'
727 opnfv_vnf.start_core = 0
728 opnfv_vnf.lb_count = 1
729 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
730 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
731 result = opnfv_vnf.generate_arpicmp_data()
732 self.assertIsNotNone(result)
733 opnfv_vnf.nfv_type = 'ovs'
734 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
735 result = opnfv_vnf.generate_arpicmp_data()
736 self.assertIsNotNone(result)
737 opnfv_vnf.nfv_type = 'openstack'
738 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
739 result = opnfv_vnf.generate_arpicmp_data()
740 self.assertIsNotNone(result)
741 opnfv_vnf.lb_config = 'HW'
742 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
743 result = opnfv_vnf.generate_arpicmp_data()
744 self.assertIsNotNone(result)
746 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
747 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
748 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
749 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
750 def test_generate_final_txrx_data(self, mock_open, mock_os, ConfigParser,
752 topology_file = mock.Mock()
753 config_tpl = mock.Mock()
754 tmp_file = mock.Mock()
755 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
757 opnfv_vnf.start_core = 0
758 opnfv_vnf.port_pair_list = [[[0], [1]]]
759 opnfv_vnf.port_pairs = [[[0], [1]]]
760 opnfv_vnf.txrx_pipeline = ''
762 opnfv_vnf.write_parser = mock.MagicMock()
763 opnfv_vnf.read_parser = mock.MagicMock()
764 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
765 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
766 opnfv_vnf.write_parser.set = mock.Mock()
767 opnfv_vnf.write_parser.add_section = mock.Mock()
768 opnfv_vnf.read_parser.items = mock.MagicMock()
769 opnfv_vnf.pipeline_counter = 0
770 opnfv_vnf.worker_config = '1t'
771 opnfv_vnf.start_core = 0
772 opnfv_vnf.lb_count = 1
773 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
774 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
775 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
776 opnfv_vnf.ports_len = 2
777 opnfv_vnf.lb_index = 1
778 opnfv_vnf.pktq_out_os = [1, 2]
779 result = opnfv_vnf.generate_final_txrx_data()
780 self.assertIsNotNone(result)
781 opnfv_vnf.nfv_type = 'openstack'
782 opnfv_vnf.pktq_out_os = [1, 2]
783 opnfv_vnf.lb_index = 1
784 result = opnfv_vnf.generate_final_txrx_data()
785 self.assertIsNotNone(result)
787 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
788 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
789 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
790 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
791 def test_generate_initial_txrx_data(self, mock_open, mock_os,
792 ConfigParser, OrderedDict):
793 topology_file = mock.Mock()
794 config_tpl = mock.Mock()
795 tmp_file = mock.Mock()
796 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
798 opnfv_vnf.start_core = 0
799 opnfv_vnf.port_pair_list = [[[0], [1]]]
800 opnfv_vnf.port_pairs = [[[0], [1]]]
801 opnfv_vnf.txrx_pipeline = ''
803 opnfv_vnf.write_parser = mock.MagicMock()
804 opnfv_vnf.read_parser = mock.MagicMock()
805 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
806 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
807 opnfv_vnf.write_parser.set = mock.Mock()
808 opnfv_vnf.write_parser.add_section = mock.Mock()
809 opnfv_vnf.read_parser.items = mock.MagicMock()
810 opnfv_vnf.pipeline_counter = 0
811 opnfv_vnf.worker_config = '1t'
812 opnfv_vnf.start_core = 0
813 opnfv_vnf.lb_count = 1
814 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
815 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
816 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
817 opnfv_vnf.lb_index = 1
818 opnfv_vnf.ports_len = 2
819 result = opnfv_vnf.generate_initial_txrx_data()
820 self.assertIsNotNone(result)
821 opnfv_vnf.nfv_type = 'openstack'
822 opnfv_vnf.pktq_out_os = [1, 2]
823 result = opnfv_vnf.generate_initial_txrx_data()
824 self.assertIsNotNone(result)
825 opnfv_vnf.nfv_type = 'ovs'
826 opnfv_vnf.init_ovs = False
827 opnfv_vnf.ovs_pktq_out = ''
828 opnfv_vnf.pktq_out_os = [1, 2]
829 opnfv_vnf.lb_index = 1
830 result = opnfv_vnf.generate_initial_txrx_data()
831 self.assertIsNotNone(result)
832 opnfv_vnf.nfv_type = 'ovs'
833 opnfv_vnf.init_ovs = True
834 opnfv_vnf.pktq_out_os = [1, 2]
835 opnfv_vnf.ovs_pktq_out = ''
836 opnfv_vnf.lb_index = 1
837 result = opnfv_vnf.generate_initial_txrx_data()
838 self.assertIsNotNone(result)
840 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
841 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
842 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
843 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
844 def test_generate_lb_data(self, mock_open, mock_os, ConfigParser,
846 topology_file = mock.Mock()
847 config_tpl = mock.Mock()
848 tmp_file = mock.Mock()
849 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
851 opnfv_vnf.start_core = 0
852 opnfv_vnf.port_pair_list = [[[0], [1]]]
853 opnfv_vnf.port_pairs = [[[0], [1]]]
854 opnfv_vnf.txrx_pipeline = ''
856 opnfv_vnf.write_parser = mock.MagicMock()
857 opnfv_vnf.read_parser = mock.MagicMock()
858 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
859 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
860 opnfv_vnf.write_parser.set = mock.Mock()
861 opnfv_vnf.write_parser.add_section = mock.Mock()
862 opnfv_vnf.read_parser.items = mock.MagicMock()
863 opnfv_vnf.pipeline_counter = 0
864 opnfv_vnf.worker_config = '1t'
865 opnfv_vnf.start_core = 0
866 opnfv_vnf.lb_count = 1
867 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
868 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
869 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
870 opnfv_vnf.lb_index = 1
871 opnfv_vnf.ports_len = 2
872 opnfv_vnf.prv_que_handler = 0
873 result = opnfv_vnf.generate_lb_data()
874 self.assertIsNotNone(result)
876 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
877 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
878 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
879 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
880 def test_generate_vnf_data(self, mock_open, mock_os, ConfigParser,
882 topology_file = mock.Mock()
883 config_tpl = mock.Mock()
884 tmp_file = mock.Mock()
885 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
887 opnfv_vnf.start_core = 0
888 opnfv_vnf.port_pair_list = [[[0], [1]]]
889 opnfv_vnf.port_pairs = [[[0], [1]]]
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 = 1
908 opnfv_vnf.pktq_out = ['1', '2']
909 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810',
910 'vnf_set': '(2,4,5)'}
911 opnfv_vnf.prv_que_handler = 0
912 result = opnfv_vnf.generate_vnf_data()
913 self.assertIsNotNone(result)
914 opnfv_vnf.lb_config = 'HW'
916 result = opnfv_vnf.generate_vnf_data()
917 self.assertIsNotNone(result)
918 opnfv_vnf.lb_config = 'HW'
920 opnfv_vnf.vnf_type = 'ACL'
921 result = opnfv_vnf.generate_vnf_data()
922 self.assertIsNotNone(result)
924 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
925 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
926 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
927 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
928 def test_generate_config_data(self, mock_open, mock_os, ConfigParser,
930 topology_file = mock.Mock()
931 config_tpl = mock.Mock()
932 tmp_file = mock.Mock()
933 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
935 opnfv_vnf.start_core = 0
936 opnfv_vnf.port_pair_list = [[[0], [1]]]
937 opnfv_vnf.port_pairs = [[[0], [1]]]
938 opnfv_vnf.txrx_pipeline = ''
940 opnfv_vnf.write_parser = mock.MagicMock()
941 opnfv_vnf.read_parser = mock.MagicMock()
942 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
943 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
944 opnfv_vnf.write_parser.set = mock.Mock()
945 opnfv_vnf.write_parser.add_section = mock.Mock()
946 opnfv_vnf.read_parser.items = mock.MagicMock()
947 opnfv_vnf.pipeline_counter = 0
948 opnfv_vnf.worker_config = '1t'
949 opnfv_vnf.start_core = 0
950 opnfv_vnf.lb_count = 1
951 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
952 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
953 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
954 opnfv_vnf.lb_index = 1
955 opnfv_vnf.ports_len = 1
956 opnfv_vnf.pktq_out = ['1', '2']
957 opnfv_vnf.prv_que_handler = 0
958 opnfv_vnf.init_write_parser_template = mock.Mock()
959 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
960 opnfv_vnf.txrx_tpl = mock.MagicMock()
961 opnfv_vnf.loadb_tpl = mock.MagicMock()
962 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
963 'vnf_set': "(2,4,5)"}
964 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
965 opnfv_vnf.update_write_parser = mock.Mock()
966 result = opnfv_vnf.generate_config_data()
967 self.assertIsNone(result)
968 opnfv_vnf.generate_final_txrx_data = mock.Mock()
969 opnfv_vnf.update_write_parser = mock.Mock()
970 result = opnfv_vnf.generate_config_data()
971 self.assertIsNone(result)
972 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
973 opnfv_vnf.lb_index = 1
974 opnfv_vnf.ports_len = 1
975 opnfv_vnf.pktq_out = ['1', '2']
976 opnfv_vnf.prv_que_handler = 0
977 opnfv_vnf.init_write_parser_template = mock.Mock()
978 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
979 opnfv_vnf.txrx_tpl = mock.MagicMock()
980 opnfv_vnf.loadb_tpl = mock.MagicMock()
981 opnfv_vnf.vnf_type = 'CGNAPT'
982 opnfv_vnf.update_timer = mock.Mock()
983 opnfv_vnf.port_pair_list = [[[0], [1], [2]]]
984 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
985 opnfv_vnf.generate_arpicmp_data = mock.Mock()
986 result = opnfv_vnf.generate_config_data()
987 self.assertIsNone(result)
989 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
990 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
991 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
992 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
993 def test_get_port_pairs(self, mock_open, mock_os, ConfigParser,
995 topology_file = mock.Mock()
996 config_tpl = mock.Mock()
997 tmp_file = mock.Mock()
998 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
1000 opnfv_vnf.start_core = 0
1001 opnfv_vnf.port_pair_list = [[[0], [1]]]
1002 opnfv_vnf.port_pairs = [[[0], [1]]]
1003 opnfv_vnf.txrx_pipeline = ''
1004 opnfv_vnf.rules = ''
1005 opnfv_vnf.write_parser = mock.MagicMock()
1006 opnfv_vnf.read_parser = mock.MagicMock()
1007 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1008 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1009 opnfv_vnf.write_parser.set = mock.Mock()
1010 opnfv_vnf.write_parser.add_section = mock.Mock()
1011 opnfv_vnf.read_parser.items = mock.MagicMock()
1012 opnfv_vnf.pipeline_counter = 0
1013 opnfv_vnf.worker_config = '1t'
1014 opnfv_vnf.start_core = 0
1015 opnfv_vnf.lb_count = 1
1016 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1017 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1018 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1019 opnfv_vnf.lb_index = 1
1020 opnfv_vnf.ports_len = 1
1021 opnfv_vnf.pktq_out = ['1', '2']
1022 opnfv_vnf.prv_que_handler = 0
1023 opnfv_vnf.init_write_parser_template = mock.Mock()
1024 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1025 opnfv_vnf.txrx_tpl = mock.MagicMock()
1026 opnfv_vnf.loadb_tpl = mock.MagicMock()
1027 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
1028 'vnf_set': '(2,4,5)'}
1029 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1030 opnfv_vnf.update_write_parser = mock.Mock()
1032 curr_path = os.path.dirname(os.path.abspath(__file__))
1033 opnfv_vnf.topology_file = \
1034 os.path.join(curr_path, 'acl_vnf_topology_ixia.yaml')
1035 opnfv_vnf.lb_count = 10
1036 result = opnfv_vnf.get_port_pairs(opnfv_vnf.interfaces)
1037 self.assertEqual(result[0], [('xe0', 'xe1')])
1039 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
1040 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
1041 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
1042 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
1043 def test_init_eal(self, mock_open, mock_os, ConfigParser,
1045 topology_file = mock.Mock()
1046 config_tpl = mock.Mock()
1047 tmp_file = mock.Mock()
1048 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
1049 opnfv_vnf.socket = 0
1050 opnfv_vnf.start_core = 0
1051 opnfv_vnf.port_pair_list = [[[0], [1]]]
1052 opnfv_vnf.port_pairs = [[[0], [1]]]
1053 opnfv_vnf.txrx_pipeline = ''
1054 opnfv_vnf.rules = ''
1055 opnfv_vnf.write_parser = mock.MagicMock()
1056 opnfv_vnf.read_parser = mock.MagicMock()
1057 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1058 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1059 opnfv_vnf.write_parser.set = mock.Mock()
1060 opnfv_vnf.write_parser.add_section = mock.Mock()
1061 opnfv_vnf.read_parser.items = mock.MagicMock()
1062 opnfv_vnf.pipeline_counter = 0
1063 opnfv_vnf.worker_config = '1t'
1064 opnfv_vnf.start_core = 0
1065 opnfv_vnf.lb_count = 1
1066 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1067 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1068 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1069 opnfv_vnf.lb_index = 1
1070 opnfv_vnf.ports_len = 1
1071 opnfv_vnf.pktq_out = ['1', '2']
1072 opnfv_vnf.prv_que_handler = 0
1073 opnfv_vnf.init_write_parser_template = mock.Mock()
1074 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1075 opnfv_vnf.txrx_tpl = mock.MagicMock()
1076 opnfv_vnf.loadb_tpl = mock.MagicMock()
1077 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)'}
1078 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1079 opnfv_vnf.update_write_parser = mock.Mock()
1080 opnfv_vnf.tmp_file = "/tmp/config"
1081 result = opnfv_vnf.init_eal()
1082 self.assertIsNone(result)