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 # Unittest for yardstick.benchmark.contexts.standalone
20 from __future__ import absolute_import
27 from yardstick.benchmark.contexts import standalone
28 from yardstick.benchmark.contexts.standalone import ovsdpdk, sriov
31 'yardstick.benchmark.contexts': mock.MagicMock(),
32 'yardstick.benchmark.contexts.standalone.sriov': mock.MagicMock(),
33 'yardstick.benchmark.contexts.standalone.ovsdpdk': mock.MagicMock(),
34 'yardstick.benchmark.contexts.standalone': mock.MagicMock(),
38 @mock.patch('yardstick.benchmark.contexts.standalone.ovsdpdk.time')
39 @mock.patch('yardstick.benchmark.contexts.standalone.time')
40 @mock.patch('yardstick.benchmark.contexts.standalone.sriov.time')
41 class StandaloneContextTestCase(unittest.TestCase):
42 NODES_SAMPLE = "nodes_sample_new.yaml"
43 NODES_SAMPLE_SRIOV = "nodes_sample_new_sriov.yaml"
44 NODES_DUPLICATE_SAMPLE = "nodes_duplicate_sample_new.yaml"
46 NODES_SAMPLE_OVSDPDK = "nodes_sample_ovs.yaml"
47 NODES_SAMPLE_OVSDPDK_ROLE = "nodes_sample_ovsdpdk.yaml"
48 NODES_DUPLICATE_OVSDPDK = "nodes_duplicate_sample_ovs.yaml"
51 self.test_context = standalone.StandaloneContext()
53 def test_construct(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
54 self.assertIsNone(self.test_context.name)
55 self.assertIsNone(self.test_context.file_path)
56 self.assertEqual(self.test_context.nodes, [])
57 self.assertEqual(self.test_context.nfvi_node, [])
59 def test_unsuccessful_init(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
62 'file': self._get_file_abspath("error_file")
64 self.assertRaises(IOError, self.test_context.init, attrs)
66 def test_successful_init_sriov(self, mock_sriov_time, mock_standlalone_time,
70 'file': self._get_file_abspath(self.NODES_SAMPLE)
72 self.test_context.nfvi_node = [{
74 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
75 'ip': '10.223.197.140',
78 'images': '/var/lib/libvirt/images/ubuntu1.img',
80 'password': 'intel123',
81 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
82 self.test_context.get_nfvi_obj = mock.Mock()
83 self.test_context.init(attrs_sriov)
84 self.assertEqual(self.test_context.name, "sriov")
85 self.assertEqual(len(self.test_context.nodes), 2)
86 self.assertEqual(len(self.test_context.nfvi_node), 2)
87 self.assertEqual(self.test_context.nfvi_node[0]["name"], "sriov")
89 def test_successful_init_ovs(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
92 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
94 self.test_context.nfvi_node = [{
96 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
97 'ip': '10.223.197.140',
100 'vpath': '/usr/local/',
101 'images': '/var/lib/libvirt/images/ubuntu1.img',
102 'phy_driver': 'i40e',
103 'password': 'password',
104 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
105 self.test_context.get_nfvi_obj = mock.Mock()
106 self.test_context.init(attrs_ovs)
107 self.assertEqual(self.test_context.name, "ovs")
108 self.assertEqual(len(self.test_context.nodes), 2)
109 self.assertEqual(len(self.test_context.nfvi_node), 2)
110 self.assertEqual(self.test_context.nfvi_node[0]["name"], "ovs")
112 def test__get_server_with_dic_attr_name_sriov(self, mock_sriov_time, mock_standlalone_time,
116 'file': self._get_file_abspath(self.NODES_SAMPLE)
118 self.test_context.nfvi_node = [{
120 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
121 'ip': '10.223.197.140',
124 'images': '/var/lib/libvirt/images/ubuntu1.img',
125 'phy_driver': 'i40e',
126 'password': 'intel123',
127 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
128 self.test_context.init(attrs_sriov)
129 attr_name = {'name': 'foo.bar'}
130 result = self.test_context._get_server(attr_name)
131 self.assertEqual(result, None)
133 def test__get_server_with_dic_attr_name_ovs(self, mock_sriov_time, mock_standlalone_time,
137 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
139 self.test_context.nfvi_node = [{
141 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
142 'ip': '10.223.197.140',
145 'vpath': '/usr/local/',
146 'images': '/var/lib/libvirt/images/ubuntu1.img',
147 'phy_driver': 'i40e',
148 'password': 'intel123',
149 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
150 self.test_context.init(attrs_ovs)
151 attr_name = {'name': 'foo.bar'}
152 result = self.test_context._get_server(attr_name)
153 self.assertEqual(result, None)
155 def test__get_server_not_found_sriov(self, mock_sriov_time, mock_standlalone_time,
159 'file': self._get_file_abspath(self.NODES_SAMPLE)
161 self.test_context.nfvi_node = [{
163 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
164 'ip': '10.223.197.140',
167 'images': '/var/lib/libvirt/images/ubuntu1.img',
168 'phy_driver': 'i40e',
169 'password': 'password',
170 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
171 self.test_context.init(attrs)
172 attr_name = 'bar.foo'
173 result = self.test_context._get_server(attr_name)
174 self.assertEqual(result, None)
176 def test__get_server_not_found_ovs(self, mock_sriov_time, mock_standlalone_time,
180 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
182 self.test_context.nfvi_node = [{
184 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
185 'ip': '10.223.197.140',
188 'vpath': '/usr/local/',
189 'images': '/var/lib/libvirt/images/ubuntu1.img',
190 'phy_driver': 'i40e',
191 'password': 'password',
192 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
193 self.test_context.init(attrs)
194 attr_name = 'bar.foo'
195 result = self.test_context._get_server(attr_name)
196 self.assertEqual(result, None)
198 def test__get_server_duplicate_sriov(self, mock_sriov_time, mock_standlalone_time,
202 'file': self._get_file_abspath(self.NODES_DUPLICATE_SAMPLE)
204 self.test_context.nfvi_node = [{
206 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
207 'ip': '10.223.197.140',
210 'images': '/var/lib/libvirt/images/ubuntu1.img',
211 'phy_driver': 'i40e',
212 'password': 'password',
213 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
214 self.test_context.get_nfvi_obj = mock.Mock(return_value="sriov")
215 self.test_context.init(attrs)
216 attr_name = 'sriov.foo'
217 # self.test_context.name = "sriov"
218 self.assertRaises(ValueError, self.test_context._get_server, attr_name)
220 def test__get_server_duplicate_ovs(self, mock_sriov_time, mock_standlalone_time,
224 'file': self._get_file_abspath(self.NODES_DUPLICATE_OVSDPDK)
226 self.test_context.nfvi_node = [{
228 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
229 'ip': '10.223.197.140',
232 'vpath': '/usr/local/',
233 'images': '/var/lib/libvirt/images/ubuntu1.img',
234 'phy_driver': 'i40e',
235 'password': 'intel123',
236 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
238 self.test_context.get_nfvi_obj = mock.Mock(return_value="OvsDpdk")
239 self.test_context.init(attrs)
241 attr_name = 'ovs.foo'
244 self.test_context._get_server,
247 def test__get_server_found_sriov(self, mock_sriov_time, mock_standlalone_time,
251 'file': self._get_file_abspath(self.NODES_SAMPLE_SRIOV)
253 self.test_context.nfvi_node = [{
255 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
256 'ip': '10.223.197.140',
259 'images': '/var/lib/libvirt/images/ubuntu1.img',
260 'phy_driver': 'i40e',
261 'password': 'intel123',
262 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
264 self.test_context.get_nfvi_obj = mock.Mock(return_value="OvsDpdk")
265 self.test_context.init(attrs)
266 attr_name = 'sriov.foo'
267 result = self.test_context._get_server(attr_name)
268 self.assertEqual(result['ip'], '10.123.123.122')
269 self.assertEqual(result['name'], 'sriov.foo')
270 self.assertEqual(result['user'], 'root')
272 def test__get_server_found_ovs(self, mock_sriov_time, mock_standlalone_time,
276 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK_ROLE)
278 self.test_context.nfvi_node = [{
280 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
281 'ip': '10.223.197.140',
284 'vpath': '/usr/local/',
285 'images': '/var/lib/libvirt/images/ubuntu1.img',
286 'phy_driver': 'i40e',
287 'password': 'password',
288 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
289 self.test_context.get_nfvi_obj = mock.Mock(return_value="OvsDpdk")
290 self.test_context.init(attrs)
291 attr_name = 'ovs.foo'
292 result = self.test_context._get_server(attr_name)
293 self.assertEqual(result['ip'], '10.223.197.222')
294 self.assertEqual(result['name'], 'ovs.foo')
295 self.assertEqual(result['user'], 'root')
297 def test__deploy_unsuccessful(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
298 self.test_context.vm_deploy = False
300 def test__deploy_sriov_firsttime(self, mock_sriov_time, mock_standlalone_time,
304 'file': self._get_file_abspath(self.NODES_SAMPLE)
306 self.test_context.nfvi_node = [{
308 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
309 'ip': '10.223.197.140',
312 'images': '/var/lib/libvirt/images/ubuntu1.img',
313 'phy_driver': 'i40e',
314 'password': 'intel123',
315 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
319 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
320 'ip': '10.223.197.140',
323 'images': '/var/lib/libvirt/images/ubuntu1.img',
324 'phy_driver': 'i40e',
325 'password': 'intel123',
326 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
328 self.test_context.vm_deploy = True
330 self.test_context.get_nfvi_obj = mock.MagicMock()
331 self.test_context.init(attrs)
332 self.test_context.nfvi_obj.sriov = MYSRIOV
333 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
334 self.test_context.nfvi_obj.first_run = True
335 self.test_context.nfvi_obj.install_req_libs()
336 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
337 PORTS = ['0000:06:00.0', '0000:06:00.1']
339 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
340 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
341 'pci': ['0000:06:00.0', '0000:06:00.1'],
342 'phy_driver': 'i40e'}
344 result = self.test_context.nfvi_obj.setup_sriov_context(
348 print("{0}".format(result))
349 self.assertIsNone(self.test_context.deploy())
351 def test__deploy_sriov_notfirsttime(self, mock_sriov_time, mock_standlalone_time,
355 'file': self._get_file_abspath(self.NODES_SAMPLE)
358 self.test_context.nfvi_node = [{
360 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
361 'ip': '10.223.197.140',
364 'images': '/var/lib/libvirt/images/ubuntu1.img',
365 'phy_driver': 'i40e',
366 'password': 'intel123',
367 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
370 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
371 'ip': '10.223.197.140',
374 'images': '/var/lib/libvirt/images/ubuntu1.img',
375 'phy_driver': 'i40e',
376 'password': 'intel123',
377 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
379 self.test_context.vm_deploy = True
380 self.test_context.get_nfvi_obj = mock.MagicMock()
381 self.test_context.init(attrs)
382 self.test_context.nfvi_obj.sriov = MYSRIOV
383 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
384 self.test_context.nfvi_obj.first_run = False
385 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
386 PORTS = ['0000:06:00.0', '0000:06:00.1']
388 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
389 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
390 'pci': ['0000:06:00.0', '0000:06:00.1'],
391 'phy_driver': 'i40e'}
393 result = self.test_context.nfvi_obj.setup_sriov_context(
397 print("{0}".format(result))
398 self.assertIsNone(self.test_context.deploy())
400 def test__deploy_ovs_firsttime(self, mock_sriov_time, mock_standlalone_time,
404 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
407 self.test_context.nfvi_node = [{
409 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
410 'ip': '10.223.197.140',
413 'vpath': '/usr/local/',
414 'images': '/var/lib/libvirt/images/ubuntu1.img',
415 'phy_driver': 'i40e',
416 'password': 'password',
417 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
421 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
422 'ip': '10.223.197.140',
425 'vpath': '/usr/local/',
426 'images': '/var/lib/libvirt/images/ubuntu1.img',
427 'phy_driver': 'i40e',
428 'password': 'password',
429 'flow': ['ovs-ofctl add-flow br0 in_port=1,action=output:3',
430 'ovs-ofctl add-flow br0 in_port=3,action=output:1'
431 'ovs-ofctl add-flow br0 in_port=4,action=output:2'
432 'ovs-ofctl add-flow br0 in_port=2,action=output:4'],
433 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
435 self.test_context.vm_deploy = True
436 self.test_context.get_nfvi_obj = mock.MagicMock()
437 self.test_context.init(attrs)
438 self.test_context.ovs = MYOVS
439 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
440 self.test_context.nfvi_obj.first_run = True
441 self.test_context.nfvi_obj.install_req_libs()
442 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
443 PORTS = ['0000:06:00.0', '0000:06:00.1']
445 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
446 'vports_mac': ['00:00:00:00:00:05', '00:00:00:00:00:06'],
447 'pci': ['0000:06:00.0', '0000:06:00.1'],
448 'phy_driver': 'i40e'}
451 self.test_context.nfvi_obj.setup_ovs = mock.Mock()
452 self.test_context.nfvi_obj.start_ovs_serverswitch = mock.Mock()
453 self.test_context.nfvi_obj.setup_ovs_bridge = mock.Mock()
454 self.test_context.nfvi_obj.add_oflows = mock.Mock()
456 result = self.test_context.nfvi_obj.setup_ovs_context(
460 print("{0}".format(result))
461 self.assertIsNone(self.test_context.deploy())
463 def test__deploy_ovs_notfirsttime(self, mock_sriov_time, mock_standlalone_time,
467 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
469 self.test_context.nfvi_node = [{
471 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
472 'ip': '10.223.197.140',
475 'vpath': '/usr/local/',
476 'images': '/var/lib/libvirt/images/ubuntu1.img',
477 'phy_driver': 'i40e',
478 'password': 'password',
479 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
483 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
484 'ip': '10.223.197.140',
487 'vpath': '/usr/local/',
488 'images': '/var/lib/libvirt/images/ubuntu1.img',
489 'phy_driver': 'i40e',
490 'password': 'password',
491 'flow': ['ovs-ofctl add-flow br0 in_port=1,action=output:3',
492 'ovs-ofctl add-flow br0 in_port=3,action=output:1'
493 'ovs-ofctl add-flow br0 in_port=4,action=output:2'
494 'ovs-ofctl add-flow br0 in_port=2,action=output:4'],
495 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
497 self.test_context.vm_deploy = True
498 self.test_context.get_nfvi_obj = mock.MagicMock()
499 self.test_context.init(attrs)
500 self.test_context.ovs = MYOVS
501 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
502 self.test_context.nfvi_obj.first_run = False
503 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
504 PORTS = ['0000:06:00.0', '0000:06:00.1']
506 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
507 'vports_mac': ['00:00:00:00:00:05', '00:00:00:00:00:06'],
508 'pci': ['0000:06:00.0', '0000:06:00.1'],
509 'phy_driver': 'i40e'}
512 self.test_context.nfvi_obj.setup_ovs(PORTS)
513 self.test_context.nfvi_obj.start_ovs_serverswitch()
514 self.test_context.nfvi_obj.setup_ovs_bridge()
515 self.test_context.nfvi_obj.add_oflows()
517 result = self.test_context.nfvi_obj.setup_ovs_context(
521 print("{0}".format(result))
522 self.assertIsNone(self.test_context.deploy())
524 def test_undeploy_sriov(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
527 'file': self._get_file_abspath(self.NODES_SAMPLE)
529 self.test_context.nfvi_node = [{
531 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
532 'ip': '10.223.197.140',
535 'images': '/var/lib/libvirt/images/ubuntu1.img',
536 'phy_driver': 'i40e',
537 'password': 'intel123',
538 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
539 self.test_context.get_nfvi_obj = mock.MagicMock()
540 self.test_context.init(attrs)
541 self.test_context.nfvi_obj.destroy_vm = mock.Mock()
542 self.assertIsNone(self.test_context.undeploy())
544 def test_undeploy_ovs(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
547 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
550 self.test_context.nfvi_node = [{
552 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
553 'ip': '10.223.197.140',
556 'vpath': '/usr/local/',
557 'images': '/var/lib/libvirt/images/ubuntu1.img',
558 'phy_driver': 'i40e',
559 'password': 'password',
560 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
562 self.test_context.get_nfvi_obj = mock.MagicMock()
563 self.test_context.init(attrs)
564 self.test_context.nfvi_obj.destroy_vm = mock.Mock()
565 self.assertIsNone(self.test_context.undeploy())
567 def test_get_nfvi_obj_sriov(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
568 with mock.patch('yardstick.benchmark.contexts.standalone.sriov'):
571 'file': self._get_file_abspath(self.NODES_SAMPLE)
573 self.test_context.init(attrs)
574 self.test_context.nfvi_obj.file_path = self._get_file_abspath(
576 self.test_context.nfvi_node = [{
578 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
579 'ip': '10.223.197.140',
582 'images': '/var/lib/libvirt/images/ubuntu1.img',
583 'phy_driver': 'i40e',
584 'password': 'intel123',
585 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
586 self.test_context.get_nfvi_obj = mock.MagicMock()
587 self.test_context.init(attrs)
588 self.test_context.get_context_impl = mock.Mock(
589 return_value=sriov.Sriov)
590 self.assertIsNotNone(self.test_context.get_nfvi_obj())
592 def test_get_nfvi_obj_ovs(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
593 with mock.patch('yardstick.benchmark.contexts.standalone.ovsdpdk'):
596 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
598 self.test_context.init(attrs)
599 self.test_context.nfvi_obj.file_path = self._get_file_abspath(
601 self.test_context.nfvi_node = [{
603 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
604 'ip': '10.223.197.140',
607 'vpath': '/usr/local/',
608 'images': '/var/lib/libvirt/images/ubuntu1.img',
609 'phy_driver': 'i40e',
610 'password': 'password',
611 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
612 self.test_context.get_nfvi_obj = mock.MagicMock()
613 self.test_context.init(attrs)
614 self.test_context.get_context_impl = mock.Mock(
615 return_value=ovsdpdk.Ovsdpdk)
616 self.assertIsNotNone(self.test_context.get_nfvi_obj())
618 def test_get_context_impl_correct_obj(self, mock_sriov_time, mock_standlalone_time,
620 with mock.patch.dict("sys.modules", MOCKS):
621 self.assertIsNotNone(self.test_context.get_context_impl('Sriov'))
623 def test_get_context_impl_wrong_obj(self, mock_sriov_time, mock_standlalone_time,
625 with mock.patch.dict("sys.modules", MOCKS):
628 lambda: self.test_context.get_context_impl('wrong_object'))
630 def _get_file_abspath(self, filename):
631 curr_path = os.path.dirname(os.path.abspath(__file__))
632 file_path = os.path.join(curr_path, filename)
635 def test__get_network(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
639 'segmentation_id': 'seg54',
640 'network_type': 'type_a',
641 'physical_network': 'phys',
647 self.test_context.networks = {
653 self.assertIsNone(self.test_context._get_network(attr_name))
656 self.assertIsNone(self.test_context._get_network(attr_name))
658 attr_name = {'vld_id': 'vld777'}
659 self.assertIsNone(self.test_context._get_network(attr_name))
662 self.assertIsNone(self.test_context._get_network(attr_name))
664 attr_name = {'vld_id': 'vld999'}
668 "segmentation_id": None,
669 "network_type": None,
670 "physical_network": None,
672 result = self.test_context._get_network(attr_name)
673 self.assertDictEqual(result, expected)
677 result = self.test_context._get_network(attr_name)
678 self.assertDictEqual(result, expected)
680 if __name__ == '__main__':