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 = ''
201 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
202 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
204 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
205 opnfv_vnf.rules = 'new'
206 self.assertIsNotNone(opnfv_vnf.generate_rule_config())
208 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
209 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
210 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
211 def test_generate_action_config(self, mock_open, mock_os, ConfigParser):
212 topology_file = mock.Mock()
213 config_tpl = mock.Mock()
214 tmp_file = mock.Mock()
215 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
216 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
218 opnfv_vnf.start_core = 0
219 opnfv_vnf.update_write_parser = mock.MagicMock()
220 opnfv_vnf.generate_script_data = \
221 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
222 'arp_config6': '', 'actions': '',
224 opnfv_vnf.port_pair_list = [[[0], [1]]]
225 opnfv_vnf.get_port_pairs = mock.Mock()
226 opnfv_vnf.vnf_type = 'VFW'
227 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
228 opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
229 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
230 opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
231 opnfv_vnf.txrx_pipeline = ''
233 self.assertIsNotNone(opnfv_vnf.generate_action_config())
235 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
236 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
237 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
238 def test_generate_arp_config6(self, mock_open, mock_os, ConfigParser):
239 topology_file = mock.Mock()
240 config_tpl = mock.Mock()
241 tmp_file = mock.Mock()
242 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
243 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
245 opnfv_vnf.start_core = 0
246 opnfv_vnf.update_write_parser = mock.MagicMock()
247 opnfv_vnf.generate_script_data = \
248 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
249 'arp_config6': '', 'actions': '',
251 opnfv_vnf.port_pair_list = [[[0], [1]]]
252 opnfv_vnf.get_port_pairs = mock.Mock()
253 opnfv_vnf.vnf_type = 'VFW'
254 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
255 opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
256 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
257 opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
258 opnfv_vnf.txrx_pipeline = ''
260 opnfv_vnf.interfaces = mock.MagicMock()
261 opnfv_vnf.get_ports_gateway6 = mock.Mock()
262 self.assertIsNotNone(opnfv_vnf.generate_arp_config6())
264 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
265 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
266 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
267 def test_generate_arp_config(self, mock_open, mock_os, ConfigParser):
268 topology_file = mock.Mock()
269 config_tpl = mock.Mock()
270 tmp_file = mock.Mock()
271 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
272 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
274 opnfv_vnf.start_core = 0
275 opnfv_vnf.update_write_parser = mock.MagicMock()
276 opnfv_vnf.generate_script_data = \
277 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
278 'arp_config6': '', 'actions': '',
280 opnfv_vnf.port_pair_list = [[[0], [1]]]
281 opnfv_vnf.get_port_pairs = mock.Mock()
282 opnfv_vnf.vnf_type = 'VFW'
283 opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
284 opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
285 opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
286 opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
287 opnfv_vnf.txrx_pipeline = ''
289 opnfv_vnf.interfaces = mock.MagicMock()
290 opnfv_vnf.get_ports_gateway6 = mock.Mock()
291 self.assertIsNotNone(opnfv_vnf.generate_arp_config())
293 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
294 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
295 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
296 def test_get_ports_gateway(self, mock_open, mock_os, ConfigParser):
297 topology_file = mock.Mock()
298 config_tpl = mock.Mock()
299 tmp_file = mock.Mock()
300 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
301 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
303 opnfv_vnf.start_core = 0
304 opnfv_vnf.update_write_parser = mock.MagicMock()
305 opnfv_vnf.generate_script_data = \
306 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
307 'arp_config6': '', 'actions': '',
309 opnfv_vnf.port_pair_list = [[[0], [1]]]
310 opnfv_vnf.get_port_pairs = mock.Mock()
311 opnfv_vnf.vnf_type = 'VFW'
312 opnfv_vnf.txrx_pipeline = ''
314 opnfv_vnf.interfaces = mock.MagicMock()
315 opnfv_vnf.get_ports_gateway6 = mock.Mock()
316 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
317 self.assertIsNotNone(opnfv_vnf.get_ports_gateway('xe0'))
319 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
320 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
321 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
322 def test_get_ports_gateway6(self, mock_open, mock_os, ConfigParser):
323 topology_file = mock.Mock()
324 config_tpl = mock.Mock()
325 tmp_file = mock.Mock()
326 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
327 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
329 opnfv_vnf.start_core = 0
330 opnfv_vnf.update_write_parser = mock.MagicMock()
331 opnfv_vnf.generate_script_data = \
332 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
333 'arp_config6': '', 'actions': '',
335 opnfv_vnf.port_pair_list = [[[0], [1]]]
336 opnfv_vnf.get_port_pairs = mock.Mock()
337 opnfv_vnf.vnf_type = 'VFW'
338 opnfv_vnf.txrx_pipeline = ''
340 opnfv_vnf.interfaces = mock.MagicMock()
341 opnfv_vnf.get_ports_gateway6 = mock.Mock()
342 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
343 self.assertIsNotNone(opnfv_vnf.get_ports_gateway6('xe0'))
345 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
346 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
347 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
348 def test_get_netmask_gateway(self, mock_open, mock_os, ConfigParser):
349 topology_file = mock.Mock()
350 config_tpl = mock.Mock()
351 tmp_file = mock.Mock()
352 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
353 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
355 opnfv_vnf.start_core = 0
356 opnfv_vnf.update_write_parser = mock.MagicMock()
357 opnfv_vnf.generate_script_data = \
358 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
359 'arp_config6': '', 'actions': '',
361 opnfv_vnf.port_pair_list = [[[0], [1]]]
362 opnfv_vnf.get_port_pairs = mock.Mock()
363 opnfv_vnf.vnf_type = 'VFW'
364 opnfv_vnf.txrx_pipeline = ''
366 opnfv_vnf.interfaces = mock.MagicMock()
367 opnfv_vnf.get_ports_gateway6 = mock.Mock()
368 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
369 self.assertIsNotNone(opnfv_vnf.get_netmask_gateway('xe0'))
371 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
372 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
373 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
374 def test_get_netmask_gateway6(self, mock_open, mock_os, ConfigParser):
375 topology_file = mock.Mock()
376 config_tpl = mock.Mock()
377 tmp_file = mock.Mock()
378 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
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 = [[[0], [1]]]
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_netmask_gateway6('xe0'))
397 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
398 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
399 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
400 def test_generate_link_config(self, mock_open, mock_os, ConfigParser):
401 topology_file = mock.Mock()
402 config_tpl = mock.Mock()
403 tmp_file = mock.Mock()
404 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
405 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
407 opnfv_vnf.start_core = 0
408 opnfv_vnf.update_write_parser = mock.MagicMock()
409 opnfv_vnf.generate_script_data = \
410 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
411 'arp_config6': '', 'actions': '',
413 opnfv_vnf.port_pair_list = [[[0], [1]]]
414 opnfv_vnf.get_port_pairs = mock.Mock()
415 opnfv_vnf.vnf_type = 'VFW'
416 opnfv_vnf.txrx_pipeline = ''
418 opnfv_vnf.get_ports_gateway6 = mock.Mock()
419 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
420 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
421 self.assertIsNotNone(opnfv_vnf.generate_link_config())
423 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
424 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
425 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
426 def test_generate_config(self, mock_open, mock_os, ConfigParser):
427 topology_file = mock.Mock()
428 config_tpl = mock.Mock()
429 tmp_file = mock.Mock()
430 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
431 opnfv_vnf.get_config_tpl_data = mock.MagicMock()
433 opnfv_vnf.start_core = 0
434 opnfv_vnf.update_write_parser = mock.MagicMock()
435 opnfv_vnf.generate_script_data = \
436 mock.Mock(return_value={'link_config': 0, 'arp_config': '',
437 'arp_config6': '', 'actions': '',
439 opnfv_vnf.port_pair_list = [[[0], [1]]]
440 opnfv_vnf.txrx_pipeline = ''
442 opnfv_vnf.get_ports_gateway6 = mock.Mock()
443 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
444 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
445 opnfv_vnf.generate_lb_to_port_pair_mapping = mock.Mock()
446 opnfv_vnf.generate_config_data = mock.Mock()
447 opnfv_vnf.write_parser = mock.MagicMock()
448 opnfv_vnf.is_openstack = True
449 self.assertIsNone(opnfv_vnf.generate_config())
450 opnfv_vnf.is_openstack = False
451 self.assertIsNone(opnfv_vnf.generate_config())
453 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
454 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
455 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
456 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
457 def test_get_config_tpl_data(self, mock_open, mock_os, ConfigParser,
459 topology_file = mock.Mock()
460 config_tpl = mock.Mock()
461 tmp_file = mock.Mock()
462 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
464 opnfv_vnf.start_core = 0
465 opnfv_vnf.port_pair_list = [[[0], [1]]]
466 opnfv_vnf.txrx_pipeline = ''
468 opnfv_vnf.write_parser = mock.MagicMock()
469 opnfv_vnf.read_parser = mock.MagicMock()
470 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
471 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
472 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
474 self.assertIsNotNone(opnfv_vnf.get_config_tpl_data('filename'))
476 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
477 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
478 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
479 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
480 def test_get_txrx_tpl_data(self, mock_open, mock_os, ConfigParser,
482 topology_file = mock.Mock()
483 config_tpl = mock.Mock()
484 tmp_file = mock.Mock()
485 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
487 opnfv_vnf.start_core = 0
488 opnfv_vnf.port_pair_list = [[[0], [1]]]
489 opnfv_vnf.txrx_pipeline = ''
491 opnfv_vnf.write_parser = mock.MagicMock()
492 opnfv_vnf.read_parser = mock.MagicMock()
493 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
494 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
495 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
497 self.assertIsNotNone(opnfv_vnf.get_txrx_tpl_data('filename'))
499 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
500 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
501 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
502 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
503 def test_init_write_parser_template(self, mock_open, mock_os, ConfigParser,
505 topology_file = mock.Mock()
506 config_tpl = mock.Mock()
507 tmp_file = mock.Mock()
508 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
510 opnfv_vnf.start_core = 0
511 opnfv_vnf.port_pair_list = [[[0], [1]]]
512 opnfv_vnf.txrx_pipeline = ''
514 opnfv_vnf.write_parser = mock.MagicMock()
515 opnfv_vnf.read_parser = mock.MagicMock()
516 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
517 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
518 opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
520 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
521 opnfv_vnf.write_parser.add_section = mock.MagicMock()
522 opnfv_vnf.read_parser.item = mock.Mock(return_value=[1, 2, 3])
523 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=False)
524 opnfv_vnf.write_parser.set = mock.Mock()
525 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
527 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
528 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
529 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
530 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
531 def test_init_write_parser_template_2(self, mock_open, mock_os, ConfigParser,
533 topology_file = mock.Mock()
534 config_tpl = mock.Mock()
535 tmp_file = mock.Mock()
536 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
538 opnfv_vnf.start_core = 0
539 opnfv_vnf.port_pair_list = [[[0], [1]]]
540 opnfv_vnf.txrx_pipeline = ''
542 opnfv_vnf.write_parser = mock.MagicMock()
543 opnfv_vnf.read_parser = mock.MagicMock()
544 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
545 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
546 opnfv_vnf.write_parser.set = mock.Mock()
547 opnfv_vnf.read_parser.items = mock.MagicMock()
548 self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
550 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
551 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
552 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
553 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
554 def test_update_write_parser(self, mock_open, mock_os, ConfigParser,
556 topology_file = mock.Mock()
557 config_tpl = mock.Mock()
558 tmp_file = mock.Mock()
559 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
561 opnfv_vnf.start_core = 0
562 opnfv_vnf.port_pair_list = [[[0], [1]]]
563 opnfv_vnf.txrx_pipeline = ''
565 opnfv_vnf.write_parser = mock.MagicMock()
566 opnfv_vnf.read_parser = mock.MagicMock()
567 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
568 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
569 opnfv_vnf.write_parser.set = mock.Mock()
570 opnfv_vnf.write_parser.add_section = mock.Mock()
571 opnfv_vnf.read_parser.items = mock.MagicMock()
572 opnfv_vnf.pipeline_counter = 0
573 self.assertIsNone(opnfv_vnf.update_write_parser({'filename': 1}))
575 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
576 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
577 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
578 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
579 def test_get_worker_threads(self, mock_open, mock_os, ConfigParser,
581 topology_file = mock.Mock()
582 config_tpl = mock.Mock()
583 tmp_file = mock.Mock()
584 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
586 opnfv_vnf.start_core = 0
587 opnfv_vnf.port_pair_list = [[[0], [1]]]
588 opnfv_vnf.txrx_pipeline = ''
590 opnfv_vnf.write_parser = mock.MagicMock()
591 opnfv_vnf.read_parser = mock.MagicMock()
592 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
593 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
594 opnfv_vnf.write_parser.set = mock.Mock()
595 opnfv_vnf.write_parser.add_section = mock.Mock()
596 opnfv_vnf.read_parser.items = mock.MagicMock()
597 opnfv_vnf.pipeline_counter = 0
598 opnfv_vnf.worker_config = '1t'
599 result = opnfv_vnf.get_worker_threads(1)
600 self.assertEqual(1, result)
601 opnfv_vnf.worker_config = '2t'
602 result = opnfv_vnf.get_worker_threads(2)
603 self.assertEqual(2, result)
604 opnfv_vnf.worker_config = '2t'
605 result = opnfv_vnf.get_worker_threads(3)
606 self.assertEqual(2, result)
608 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
609 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
610 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
611 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
612 def test_generate_next_core_id(self, mock_open, mock_os, ConfigParser,
614 topology_file = mock.Mock()
615 config_tpl = mock.Mock()
616 tmp_file = mock.Mock()
617 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
619 opnfv_vnf.start_core = 0
620 opnfv_vnf.port_pair_list = [[[0], [1]]]
621 opnfv_vnf.txrx_pipeline = ''
623 opnfv_vnf.write_parser = mock.MagicMock()
624 opnfv_vnf.read_parser = mock.MagicMock()
625 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
626 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
627 opnfv_vnf.write_parser.set = mock.Mock()
628 opnfv_vnf.write_parser.add_section = mock.Mock()
629 opnfv_vnf.read_parser.items = mock.MagicMock()
630 opnfv_vnf.pipeline_counter = 0
631 opnfv_vnf.worker_config = '1t'
632 opnfv_vnf.start_core = 0
633 result = opnfv_vnf.generate_next_core_id()
634 self.assertEqual(None, result)
635 opnfv_vnf.worker_config = '2t'
636 opnfv_vnf.start_core = 'a'
637 self.assertRaises(ValueError, opnfv_vnf.generate_next_core_id)
638 opnfv_vnf.worker_config = '2t'
639 opnfv_vnf.start_core = 1
640 result = opnfv_vnf.generate_next_core_id()
641 self.assertEqual(None, result)
643 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
644 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
645 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
646 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
647 def test_generate_lb_to_port_pair_mapping(self, mock_open, mock_os, ConfigParser,
649 topology_file = mock.Mock()
650 config_tpl = mock.Mock()
651 tmp_file = mock.Mock()
652 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
654 opnfv_vnf.start_core = 0
655 opnfv_vnf.port_pair_list = [[[0], [1]]]
656 opnfv_vnf.txrx_pipeline = ''
658 opnfv_vnf.write_parser = mock.MagicMock()
659 opnfv_vnf.read_parser = mock.MagicMock()
660 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
661 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
662 opnfv_vnf.write_parser.set = mock.Mock()
663 opnfv_vnf.write_parser.add_section = mock.Mock()
664 opnfv_vnf.read_parser.items = mock.MagicMock()
665 opnfv_vnf.pipeline_counter = 0
666 opnfv_vnf.worker_config = '1t'
667 opnfv_vnf.start_core = 0
668 opnfv_vnf.lb_count = 1
669 result = opnfv_vnf.generate_lb_to_port_pair_mapping()
670 self.assertEqual(None, result)
671 result = opnfv_vnf.set_priv_to_pub_mapping()
672 self.assertEqual('(0, 1)', result)
674 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
675 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
676 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
677 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
678 def test_set_priv_que_handler(self, mock_open, mock_os, ConfigParser,
680 topology_file = mock.Mock()
681 config_tpl = mock.Mock()
682 tmp_file = mock.Mock()
683 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
685 opnfv_vnf.start_core = 0
686 opnfv_vnf.port_pair_list = [[[0], [1]]]
687 opnfv_vnf.port_pairs = [[[0], [1]]]
688 opnfv_vnf.txrx_pipeline = ''
690 opnfv_vnf.write_parser = mock.MagicMock()
691 opnfv_vnf.read_parser = mock.MagicMock()
692 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
693 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
694 opnfv_vnf.write_parser.set = mock.Mock()
695 opnfv_vnf.write_parser.add_section = mock.Mock()
696 opnfv_vnf.read_parser.items = mock.MagicMock()
697 opnfv_vnf.pipeline_counter = 0
698 opnfv_vnf.worker_config = '1t'
699 opnfv_vnf.start_core = 0
700 opnfv_vnf.lb_count = 1
701 result = opnfv_vnf.set_priv_que_handler()
702 self.assertEqual(None, result)
704 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
705 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
706 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
707 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
708 def test_generate_arpicmp_data(self, mock_open, mock_os, ConfigParser,
710 topology_file = mock.Mock()
711 config_tpl = mock.Mock()
712 tmp_file = mock.Mock()
713 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
715 opnfv_vnf.start_core = 0
716 opnfv_vnf.port_pair_list = [[[0], [1]]]
717 opnfv_vnf.port_pairs = [[[0], [1]]]
718 opnfv_vnf.txrx_pipeline = ''
720 opnfv_vnf.write_parser = mock.MagicMock()
721 opnfv_vnf.read_parser = mock.MagicMock()
722 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
723 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
724 opnfv_vnf.write_parser.set = mock.Mock()
725 opnfv_vnf.write_parser.add_section = mock.Mock()
726 opnfv_vnf.read_parser.items = mock.MagicMock()
727 opnfv_vnf.pipeline_counter = 0
728 opnfv_vnf.worker_config = '1t'
729 opnfv_vnf.start_core = 0
730 opnfv_vnf.lb_count = 1
731 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
732 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
733 result = opnfv_vnf.generate_arpicmp_data()
734 self.assertIsNotNone(result)
735 opnfv_vnf.nfv_type = 'ovs'
736 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
737 result = opnfv_vnf.generate_arpicmp_data()
738 self.assertIsNotNone(result)
739 opnfv_vnf.nfv_type = 'openstack'
740 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
741 result = opnfv_vnf.generate_arpicmp_data()
742 self.assertIsNotNone(result)
743 opnfv_vnf.lb_config = 'HW'
744 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
745 result = opnfv_vnf.generate_arpicmp_data()
746 self.assertIsNotNone(result)
748 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
749 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
750 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
751 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
752 def test_generate_final_txrx_data(self, mock_open, mock_os, ConfigParser,
754 topology_file = mock.Mock()
755 config_tpl = mock.Mock()
756 tmp_file = mock.Mock()
757 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
759 opnfv_vnf.start_core = 0
760 opnfv_vnf.port_pair_list = [[[0], [1]]]
761 opnfv_vnf.port_pairs = [[[0], [1]]]
762 opnfv_vnf.txrx_pipeline = ''
764 opnfv_vnf.write_parser = mock.MagicMock()
765 opnfv_vnf.read_parser = mock.MagicMock()
766 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
767 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
768 opnfv_vnf.write_parser.set = mock.Mock()
769 opnfv_vnf.write_parser.add_section = mock.Mock()
770 opnfv_vnf.read_parser.items = mock.MagicMock()
771 opnfv_vnf.pipeline_counter = 0
772 opnfv_vnf.worker_config = '1t'
773 opnfv_vnf.start_core = 0
774 opnfv_vnf.lb_count = 1
775 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
776 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
777 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
778 opnfv_vnf.ports_len = 2
779 opnfv_vnf.lb_index = 1
780 opnfv_vnf.pktq_out_os = [1, 2]
781 result = opnfv_vnf.generate_final_txrx_data()
782 self.assertIsNotNone(result)
783 opnfv_vnf.nfv_type = 'openstack'
784 opnfv_vnf.pktq_out_os = [1, 2]
785 opnfv_vnf.lb_index = 1
786 result = opnfv_vnf.generate_final_txrx_data()
787 self.assertIsNotNone(result)
789 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
790 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
791 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
792 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
793 def test_generate_initial_txrx_data(self, mock_open, mock_os,
794 ConfigParser, OrderedDict):
795 topology_file = mock.Mock()
796 config_tpl = mock.Mock()
797 tmp_file = mock.Mock()
798 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
800 opnfv_vnf.start_core = 0
801 opnfv_vnf.port_pair_list = [[[0], [1]]]
802 opnfv_vnf.port_pairs = [[[0], [1]]]
803 opnfv_vnf.txrx_pipeline = ''
805 opnfv_vnf.write_parser = mock.MagicMock()
806 opnfv_vnf.read_parser = mock.MagicMock()
807 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
808 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
809 opnfv_vnf.write_parser.set = mock.Mock()
810 opnfv_vnf.write_parser.add_section = mock.Mock()
811 opnfv_vnf.read_parser.items = mock.MagicMock()
812 opnfv_vnf.pipeline_counter = 0
813 opnfv_vnf.worker_config = '1t'
814 opnfv_vnf.start_core = 0
815 opnfv_vnf.lb_count = 1
816 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
817 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
818 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
819 opnfv_vnf.lb_index = 1
820 opnfv_vnf.ports_len = 2
821 result = opnfv_vnf.generate_initial_txrx_data()
822 self.assertIsNotNone(result)
823 opnfv_vnf.nfv_type = 'openstack'
824 opnfv_vnf.pktq_out_os = [1, 2]
825 result = opnfv_vnf.generate_initial_txrx_data()
826 self.assertIsNotNone(result)
827 opnfv_vnf.nfv_type = 'ovs'
828 opnfv_vnf.init_ovs = False
829 opnfv_vnf.ovs_pktq_out = ''
830 opnfv_vnf.pktq_out_os = [1, 2]
831 opnfv_vnf.lb_index = 1
832 result = opnfv_vnf.generate_initial_txrx_data()
833 self.assertIsNotNone(result)
834 opnfv_vnf.nfv_type = 'ovs'
835 opnfv_vnf.init_ovs = True
836 opnfv_vnf.pktq_out_os = [1, 2]
837 opnfv_vnf.ovs_pktq_out = ''
838 opnfv_vnf.lb_index = 1
839 result = opnfv_vnf.generate_initial_txrx_data()
840 self.assertIsNotNone(result)
842 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
843 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
844 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
845 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
846 def test_generate_lb_data(self, mock_open, mock_os, ConfigParser,
848 topology_file = mock.Mock()
849 config_tpl = mock.Mock()
850 tmp_file = mock.Mock()
851 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
853 opnfv_vnf.start_core = 0
854 opnfv_vnf.port_pair_list = [[[0], [1]]]
855 opnfv_vnf.port_pairs = [[[0], [1]]]
856 opnfv_vnf.txrx_pipeline = ''
858 opnfv_vnf.write_parser = mock.MagicMock()
859 opnfv_vnf.read_parser = mock.MagicMock()
860 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
861 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
862 opnfv_vnf.write_parser.set = mock.Mock()
863 opnfv_vnf.write_parser.add_section = mock.Mock()
864 opnfv_vnf.read_parser.items = mock.MagicMock()
865 opnfv_vnf.pipeline_counter = 0
866 opnfv_vnf.worker_config = '1t'
867 opnfv_vnf.start_core = 0
868 opnfv_vnf.lb_count = 1
869 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
870 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
871 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
872 opnfv_vnf.lb_index = 1
873 opnfv_vnf.ports_len = 2
874 opnfv_vnf.prv_que_handler = 0
875 result = opnfv_vnf.generate_lb_data()
876 self.assertIsNotNone(result)
878 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
879 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
880 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
881 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
882 def test_generate_vnf_data(self, mock_open, mock_os, ConfigParser,
884 topology_file = mock.Mock()
885 config_tpl = mock.Mock()
886 tmp_file = mock.Mock()
887 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
889 opnfv_vnf.start_core = 0
890 opnfv_vnf.port_pair_list = [[[0], [1]]]
891 opnfv_vnf.port_pairs = [[[0], [1]]]
892 opnfv_vnf.txrx_pipeline = ''
894 opnfv_vnf.write_parser = mock.MagicMock()
895 opnfv_vnf.read_parser = mock.MagicMock()
896 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
897 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
898 opnfv_vnf.write_parser.set = mock.Mock()
899 opnfv_vnf.write_parser.add_section = mock.Mock()
900 opnfv_vnf.read_parser.items = mock.MagicMock()
901 opnfv_vnf.pipeline_counter = 0
902 opnfv_vnf.worker_config = '1t'
903 opnfv_vnf.start_core = 0
904 opnfv_vnf.lb_count = 1
905 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
906 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
907 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
908 opnfv_vnf.lb_index = 1
909 opnfv_vnf.ports_len = 1
910 opnfv_vnf.pktq_out = ['1', '2']
911 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810',
912 'vnf_set': '(2,4,5)'}
913 opnfv_vnf.prv_que_handler = 0
914 result = opnfv_vnf.generate_vnf_data()
915 self.assertIsNotNone(result)
916 opnfv_vnf.lb_config = 'HW'
918 result = opnfv_vnf.generate_vnf_data()
919 self.assertIsNotNone(result)
920 opnfv_vnf.lb_config = 'HW'
922 opnfv_vnf.vnf_type = 'ACL'
923 result = opnfv_vnf.generate_vnf_data()
924 self.assertIsNotNone(result)
926 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
927 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
928 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
929 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
930 def test_generate_config_data(self, mock_open, mock_os, ConfigParser,
932 topology_file = mock.Mock()
933 config_tpl = mock.Mock()
934 tmp_file = mock.Mock()
935 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
937 opnfv_vnf.start_core = 0
938 opnfv_vnf.port_pair_list = [[[0], [1]]]
939 opnfv_vnf.port_pairs = [[[0], [1]]]
940 opnfv_vnf.txrx_pipeline = ''
942 opnfv_vnf.write_parser = mock.MagicMock()
943 opnfv_vnf.read_parser = mock.MagicMock()
944 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
945 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
946 opnfv_vnf.write_parser.set = mock.Mock()
947 opnfv_vnf.write_parser.add_section = mock.Mock()
948 opnfv_vnf.read_parser.items = mock.MagicMock()
949 opnfv_vnf.pipeline_counter = 0
950 opnfv_vnf.worker_config = '1t'
951 opnfv_vnf.start_core = 0
952 opnfv_vnf.lb_count = 1
953 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
954 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
955 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
956 opnfv_vnf.lb_index = 1
957 opnfv_vnf.ports_len = 1
958 opnfv_vnf.pktq_out = ['1', '2']
959 opnfv_vnf.prv_que_handler = 0
960 opnfv_vnf.init_write_parser_template = mock.Mock()
961 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
962 opnfv_vnf.txrx_tpl = mock.MagicMock()
963 opnfv_vnf.loadb_tpl = mock.MagicMock()
964 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
965 'vnf_set': "(2,4,5)"}
966 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
967 opnfv_vnf.update_write_parser = mock.Mock()
968 result = opnfv_vnf.generate_config_data()
969 self.assertIsNone(result)
970 opnfv_vnf.generate_final_txrx_data = mock.Mock()
971 opnfv_vnf.update_write_parser = mock.Mock()
972 result = opnfv_vnf.generate_config_data()
973 self.assertIsNone(result)
974 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
975 opnfv_vnf.lb_index = 1
976 opnfv_vnf.ports_len = 1
977 opnfv_vnf.pktq_out = ['1', '2']
978 opnfv_vnf.prv_que_handler = 0
979 opnfv_vnf.init_write_parser_template = mock.Mock()
980 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
981 opnfv_vnf.txrx_tpl = mock.MagicMock()
982 opnfv_vnf.loadb_tpl = mock.MagicMock()
983 opnfv_vnf.vnf_type = 'CGNAPT'
984 opnfv_vnf.update_timer = mock.Mock()
985 opnfv_vnf.port_pair_list = [[[0], [1], [2]]]
986 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
987 opnfv_vnf.generate_arpicmp_data = mock.Mock()
988 result = opnfv_vnf.generate_config_data()
989 self.assertIsNone(result)
991 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
992 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
993 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
994 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
995 def test_get_port_pairs(self, mock_open, mock_os, ConfigParser,
997 topology_file = mock.Mock()
998 config_tpl = mock.Mock()
999 tmp_file = mock.Mock()
1000 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
1001 opnfv_vnf.socket = 0
1002 opnfv_vnf.start_core = 0
1003 opnfv_vnf.port_pair_list = [[[0], [1]]]
1004 opnfv_vnf.port_pairs = [[[0], [1]]]
1005 opnfv_vnf.txrx_pipeline = ''
1006 opnfv_vnf.rules = ''
1007 opnfv_vnf.write_parser = mock.MagicMock()
1008 opnfv_vnf.read_parser = mock.MagicMock()
1009 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1010 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1011 opnfv_vnf.write_parser.set = mock.Mock()
1012 opnfv_vnf.write_parser.add_section = mock.Mock()
1013 opnfv_vnf.read_parser.items = mock.MagicMock()
1014 opnfv_vnf.pipeline_counter = 0
1015 opnfv_vnf.worker_config = '1t'
1016 opnfv_vnf.start_core = 0
1017 opnfv_vnf.lb_count = 1
1018 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1019 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1020 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1021 opnfv_vnf.lb_index = 1
1022 opnfv_vnf.ports_len = 1
1023 opnfv_vnf.pktq_out = ['1', '2']
1024 opnfv_vnf.prv_que_handler = 0
1025 opnfv_vnf.init_write_parser_template = mock.Mock()
1026 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1027 opnfv_vnf.txrx_tpl = mock.MagicMock()
1028 opnfv_vnf.loadb_tpl = mock.MagicMock()
1029 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
1030 'vnf_set': '(2,4,5)'}
1031 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1032 opnfv_vnf.update_write_parser = mock.Mock()
1034 curr_path = os.path.dirname(os.path.abspath(__file__))
1035 opnfv_vnf.topology_file = \
1036 os.path.join(curr_path, 'acl_vnf_topology_ixia.yaml')
1037 opnfv_vnf.lb_count = 10
1038 result = opnfv_vnf.get_port_pairs(opnfv_vnf.interfaces)
1039 self.assertEqual(result[0], [('xe0', 'xe1')])
1041 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
1042 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
1043 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
1044 @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
1045 def test_init_eal(self, mock_open, mock_os, ConfigParser,
1047 topology_file = mock.Mock()
1048 config_tpl = mock.Mock()
1049 tmp_file = mock.Mock()
1050 opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
1051 opnfv_vnf.socket = 0
1052 opnfv_vnf.start_core = 0
1053 opnfv_vnf.port_pair_list = [[[0], [1]]]
1054 opnfv_vnf.port_pairs = [[[0], [1]]]
1055 opnfv_vnf.txrx_pipeline = ''
1056 opnfv_vnf.rules = ''
1057 opnfv_vnf.write_parser = mock.MagicMock()
1058 opnfv_vnf.read_parser = mock.MagicMock()
1059 opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1060 opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1061 opnfv_vnf.write_parser.set = mock.Mock()
1062 opnfv_vnf.write_parser.add_section = mock.Mock()
1063 opnfv_vnf.read_parser.items = mock.MagicMock()
1064 opnfv_vnf.pipeline_counter = 0
1065 opnfv_vnf.worker_config = '1t'
1066 opnfv_vnf.start_core = 0
1067 opnfv_vnf.lb_count = 1
1068 opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1069 opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1070 opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1071 opnfv_vnf.lb_index = 1
1072 opnfv_vnf.ports_len = 1
1073 opnfv_vnf.pktq_out = ['1', '2']
1074 opnfv_vnf.prv_que_handler = 0
1075 opnfv_vnf.init_write_parser_template = mock.Mock()
1076 opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1077 opnfv_vnf.txrx_tpl = mock.MagicMock()
1078 opnfv_vnf.loadb_tpl = mock.MagicMock()
1079 opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)'}
1080 opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1081 opnfv_vnf.update_write_parser = mock.Mock()
1082 opnfv_vnf.tmp_file = "/tmp/config"
1083 result = opnfv_vnf.init_eal()
1084 self.assertIsNone(result)