1 # Copyright (c) 2019 Viosoft Corporation
3 # Licensed under the Apache License,Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing,software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
18 from yardstick.network_services.vnf_generic.vnf import vims_vnf
19 from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
22 class TestVimsPcscfVnf(unittest.TestCase):
25 "short-name": "SippVnf",
28 "id": "sippvnf-baremetal",
30 "external-interface": [
32 "virtual-interface": {
33 "vld_id": "ims_network",
35 "dst_mac": "90:e2:ba:7c:41:e8",
37 "local_ip": "10.80.3.11",
40 "vld_id": "data_network",
42 "dst_mac": "90:e2:ba:7c:30:e8",
44 "local_ip": "10.80.3.7",
45 "node_name": "vnf__0",
46 "netmask": "255.255.255.0",
48 "dst_ip": "10.80.3.11",
50 "local_mac": "90:e2:ba:7c:41:a8"
53 "vld_id": "ims_network",
55 "dst_mac": "90:e2:ba:7c:30:e8",
57 "local_ip": "10.80.3.7",
58 "node_name": "vnf__1",
59 "netmask": "255.255.255.0",
61 "dst_ip": "10.80.3.11",
63 "local_mac": "90:e2:ba:7c:41:e8"
67 "netmask": "255.255.255.0",
68 "peer_name": "vnf__1",
69 "dst_ip": "10.80.3.7",
71 "local_mac": "90:e2:ba:7c:30:e8"
73 "vnfd-connection-point-ref": "xe0",
77 "virtual-interface": {
78 "vld_id": "ims_network",
80 "dst_mac": "90:e2:ba:7c:41:e8",
82 "local_ip": "10.80.3.11",
85 "vld_id": "data_network",
87 "dst_mac": "90:e2:ba:7c:30:e8",
89 "local_ip": "10.80.3.7",
91 "vld_id": "ims_network",
93 "dst_mac": "90:e2:ba:7c:41:e8",
95 "local_ip": "10.80.3.11",
97 "netmask": "255.255.255.0",
98 "peer_name": "vnf__1",
99 "dst_ip": "10.80.3.7",
101 "local_mac": "90:e2:ba:7c:30:e8"
103 "node_name": "vnf__0",
104 "netmask": "255.255.255.0",
105 "peer_name": "tg__0",
106 "dst_ip": "10.80.3.11",
108 "local_mac": "90:e2:ba:7c:41:a8"
111 "vld_id": "ims_network",
112 "peer_ifname": "xe1",
113 "dst_mac": "90:e2:ba:7c:30:e8",
115 "local_ip": "10.80.3.7",
117 "vld_id": "ims_network",
118 "peer_ifname": "xe0",
119 "dst_mac": "90:e2:ba:7c:41:e8",
121 "local_ip": "10.80.3.11",
123 "vld_id": "data_network",
124 "peer_ifname": "xe1",
125 "dst_mac": "90:e2:ba:7c:30:e8",
127 "local_ip": "10.80.3.7",
128 "node_name": "vnf__0",
129 "netmask": "255.255.255.0",
130 "peer_name": "tg__0",
131 "dst_ip": "10.80.3.11",
133 "local_mac": "90:e2:ba:7c:41:a8"
135 "node_name": "tg__0",
136 "netmask": "255.255.255.0",
137 "peer_name": "vnf__1",
138 "dst_ip": "10.80.3.7",
140 "local_mac": "90:e2:ba:7c:30:e8"
142 "node_name": "vnf__1",
143 "netmask": "255.255.255.0",
144 "peer_name": "tg__0",
145 "dst_ip": "10.80.3.11",
147 "local_mac": "90:e2:ba:7c:41:e8"
150 "node_name": "tg__0",
151 "netmask": "255.255.255.0",
152 "peer_name": "vnf__1",
153 "dst_ip": "10.80.3.7",
155 "local_mac": "90:e2:ba:7c:30:e8"
157 "vnfd-connection-point-ref": "xe1",
161 "name": "sippvnf-baremetal",
162 "description": "Sipp"
165 "description": "ImsbenchSipp",
167 "vdu-id": "sipp-baremetal",
184 self.pcscf_vnf = vims_vnf.VimsPcscfVnf('vnf__0', self.VNFD_0)
186 def test___init__(self):
187 self.assertEqual(self.pcscf_vnf.name, 'vnf__0')
188 self.assertIsInstance(self.pcscf_vnf.resource_helper,
189 vims_vnf.VimsResourceHelper)
190 self.assertIsNone(self.pcscf_vnf._vnf_process)
192 def test_wait_for_instantiate(self):
193 self.assertIsNone(self.pcscf_vnf.wait_for_instantiate())
196 self.assertIsNone(self.pcscf_vnf._run())
198 def test_start_collect(self):
199 self.assertIsNone(self.pcscf_vnf.start_collect())
201 def test_collect_kpi(self):
202 self.assertIsNone(self.pcscf_vnf.collect_kpi())
205 class TestVimsHssVnf(unittest.TestCase):
208 "short-name": "SippVnf",
211 "id": "sippvnf-baremetal",
213 "external-interface": [
215 "virtual-interface": {
216 "vld_id": "ims_network",
217 "peer_ifname": "xe0",
218 "dst_mac": "90:e2:ba:7c:41:e8",
220 "local_ip": "10.80.3.11",
223 "vld_id": "data_network",
224 "peer_ifname": "xe1",
225 "dst_mac": "90:e2:ba:7c:30:e8",
227 "local_ip": "10.80.3.7",
228 "node_name": "vnf__0",
229 "netmask": "255.255.255.0",
230 "peer_name": "tg__0",
231 "dst_ip": "10.80.3.11",
233 "local_mac": "90:e2:ba:7c:41:a8"
236 "vld_id": "ims_network",
237 "peer_ifname": "xe1",
238 "dst_mac": "90:e2:ba:7c:30:e8",
240 "local_ip": "10.80.3.7",
241 "node_name": "vnf__1",
242 "netmask": "255.255.255.0",
243 "peer_name": "tg__0",
244 "dst_ip": "10.80.3.11",
246 "local_mac": "90:e2:ba:7c:41:e8"
249 "node_name": "tg__0",
250 "netmask": "255.255.255.0",
251 "peer_name": "vnf__1",
252 "dst_ip": "10.80.3.7",
254 "local_mac": "90:e2:ba:7c:30:e8"
256 "vnfd-connection-point-ref": "xe0",
260 "virtual-interface": {
261 "vld_id": "ims_network",
262 "peer_ifname": "xe0",
263 "dst_mac": "90:e2:ba:7c:41:e8",
265 "local_ip": "10.80.3.11",
268 "vld_id": "data_network",
269 "peer_ifname": "xe1",
270 "dst_mac": "90:e2:ba:7c:30:e8",
272 "local_ip": "10.80.3.7",
274 "vld_id": "ims_network",
275 "peer_ifname": "xe0",
276 "dst_mac": "90:e2:ba:7c:41:e8",
278 "local_ip": "10.80.3.11",
279 "node_name": "tg__0",
280 "netmask": "255.255.255.0",
281 "peer_name": "vnf__1",
282 "dst_ip": "10.80.3.7",
284 "local_mac": "90:e2:ba:7c:30:e8"
286 "node_name": "vnf__0",
287 "netmask": "255.255.255.0",
288 "peer_name": "tg__0",
289 "dst_ip": "10.80.3.11",
291 "local_mac": "90:e2:ba:7c:41:a8"
294 "vld_id": "ims_network",
295 "peer_ifname": "xe1",
296 "dst_mac": "90:e2:ba:7c:30:e8",
298 "local_ip": "10.80.3.7",
300 "vld_id": "ims_network",
301 "peer_ifname": "xe0",
302 "dst_mac": "90:e2:ba:7c:41:e8",
304 "local_ip": "10.80.3.11",
306 "vld_id": "data_network",
307 "peer_ifname": "xe1",
308 "dst_mac": "90:e2:ba:7c:30:e8",
310 "local_ip": "10.80.3.7",
311 "node_name": "vnf__0",
312 "netmask": "255.255.255.0",
313 "peer_name": "tg__0",
314 "dst_ip": "10.80.3.11",
316 "local_mac": "90:e2:ba:7c:41:a8"
318 "node_name": "tg__0",
319 "netmask": "255.255.255.0",
320 "peer_name": "vnf__1",
321 "dst_ip": "10.80.3.7",
323 "local_mac": "90:e2:ba:7c:30:e8"
325 "node_name": "vnf__1",
326 "netmask": "255.255.255.0",
327 "peer_name": "tg__0",
328 "dst_ip": "10.80.3.11",
330 "local_mac": "90:e2:ba:7c:41:e8"
333 "node_name": "tg__0",
334 "netmask": "255.255.255.0",
335 "peer_name": "vnf__1",
336 "dst_ip": "10.80.3.7",
338 "local_mac": "90:e2:ba:7c:30:e8"
340 "vnfd-connection-point-ref": "xe1",
344 "name": "sippvnf-baremetal",
345 "description": "Sipp"
348 "description": "ImsbenchSipp",
350 "vdu-id": "sipp-baremetal",
367 "task_id": "86414e11-5ef5-4426-b175-71baaa00fbd7",
368 "tc": "tc_vims_baremetal_sipp",
380 "trex_client_lib": "/opt/nsb_bin/trex_client/stl",
381 "bin_path": "/opt/nsb_bin",
382 "trex_path": "/opt/nsb_bin/trex/scripts",
383 "dispatcher": "influxdb"
385 "dispatcher_influxdb": {
387 "target": "http://10.80.3.11:8086",
388 "db_name": "yardstick",
392 "dispatcher": "influxdb"
396 "dispatcher": "influxdb",
398 "target": "http://127.0.0.1:8000/results"
404 "dispatcher": "influxdb",
405 "file_path": "/tmp/yardstick.out"
413 "vnf__0": "pcscf.yardstick-86414e11",
414 "vnf__1": "hss.yardstick-86414e11",
415 "tg__0": "sipp.yardstick-86414e11"
417 "topology": "vims-topology.yaml",
419 "traffic_profile": "../../traffic_profiles/ipv4_throughput.yaml",
420 "task_path": "samples/vnf_samples/nsut/vims",
422 "init_reg_max": 5000,
449 "vld_id": "ims_network",
450 "peer_ifname": "xe0",
451 "dst_mac": "90:e2:ba:7c:41:e8",
453 "local_ip": "10.80.3.11",
456 "vld_id": "data_network",
457 "peer_ifname": "xe1",
458 "dst_mac": "90:e2:ba:7c:30:e8",
460 "local_ip": "10.80.3.7",
461 "node_name": "vnf__0",
462 "netmask": "255.255.255.0",
463 "peer_name": "tg__0",
464 "dst_ip": "10.80.3.11",
466 "local_mac": "90:e2:ba:7c:41:a8"
469 "vld_id": "ims_network",
470 "peer_ifname": "xe1",
471 "dst_mac": "90:e2:ba:7c:30:e8",
473 "local_ip": "10.80.3.7",
474 "node_name": "vnf__1",
475 "netmask": "255.255.255.0",
476 "peer_name": "tg__0",
477 "dst_ip": "10.80.3.11",
479 "local_mac": "90:e2:ba:7c:41:e8"
482 "node_name": "tg__0",
483 "netmask": "255.255.255.0",
484 "peer_name": "vnf__1",
485 "dst_ip": "10.80.3.7",
487 "local_mac": "90:e2:ba:7c:30:e8"
490 "vld_id": "ims_network",
491 "peer_ifname": "xe0",
492 "dst_mac": "90:e2:ba:7c:41:e8",
494 "local_ip": "10.80.3.11",
497 "vld_id": "data_network",
498 "peer_ifname": "xe1",
499 "dst_mac": "90:e2:ba:7c:30:e8",
501 "local_ip": "10.80.3.7",
503 "vld_id": "ims_network",
504 "peer_ifname": "xe0",
505 "dst_mac": "90:e2:ba:7c:41:e8",
507 "local_ip": "10.80.3.11",
508 "node_name": "tg__0",
509 "netmask": "255.255.255.0",
510 "peer_name": "vnf__1",
511 "dst_ip": "10.80.3.7",
513 "local_mac": "90:e2:ba:7c:30:e8"
515 "node_name": "vnf__0",
516 "netmask": "255.255.255.0",
517 "peer_name": "tg__0",
518 "dst_ip": "10.80.3.11",
520 "local_mac": "90:e2:ba:7c:41:a8"
523 "vld_id": "ims_network",
524 "peer_ifname": "xe1",
525 "dst_mac": "90:e2:ba:7c:30:e8",
527 "local_ip": "10.80.3.7",
529 "vld_id": "ims_network",
530 "peer_ifname": "xe0",
531 "dst_mac": "90:e2:ba:7c:41:e8",
533 "local_ip": "10.80.3.11",
535 "vld_id": "data_network",
536 "peer_ifname": "xe1",
537 "dst_mac": "90:e2:ba:7c:30:e8",
539 "local_ip": "10.80.3.7",
540 "node_name": "vnf__0",
541 "netmask": "255.255.255.0",
542 "peer_name": "tg__0",
543 "dst_ip": "10.80.3.11",
545 "local_mac": "90:e2:ba:7c:41:a8"
547 "node_name": "tg__0",
548 "netmask": "255.255.255.0",
549 "peer_name": "vnf__1",
550 "dst_ip": "10.80.3.7",
552 "local_mac": "90:e2:ba:7c:30:e8"
554 "node_name": "vnf__1",
555 "netmask": "255.255.255.0",
556 "peer_name": "tg__0",
557 "dst_ip": "10.80.3.11",
559 "local_mac": "90:e2:ba:7c:41:e8"
562 "node_name": "tg__0",
563 "netmask": "255.255.255.0",
564 "peer_name": "vnf__1",
565 "dst_ip": "10.80.3.7",
567 "local_mac": "90:e2:ba:7c:30:e8"
572 "VNF model": "../../vnf_descriptors/tg_sipp_vnfd.yaml",
573 "name": "sipp.yardstick-86414e11",
574 "vnfd-id-ref": "tg__0",
575 "member-vnf-index": "1",
576 "role": "TrafficGen",
583 "vld_id": "data_network",
584 "peer_ifname": "xe1",
585 "dst_mac": "90:e2:ba:7c:30:e8",
587 "local_ip": "10.80.3.7",
590 "vld_id": "ims_network",
591 "peer_ifname": "xe0",
592 "dst_mac": "90:e2:ba:7c:41:e8",
594 "local_ip": "10.80.3.11",
595 "node_name": "tg__0",
596 "netmask": "255.255.255.0",
597 "peer_name": "vnf__1",
598 "dst_ip": "10.80.3.7",
600 "local_mac": "90:e2:ba:7c:30:e8"
603 "node_name": "vnf__0",
604 "netmask": "255.255.255.0",
605 "peer_name": "tg__0",
606 "dst_ip": "10.80.3.11",
608 "local_mac": "90:e2:ba:7c:41:a8"
613 "VNF model": "../../vnf_descriptors/vims_pcscf_vnfd.yaml",
614 "name": "pcscf.yardstick-86414e11",
615 "vnfd-id-ref": "vnf__0",
616 "member-vnf-index": "2",
617 "role": "VirtualNetworkFunction",
624 "vld_id": "ims_network",
625 "peer_ifname": "xe1",
626 "dst_mac": "90:e2:ba:7c:30:e8",
628 "local_ip": "10.80.3.7",
631 "vld_id": "ims_network",
632 "peer_ifname": "xe0",
633 "dst_mac": "90:e2:ba:7c:41:e8",
635 "local_ip": "10.80.3.11",
637 "vld_id": "data_network",
638 "peer_ifname": "xe1",
639 "dst_mac": "90:e2:ba:7c:30:e8",
641 "local_ip": "10.80.3.7",
643 "vld_id": "ims_network",
644 "peer_ifname": "xe0",
645 "dst_mac": "90:e2:ba:7c:41:e8",
647 "local_ip": "10.80.3.11",
648 "node_name": "tg__0",
649 "netmask": "255.255.255.0",
650 "peer_name": "vnf__1",
651 "dst_ip": "10.80.3.7",
653 "local_mac": "90:e2:ba:7c:30:e8"
655 "node_name": "vnf__0",
656 "netmask": "255.255.255.0",
657 "peer_name": "tg__0",
658 "dst_ip": "10.80.3.11",
660 "local_mac": "90:e2:ba:7c:41:a8"
662 "node_name": "tg__0",
663 "netmask": "255.255.255.0",
664 "peer_name": "vnf__1",
665 "dst_ip": "10.80.3.7",
667 "local_mac": "90:e2:ba:7c:30:e8"
670 "node_name": "vnf__1",
671 "netmask": "255.255.255.0",
672 "peer_name": "tg__0",
673 "dst_ip": "10.80.3.11",
675 "local_mac": "90:e2:ba:7c:41:e8"
680 "VNF model": "../../vnf_descriptors/vims_hss_vnfd.yaml",
681 "name": "hss.yardstick-86414e11",
682 "vnfd-id-ref": "vnf__1",
683 "member-vnf-index": "3",
684 "role": "VirtualNetworkFunction",
692 self.hss_vnf = vims_vnf.VimsHssVnf('vnf__1', self.VNFD_1)
694 def test___init__(self):
695 self.assertIsInstance(self.hss_vnf.resource_helper,
696 vims_vnf.VimsResourceHelper)
697 self.assertIsNone(self.hss_vnf._vnf_process)
699 @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper")
700 def test_instantiate(self, ssh):
702 hss_vnf = vims_vnf.VimsHssVnf('vnf__1', self.VNFD_1)
703 self.assertIsNone(hss_vnf.instantiate(self.SCENARIO_CFG,
706 def test_wait_for_instantiate(self):
707 self.assertIsNone(self.hss_vnf.wait_for_instantiate())
709 def test_start_collect(self):
710 self.assertIsNone(self.hss_vnf.start_collect())
712 def test_collect_kpi(self):
713 self.assertIsNone(self.hss_vnf.collect_kpi())