1 # Copyright 2016-2017 ZTE 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.
17 from django.test import Client
18 from django.test import TestCase
19 from rest_framework import status
20 from driver.pub.utils import restcall
23 class InterfacesTest(TestCase):
25 self.client = Client()
30 @mock.patch.object(restcall, 'call_req')
31 def test_instantiate_vnf_001(self, mock_call_req):
35 "name": "ZTE_VNFM_237_62",
36 "vimId": "516cee95-e8ca-4d26-9268-38e343c2e31e",
37 "url": "http://192.168.237.165:2324",
40 "vnfmId": "b0797c9b-3da9-459c-b25c-3813e9d8fd70",
42 "type": "ztevnfmdriver",
43 "createTime": "2016-10-31 11:08:39",
49 "vnfInstanceId": "59b79a9f-9e37-4f6c-acaf-5f41d9cb3f76",
50 "vnfInstanceName": "VFW_59b79a9f-9e37-4f6c-acaf-5f41d9cb3f76"
53 "vnfInstanceId": "6c5e4bd3-e8a6-42d8-a7a4-53a8ef74c6ac",
54 "vnfInstanceName": "VFW_6c5e4bd3-e8a6-42d8-a7a4-53a8ef74c6ac"
57 "vnfInstanceId": "930de5c9-8043-41df-ace8-ede2262a3713",
58 "vnfInstanceName": "VFW_930de5c9-8043-41df-ace8-ede2262a3713"
61 "vnfInstanceId": "c677a305-a7bd-4baf-9eee-c383c588bb3c",
62 "vnfInstanceName": "VFW_c677a305-a7bd-4baf-9eee-c383c588bb3c"
65 "vnfInstanceId": "e708e5c5-bdf4-436a-b928-826887806d82",
66 "vnfInstanceName": "VFW_e708e5c5-bdf4-436a-b928-826887806d82"
69 "csarId": "d852e1be-0aac-48f1-b1a4-cd825f6cdf9a",
74 "vimId": "516cee95-e8ca-4d26-9268-38e343c2e31e",
75 "fileName": "VFW_IMAGE_VCPE_ZTE",
77 "imageId": "d2b73154-0414-466a-a1e6-51b9461b753a",
82 "usageState": "NotInUse",
83 "onBoardState": "onBoarded",
87 "vnfdProvider": "zte",
88 "vnfdId": "vcpe_vfw_zte_1_0",
89 "deletionPending": False,
92 "vnfdVersion": "1.0.0",
93 "processState": "normal",
94 "modifyTime": "2016-10-3116: 21: 32",
95 "downloadUri": "http: //192.168.233.226: 80/",
96 "operationalState": "Disabled",
97 "createTime": "2016-10-3116: 21: 11",
103 "usageState": "NotInUse",
104 "onBoardState": "onBoarded",
108 "vnfdModel": json.dumps({"metadata": {"name": "ZTE-MME-FIX-VL"}})
110 "modifyTime": "2016-10-31 16:21:32",
111 "vnfdProvider": "zte",
112 "vnfdId": "vcpe_vfw_zte_1_0",
113 "deletionPending": False,
116 "vnfdVersion": "1.0.0",
117 "processState": "normal",
119 "operationalState": "Disabled",
120 "createTime": "2016-10-31 16:21:11",
121 "downloadUri": "http://192.168.233.226:80/files/catalog-http/NFAR/ZTE/VFW/v1.0/VFW.csar"
125 "vnfInstanceId": "8",
126 "jobid": "NF-CREATE-8-b384535c-9f45-11e6-8749-fa163e91c2f9"
128 ret = [0, json.JSONEncoder().encode(inst_response), '200']
129 r1 = [0, json.JSONEncoder().encode(vnfm_info), "200"]
130 r2 = [0, json.JSONEncoder().encode(vnfd_info), "200"]
131 r3 = [0, json.JSONEncoder().encode(packageInfo), "200"]
132 mock_call_req.side_effect = [r1, r2, r3, ret]
135 'vnfInstanceName': 'VFW_f88c0cb7-512a-44c4-bd09-891663f19367',
136 'vnfPackageId': 'd852e1be-0aac-48f1-b1a4-cd825f6cdf9a',
137 'vnfDescriptorId': 'vcpe_vfw_zte_1_0',
139 'sdncontroller': 'e4d637f1-a4ec-4c59-8b20-4e8ab34daba9',
140 'NatIpRange': '192.167.0.10-192.168.0.20',
141 'm6000_mng_ip': '192.168.11.11',
142 'externalPluginManageNetworkName': 'plugin_net_2014',
143 'location': '516cee95-e8ca-4d26-9268-38e343c2e31e',
144 'externalManageNetworkName': 'mng_net_2017',
145 'sfc_data_network': 'sfc_data_net_2016',
146 'externalDataNetworkName': 'Flow_out_net',
151 response = self.client.post(
152 "/api/ztevnfmdriver/v1/ztevnfmid/vnfs",
153 data=json.dumps(req_data),
154 content_type="application/json")
155 self.assertEqual(status.HTTP_200_OK, response.status_code)
157 "jobId": "NF-CREATE-8-b384535c-9f45-11e6-8749-fa163e91c2f9",
158 "vnfInstanceId": "8"}
159 self.assertEqual(expect_resp_data, response.data)
161 @mock.patch.object(restcall, 'call_req')
162 def test_terminate_vnf__002(self, mock_call_req):
163 r1 = [0, json.JSONEncoder().encode({
164 "vnfmId": "19ecbb3a-3242-4fa3-9926-8dfb7ddc29ee",
170 "description": "vnfm",
171 "certificateUrl": "",
172 "url": "http://10.74.44.11",
175 "createTime": "2016-07-06 15:33:18"}), "200"]
177 r2 = [0, json.JSONEncoder().encode({"vnfInstanceId": "1", "jobId": "1"}), "200"]
178 mock_call_req.side_effect = [r1, r2]
180 "terminationType": "GRACEFUL",
181 "gracefulTerminationTimeout": 120
183 response = self.client.post(
184 "/api/ztevnfmdriver/v1/ztevnfmid/vnfs/1/terminate", data=req_data)
186 self.assertEqual(status.HTTP_200_OK, response.status_code)
187 expect_resp_data = {"jobId": "1", "vnfInstanceId": "1"}
188 self.assertEqual(expect_resp_data, response.data)
190 @mock.patch.object(restcall, 'call_req')
191 def test_query_vnf_003(self, mock_call_req):
192 r1 = [0, json.JSONEncoder().encode({
193 "vnfmId": "19ecbb3a-3242-4fa3-9926-8dfb7ddc29ee",
199 "description": "vnfm",
200 "certificateUrl": "",
201 "url": "http://10.74.44.11",
204 "createTime": "2016-07-06 15:33:18"}), "200"]
206 r2 = [0, json.JSONEncoder().encode({"vnfinstancestatus": "1"}), "200"]
207 mock_call_req.side_effect = [r1, r2]
209 response = self.client.get(
210 "/api/ztevnfmdriver/v1/ztevnfmid/vnfs/vbras_innstance_id")
212 self.assertEqual(status.HTTP_200_OK, response.status_code)
214 expect_resp_data = {"vnfInfo": {"vnfStatus": "1"}}
215 self.assertEqual(expect_resp_data, response.data)
217 @mock.patch.object(restcall, 'call_req')
218 def test_operation_status_004(self, mock_call_req):
222 "name": "ZTE_VNFM_237_62",
223 "vimId": "516cee95-e8ca-4d26-9268-38e343c2e31e",
224 "url": "http://192.168.237.165:2324",
225 "certificateUrl": "",
227 "vnfmId": "b0797c9b-3da9-459c-b25c-3813e9d8fd70",
229 "type": "ztevnfmdriver",
230 "createTime": "2016-10-31 11:08:39",
234 "responseDescriptor": {
235 "status": "processing",
236 "responseHistoryList": [
242 "statusDescription": "'JsonParser' object has no attribute 'parser_info'"}],
246 "statusDescription": "Create nf apply resource failed"},
247 "jobId": "NF-CREATE-11-ec6c2f2a-9f48-11e6-9405-fa163e91c2f9"}
248 r1 = [0, json.JSONEncoder().encode(vnfm_info), '200']
249 r2 = [0, json.JSONEncoder().encode(resp_body), '200']
250 mock_call_req.side_effect = [r1, r2]
251 response = self.client.get(
252 "/api/ztevnfmdriver/v1/{vnfmid}/jobs/{jobid}?responseId={responseId}".format(
253 vnfmid=vnfm_info["vnfmId"],
254 jobid=resp_body["jobId"],
255 responseId=resp_body["responseDescriptor"]["responseId"]))
257 self.assertEqual(status.HTTP_200_OK, response.status_code)
259 self.assertDictEqual(resp_body, response.data)
261 @mock.patch.object(restcall, 'call_req')
262 def test_grantvnf_005(self, mock_call_req):
268 "vimid": "516cee95-e8ca-4d26-9268-38e343c2e31e"
271 ret = [0, json.JSONEncoder().encode(grant_data), '201']
274 "vnfmid": "13232222",
275 "nfvoid": "03212234",
280 "tenant": " tenant1",
281 "vnfistanceid": "1234",
282 "operationright": "0",
286 "VMFlavor": "VDU_S_CDB_51",
291 "VMFlavor": "VDU_M_SLB_42",
298 mock_call_req.return_value = ret
299 response = self.client.put(
300 "/api/ztevnfmdriver/v1/resource/grant",
301 data=json.dumps(req_data),
302 content_type='application/json')
304 self.assertEqual(status.HTTP_201_CREATED, response.status_code)
307 "vimid": "516cee95-e8ca-4d26-9268-38e343c2e31e",
309 self.assertDictEqual(expect_resp_data, response.data)
311 @mock.patch.object(restcall, 'call_req')
312 def test_notify_006(self, mock_call_req):
313 r1 = [0, json.JSONEncoder().encode(
316 "vimInfoId": "111111",
321 "protocolType": "None"},
325 "password": "password"},
326 "interfaceEndpoint": "http://127.0.0.1/api/v1"},
329 "resourceDefinitionId": "xxxxx",
332 "removeResource": "",
334 "computeResourceFlavour": {
337 "vimFlavourId": "12"},
342 "additionalParam": ""
345 mock_call_req.side_effect = [r1]
346 response = self.client.post(
347 "/api/ztevnfmdriver/v1/vnfs/lifecyclechangesnotification",
348 data=json.dumps(notify_req_data),
349 content_type='application/json')
351 self.assertEqual(status.HTTP_200_OK, response.status_code)
353 expect_resp_data = None
354 self.assertEqual(expect_resp_data, response.data)
356 @mock.patch.object(restcall, 'call_req')
357 def test_scale(self, mock_call_req):
360 "vnfInstanceId": "101"
365 "name": "ZTE_VNFM_237_62",
366 "vimId": "516cee95-e8ca-4d26-9268-38e343c2e31e",
367 "url": "http://192.168.237.165:2324",
368 "certificateUrl": "",
370 "vnfmId": "b0797c9b-3da9-459c-b25c-3813e9d8fd70",
372 "type": "ztevnfmdriver",
373 "createTime": "2016-10-31 11:08:39",
377 ret = [0, json.JSONEncoder().encode(job_info), "202"]
378 ret_vnfm = [0, json.JSONEncoder().encode(vnfm_info), "200"]
379 mock_call_req.side_effect = [ret_vnfm, ret]
384 "flavour_id": "flavour1",
389 "instances_minimum_number": 1,
390 "instances_maximum_number": 4,
391 "local_affinity_antiaffinity_rule": [
393 "affinity_antiaffinity": "affinity",
403 "name": "demo_aspect",
404 "description": "demo_aspect",
405 "associated_group": "elementGroup1",
413 "group_id": "elementGroup1",
416 "name": "elementGroup1"
428 "aspectId": "demo_aspect",
429 "numberOfSteps": "3",
431 "vnfdModel": vnfd_info
435 response = self.client.post(
436 "/api/ztevnfmdriver/v1/100/vnfs/101/scale",
437 data=json.dumps(scale_vnf_data),
438 content_type='application/json')
439 self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
440 self.assertDictEqual(job_info, response.data)
442 @mock.patch.object(restcall, 'call_req')
443 def test_heal(self, mock_call_req):
446 "vnfInstanceId": "10144445666"
451 "name": "ZTE_VNFM_237_62",
452 "vimId": "516cee95-e8ca-4d26-9268-38e343c2e31e",
453 "url": "http://192.168.237.165:2324",
454 "certificateUrl": "",
456 "vnfmId": "b0797c9b-3da9-459c-b25c-3813e9d8fd70",
458 "type": "ztevnfmdriver",
459 "createTime": "2016-10-31 11:08:39",
463 ret = [0, json.JSONEncoder().encode(job_info), "202"]
464 ret_vnfm = [0, json.JSONEncoder().encode(vnfm_info), "200"]
465 mock_call_req.side_effect = [ret_vnfm, ret]
474 'vmid': '804cca71-9ae9-4511-8e30-d1387718caff',
475 'changtype': 'changed',
477 'vmname': 'ZTE_SSS_111_PP_2_L'
479 'lifecycleoperation': 'operate',
483 response = self.client.post("/api/ztevnfmdriver/v1/200/vnfs/201/heal", data=json.dumps(heal_vnf_data),
484 content_type='application/json')
486 self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
487 self.assertDictEqual(job_info, response.data)
489 def test_health_check(self):
490 response = self.client.get("/api/ztevnfmdriver/v1/health_check")
491 self.assertEqual(status.HTTP_200_OK, response.status_code, response.content)
492 resp_data = json.loads(response.content)
493 self.assertEqual({"status": "active"}, resp_data)
496 notify_req_data = {"vnfinstanceid": "1",
498 "extension": {"openo_notification": {"status": "finished",
499 "affectedService": [],
500 "affectedVnfc": [{"changeType": "added",
501 "computeResource": {"resourceId": "e8ccc55a-3ebb-4e46-8260-dc4a1646ef4f",
502 "tenant": "ZTE_ONAP_PRO",
503 "vimId": "vmware_vio",
504 "resourceName": "ZTE_xGW_39_CDB_1"},
505 "storageResource": [],
506 "vnfcInstanceId": "17502154-c5bf-11e7-904d-fa163eee1ffe",
508 "vduId": "VDU_S_CDB_51"},
509 {"changeType": "added",
510 "computeResource": {"resourceId": "a9dd6a73-76ee-4d07-9554-08f14c17261f",
511 "tenant": "ZTE_ONAP_PRO",
512 "vimId": "vmware_vio",
513 "resourceName": "ZTE_xGW_39_SLB_1"},
514 "storageResource": [],
515 "vnfcInstanceId": "1750d540-c5bf-11e7-904d-fa163eee1ffe",
517 "vduId": "VDU_M_SLB_42"}],
518 "nfvoInstanceId": "3",
519 "affectedVirtualLink": [{"changeType": "added",
520 "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe",
521 "networkResource": {"resourceId": "c55e0788-3683-48a1-b88a-a0cb5e05bd44",
523 "vimId": "vmware_vio",
524 "resourceName": "ZTE_VGW_MGT_NET39"},
525 "virtualLinkDescId": "ZTE_VGW_MGT_NET39_virtualLink",
526 "tenant": "ZTE_ONAP_PRO",
527 "subnetworkResource": {"resourceId": "33c8a03d-00c9-4c57-a348-26dae462b473",
529 "vimId": "vmware_vio",
530 "resourceName": "ZTE_VGW_MGT_NET39_s"}},
531 {"changeType": "added",
532 "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe",
533 "networkResource": {"resourceId": "2d22b6e4-340b-45a8-8757-5206aa056b92",
535 "vimId": "vmware_vio",
536 "resourceName": "ZTE_VGW_SERVICE_NET39"},
537 "virtualLinkDescId": "ZTE_VGW_SERVICE_NET39_virtualLink",
538 "tenant": "ZTE_ONAP_PRO",
539 "subnetworkResource": {"resourceId": "2ea2acc0-a4ed-44f8-9d31-9cdc9e3ebe62",
541 "vimId": "vmware_vio",
542 "resourceName": "ZTE_VGW_SERVICE_NET39_s"}}],
543 "affectedVirtualStorage": [],
545 "affectedcapacity": {"vcp": "72",
548 "sharedStorage": "288",
551 "additionalParam": {"vmList": [{"vmName": "ZTE_xGW_39_CDB_1",
552 "vduId": "VDU_S_CDB_51"},
553 {"vmName": "ZTE_xGW_39_CDB_2",
554 "vduId": "VDU_S_CDB_51"},
555 {"vmName": "ZTE_xGW_39_SLB_1",
556 "vduId": "VDU_M_SLB_42"},
557 {"vmName": "ZTE_xGW_39_SLB_2",
558 "vduId": "VDU_M_SLB_42"},
559 {"vmName": "ZTE_xGW_39_GSU_1",
560 "vduId": "VDU_M_GSU_22"},
561 {"vmName": "ZTE_xGW_39_GSU_2",
562 "vduId": "VDU_M_GSU_22"},
563 {"vmName": "ZTE_xGW_39_MPU_1",
564 "vduId": "VDU_M_MPU_12"},
565 {"vmName": "ZTE_xGW_39_PFU_1",
566 "vduId": "VDU_M_PFU_32"},
567 {"vmName": "ZTE_xGW_39_PFU_2",
568 "vduId": "VDU_M_PFU_32"}]},
570 "affectedCp": [{"changeType": "added",
571 "cPInstanceId": "175767d4-c5bf-11e7-904d-fa163eee1ffe",
573 "cpdId": "CP_NO_0_CDB_ZTE_VGW_MGT_NET39",
574 "portResource": {"resourceId": "3296b6d8-ebca-4d33-98f4-68d1bc63a3d0",
575 "tenant": "ZTE_ONAP_PRO",
576 "vimId": "vmware_vio",
577 "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1"},
578 "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
579 "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
580 "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe"},
581 {"changeType": "added",
582 "cPInstanceId": "1758181e-c5bf-11e7-904d-fa163eee1ffe",
584 "cpdId": "CP_NO_1_CDB_ZTE_VGW_SERVICE_NET39",
585 "portResource": {"resourceId": "5e277a18-94de-469a-a336-2c01ab46387e",
586 "tenant": "ZTE_ONAP_PRO",
587 "vimId": "vmware_vio",
588 "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2"},
589 "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2",
590 "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
591 "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe"}],
592 "vnfdmodule": {"volume_storages": [],
594 "vdus": [{"volume_storages": [],
595 "description": "CDB",
596 "vdu_id": "VDU_S_CDB_51",
597 "local_storages": ["local_disk_root_10GB",
598 "local_disk_ephemeral_14GB"],
599 "nfv_compute": {"flavor_extra_specs": {"hw:cpu_policy": "dedicated",
600 "hw:mem_page_size": "large",
602 "hw:cpu_max_sockets": 1},
607 "vls": ["ZTE_VGW_MGT_NET39_virtualLink",
608 "ZTE_VGW_SERVICE_NET39_virtualLink"],
609 "image_file": "image_51",
610 "cps": ["CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
611 "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2"],
612 "properties": {"key_vd": True,
613 "support_scaling": True,
615 "name": "ZTE_xGW_39_CDB_1",
616 "storage_policy": "Share_Service",
617 "inject_network_address": True,
618 "is_predefined": False,
619 "location_info": {"vimid": "",
620 "availability_zone": "",
621 "vdc": "OG_OrganizationDC",
625 "use_shared_vm": False,
626 "inject_data_list": [],
627 "allow_scale_updown": True,
631 "manual_scale_select_vim": False,
632 "config_drive": True}},
633 {"volume_storages": [],
634 "description": "SLB",
635 "vdu_id": "VDU_M_SLB_42",
636 "local_storages": ["local_disk_root_10GB",
637 "local_disk_ephemeral_14GB"],
638 "nfv_compute": {"flavor_extra_specs": {"hw:cpu_policy": "dedicated",
639 "hw:mem_page_size": "large",
641 "hw:cpu_max_sockets": 1},
646 "vls": ["ZTE_VGW_MGT_NET39_virtualLink",
647 "ZTE_VGW_SERVICE_NET39_virtualLink",
648 "ZTE_NET39_virtualLink",
649 "ZTE_VGW_GTP_NET39_virtualLink"],
650 "image_file": "image_51",
651 "cps": ["CP_ZTE_xGW_39_SLB_1_ZTE_VGW_MGT_NET39_su1",
652 "CP_ZTE_xGW_39_SLB_1_ZTE_VGW_SERVICE_NET39_su2",
653 "CP_ZTE_xGW_39_SLB_1_zte-net-subnet393",
654 "CP_ZTE_xGW_39_SLB_1_ZTE_VGW_GTP_NET39_su4"],
655 "properties": {"key_vd": True,
656 "support_scaling": False,
658 "name": "ZTE_xGW_39_SLB_1",
659 "storage_policy": "Share_Service",
660 "inject_network_address": True,
661 "is_predefined": False,
662 "location_info": {"vimid": "",
663 "availability_zone": "",
664 "vdc": "OG_OrganizationDC",
668 "use_shared_vm": False,
669 "inject_data_list": [],
670 "allow_scale_updown": True,
674 "manual_scale_select_vim": False,
675 "config_drive": True}}],
677 "extvirtuallink": "",
679 "image_files": [{"properties": {"vendor": "zte",
680 "name": "ZXUN_xGW_CGSL_QCOW2_OP_V6.17.10.B17.ova",
681 "image_extra_specs": {},
682 "disk_format": "vmdk",
683 "file_url": "SoftwareImages/ZXUN-xGW-CGSL-QCOW2-V6.17.10.B17-image.tar.gz",
684 "container_type": "bare",
685 "version": "V6.17.10.B17.ova"},
686 "image_file_id": "image_51",
687 "description": "xgw image file"}],
689 "local_storages": [{"local_storage_id": "local_disk_ephemeral_38GB",
690 "description": "local_disk_ephemeral_38GB",
691 "properties": {"disk_type": "ephemeral",
693 {"local_storage_id": "local_disk_root_10GB",
694 "description": "local_disk_root_10GB",
695 "properties": {"disk_type": "root",
697 {"local_storage_id": "local_disk_ephemeral_14GB",
698 "description": "local_disk_ephemeral_14GB",
699 "properties": {"disk_type": "ephemeral",
702 "vnf_exposed": {"external_cps": [{"key_name": "ZTE_NET39_virtualLink",
703 "cpd_id": "CP_NO_3_PFU_ZTE_NET39"},
704 {"key_name": "ZTE_NET39_virtualLink1",
705 "cpd_id": "CP_NO_2_PFU_ZTE_NET39"},
706 {"key_name": "ZTE_VGW_GTP_NET39_virtualLink",
707 "cpd_id": "CP_NO_3_SLB_ZTE_VGW_GTP_NET39"},
708 {"key_name": "ZTE_NET39_virtualLink2",
709 "cpd_id": "CP_NO_2_SLB_ZTE_NET39"},
710 {"key_name": "provider-zte_virtualLink",
711 "cpd_id": "CP_NO_2_MPU_provider-zte"}],
712 "forward_cps": [{"key_name": "ZTE_VGW_GTP_NET39_forwarder",
713 "cpd_id": "CP_NO_3_SLB_ZTE_VGW_GTP_NET39"},
714 {"key_name": "ZTE_NET39_forwarder1",
715 "cpd_id": "CP_NO_2_PFU_ZTE_NET39"},
716 {"key_name": "ZTE_NET39_forwarder2",
717 "cpd_id": "CP_NO_3_PFU_ZTE_NET39"},
718 {"key_name": "provider-zte_forwarder",
719 "cpd_id": "CP_NO_2_MPU_provider-zte"},
720 {"key_name": "ZTE_NET39_forwarder",
721 "cpd_id": "CP_NO_2_SLB_ZTE_NET39"}]},
722 "reserved_total": {"portnum": 27,
724 "memorysize": 233472,
728 "policies": [{"scaling": [{"description": "zte vgw vnf policy",
729 "policy_id": "Policy_1",
730 "targets": ["VDU_S_CDB_51",
738 "properties": {"policy_file": "Policies/zte-vcn-vnf-policy.xml"}}],
743 "cps": [{"vl_id": "ZTE_VGW_MGT_NET39_virtualLink",
744 "description": "ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_s",
745 "vdu_id": "VDU_S_CDB_51",
746 "properties": {"service_port_created": False,
747 "name": "ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_s",
748 "allowed_address_pairs": [],
752 "vnic_type": "normal",
753 "floating_ip_address": {},
755 "port_security_enabled": False,
756 "ip_address": "192.168.39.247",
758 "security_groups": [],
760 "cp_id": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
761 "cpd_id": "CP_NO_0_CDB_ZTE_VGW_MGT_NET39"},
762 {"vl_id": "ZTE_VGW_SERVICE_NET39_virtualLink",
763 "description": "ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_s",
764 "vdu_id": "VDU_S_CDB_51",
765 "properties": {"service_port_created": False,
766 "name": "ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_s",
767 "allowed_address_pairs": [],
771 "vnic_type": "normal",
772 "floating_ip_address": {},
774 "port_security_enabled": False,
775 "ip_address": "192.168.40.247",
777 "security_groups": [],
779 "cp_id": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2",
780 "cpd_id": "CP_NO_1_CDB_ZTE_VGW_SERVICE_NET39"}],
781 "vls": [{"route_external": False,
783 "vl_id": "ZTE_VGW_MGT_NET39_virtualLink",
784 "description": "ZTE_VGW_MGT_NET39_s",
785 "properties": {"gateway_ip": "",
787 "name": "ZTE_VGW_MGT_NET39_s",
788 "location_info": {"vdc": "OG_OrganizationDC",
793 "segmentation_id": "142",
794 "dns_nameservers": [],
797 "is_predefined": True,
799 "netmask": "255.255.255.0",
802 "vlan_transparent": False,
803 "physical_network": "physnet1",
804 "cidr": "192.168.39.0/24",
805 "dhcp_enabled": False,
806 "network_name": "ZTE_VGW_MGT_NET39",
807 "network_type": "vlan"}},
808 {"route_external": False,
810 "vl_id": "ZTE_VGW_SERVICE_NET39_virtualLink",
811 "description": "ZTE_VGW_SERVICE_NET39_s",
812 "properties": {"gateway_ip": "",
814 "name": "ZTE_VGW_SERVICE_NET39_s",
815 "location_info": {"vdc": "OG_OrganizationDC",
820 "segmentation_id": "128",
821 "dns_nameservers": [],
824 "is_predefined": True,
826 "netmask": "255.255.255.0",
829 "vlan_transparent": False,
830 "physical_network": "physnet1",
831 "cidr": "192.168.40.0/24",
832 "dhcp_enabled": False,
833 "network_name": "ZTE_VGW_SERVICE_NET39",
834 "network_type": "vlan"}}],
835 "element_groups": [],
836 "metadata": {"plugin_info": "cn_plugin_3.0",
839 "adjust_vnf_capacity": True,
841 "description": "VMware",
842 "vnf_extend_type": "driver",
846 "service_category": "EPC",
848 "vnf_type": "SAE-GW",
850 "vmnumber_overquota_alarm": True,
851 "vnfd_version": "V00000001",
852 "id": "NFAR-ZTE-40-ZTE",
854 "operation": "instantiate",
855 "vnfmInstanceId": "31f8934e-c785-4fa5-9205-c5f374ada982"}},
856 "vimid": "vmware_vio",
857 "timestamp": "20171110105828",
858 "affectedcp": [{"changeType": "added",
859 "cPInstanceId": "175767d4-c5bf-11e7-904d-fa163eee1ffe",
861 "cpdId": "CP_NO_0_CDB_ZTE_VGW_MGT_NET39",
862 "portResource": {"resourceId": "3296b6d8-ebca-4d33-98f4-68d1bc63a3d0",
863 "tenant": "ZTE_ONAP_PRO",
864 "vimId": "vmware_vio",
865 "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1"},
866 "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
867 "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
868 "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe"},
869 {"changeType": "added",
870 "cPInstanceId": "1758181e-c5bf-11e7-904d-fa163eee1ffe",
872 "cpdId": "CP_NO_1_CDB_ZTE_VGW_SERVICE_NET39",
873 "portResource": {"resourceId": "5e277a18-94de-469a-a336-2c01ab46387e",
874 "tenant": "ZTE_ONAP_PRO",
875 "vimId": "vmware_vio",
876 "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2"},
877 "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2",
878 "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
879 "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe"}],
880 "vmlist": [{"VMNumber": 1,
882 "VMFlavor": "VDU_S_CDB_51",
883 "VMIDlist": [{"VMID": "e8ccc55a-3ebb-4e46-8260-dc4a1646ef4f",
884 "VMName": "ZTE_xGW_39_CDB_1",
885 "vimid": "vmware_vio",
886 "tenant": "ZTE_ONAP_PRO"}]},
889 "VMFlavor": "VDU_M_SLB_42",
890 "VMIDlist": [{"VMID": "a9dd6a73-76ee-4d07-9554-08f14c17261f",
891 "VMName": "ZTE_xGW_39_SLB_1",
892 "vimid": "vmware_vio",
893 "tenant": "ZTE_ONAP_PRO"}]}],
895 "vnfmid": "31f8934e-c785-4fa5-9205-c5f374ada982",
896 "affectedvirtuallink ": [{"changeType": "added",
897 "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe",
898 "networkResource": {"resourceId": "c55e0788-3683-48a1-b88a-a0cb5e05bd44",
900 "vimId": "vmware_vio",
901 "resourceName": "ZTE_VGW_MGT_NET39"},
902 "virtualLinkDescId": "ZTE_VGW_MGT_NET39_virtualLink",
903 "tenant": "ZTE_ONAP_PRO",
904 "subnetworkResource": {"resourceId": "33c8a03d-00c9-4c57-a348-26dae462b473",
906 "vimId": "vmware_vio",
907 "resourceName": "ZTE_VGW_MGT_NET39_s"}},
908 {"changeType": "added",
909 "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe",
910 "networkResource": {"resourceId": "2d22b6e4-340b-45a8-8757-5206aa056b92",
912 "vimId": "vmware_vio",
913 "resourceName": "ZTE_VGW_SERVICE_NET39"},
914 "virtualLinkDescId": "ZTE_VGW_SERVICE_NET39_virtualLink",
915 "tenant": "ZTE_ONAP_PRO",
916 "subnetworkResource": {"resourceId": "2ea2acc0-a4ed-44f8-9d31-9cdc9e3ebe62",
918 "vimId": "vmware_vio",
919 "resourceName": "ZTE_VGW_SERVICE_NET39_s"}}]}