Fix vfc-ztevnfmdriver notify bug
[vfc/nfvo/driver/vnfm/svnfm.git] / zte / vmanager / driver / interfaces / tests.py
1 # Copyright 2016-2017 ZTE Corporation.
2 #
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
6 #
7 #         http://www.apache.org/licenses/LICENSE-2.0
8 #
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.
14
15 import json
16 import mock
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
21
22
23 class InterfacesTest(TestCase):
24     def setUp(self):
25         self.client = Client()
26
27     def tearDown(self):
28         pass
29
30     # @mock.patch.object(restcall, 'call_req_aai')
31     @mock.patch.object(restcall, 'call_req')
32     def test_instantiate_vnf_001(self, mock_call_req):
33         """
34         Initate_VNF
35         """
36         vnfm_info = {u'userName': u'admin',
37                      u'vendor': u'ZTE',
38                      u'name': u'ZTE_VNFM_237_62',
39                      u'vimId': u'516cee95-e8ca-4d26-9268-38e343c2e31e',
40                      u'url': u'http://192.168.237.165:2324',
41                      u'certificateUrl': u'',
42                      u'version': u'V1.0',
43                      u'vnfmId': u'b0797c9b-3da9-459c-b25c-3813e9d8fd70',
44                      u'password': u'admin',
45                      u'type': u'ztevmanagerdriver',
46                      u'createTime': u'2016-10-31 11:08:39',
47                      u'description': u''}
48         vnfd_info = {u'vnfInstanceInfo': [{u'vnfInstanceId': u'59b79a9f-9e37-4f6c-acaf-5f41d9cb3f76',
49                                            u'vnfInstanceName': u'VFW_59b79a9f-9e37-4f6c-acaf-5f41d9cb3f76'},
50                                           {u'vnfInstanceId': u'6c5e4bd3-e8a6-42d8-a7a4-53a8ef74c6ac',
51                                            u'vnfInstanceName': u'VFW_6c5e4bd3-e8a6-42d8-a7a4-53a8ef74c6ac'},
52                                           {u'vnfInstanceId': u'930de5c9-8043-41df-ace8-ede2262a3713',
53                                            u'vnfInstanceName': u'VFW_930de5c9-8043-41df-ace8-ede2262a3713'},
54                                           {u'vnfInstanceId': u'c677a305-a7bd-4baf-9eee-c383c588bb3c',
55                                            u'vnfInstanceName': u'VFW_c677a305-a7bd-4baf-9eee-c383c588bb3c'},
56                                           {u'vnfInstanceId': u'e708e5c5-bdf4-436a-b928-826887806d82',
57                                            u'vnfInstanceName': u'VFW_e708e5c5-bdf4-436a-b928-826887806d82'}],
58                      u'csarId': u'd852e1be-0aac-48f1-b1a4-cd825f6cdf9a',
59                      u'imageInfo': [
60                          {u'status': u'Enable', u'index': u'0',
61                           u'vimId': u'516cee95-e8ca-4d26-9268-38e343c2e31e',
62                           u'fileName': u'VFW_IMAGE_VCPE_ZTE',
63                           u'vimUser': u'admin',
64                           u'imageId': u'd2b73154-0414-466a-a1e6-51b9461b753a',
65                           u'tenant': u'admin'}],
66                      u'packageInfo': {u'usageState': u'NotInUse',
67                                       u'onBoardState': u'onBoarded',
68                                       u'name': u'VFW',
69                                       u'format': u'yaml',
70                                       u'provider': u'ZTE',
71                                       u'vnfdProvider': u'zte',
72                                       u'vnfdId': u'vcpe_vfw_zte_1_0',
73                                       u'deletionPending': False,
74                                       u'version': u'v1.0',
75                                       u'vnfVersion': u'1.0',
76                                       u'vnfdVersion': u'1.0.0',
77                                       u'processState': u'normal',
78                                       u'modifyTime': u'2016-10-31 16:21:32',
79                                       u'downloadUri': u'http://192.168.233.226:80/',
80                                       u'operationalState': u'Disabled',
81                                       u'createTime': u'2016-10-31 16:21:11',
82                                       u'size': u'12.1 MB'}}
83         packageInfo = {
84             "size": "12.1 MB",
85             "usageState": "NotInUse",
86             "onBoardState": "onBoarded",
87             "name": "VFW",
88             "format": "yaml",
89             "packageInfo": {
90                 "vnfdModel": json.dumps({"metadata": {"name": "ZTE-MME-FIX-VL"}})
91             },
92             "modifyTime": "2016-10-31 16:21:32",
93             "vnfdProvider": "zte",
94             "vnfdId": "vcpe_vfw_zte_1_0",
95             "deletionPending": False,
96             "version": "v1.0",
97             "vnfVersion": "1.0",
98             "vnfdVersion": "1.0.0",
99             "processState": "normal",
100             "provider": "ZTE",
101             "operationalState": "Disabled",
102             "createTime": "2016-10-31 16:21:11",
103             "downloadUri": "http://192.168.233.226:80/files/catalog-http/NFAR/ZTE/VFW/v1.0/VFW.csar"
104         }
105
106         inst_response = {
107             u'vnfInstanceId': u'8',
108             u'jobid': u'NF-CREATE-8-b384535c-9f45-11e6-8749-fa163e91c2f9'
109         }
110         ret = [0, json.JSONEncoder().encode(inst_response), '200']
111
112         r1 = [0, json.JSONEncoder().encode(vnfm_info), "200"]
113
114         r2 = [0, json.JSONEncoder().encode(vnfd_info), "200"]
115
116         r3 = [0, json.JSONEncoder().encode(packageInfo), "200"]
117
118         # mock_call_req_aai.side_effect =[r1]
119         mock_call_req.side_effect = [r1, r2, r3, ret]
120
121         req_data = {
122             'vnfInstanceName': 'VFW_f88c0cb7-512a-44c4-bd09-891663f19367',
123             'vnfPackageId': 'd852e1be-0aac-48f1-b1a4-cd825f6cdf9a',
124             'vnfDescriptorId': 'vcpe_vfw_zte_1_0',
125             'additionalParam': {
126                 'sdncontroller': 'e4d637f1-a4ec-4c59-8b20-4e8ab34daba9',
127                 'NatIpRange': '192.167.0.10-192.168.0.20',
128                 'm6000_mng_ip': '192.168.11.11',
129                 'externalPluginManageNetworkName': 'plugin_net_2014',
130                 'location': '516cee95-e8ca-4d26-9268-38e343c2e31e',
131                 'externalManageNetworkName': 'mng_net_2017',
132                 'sfc_data_network': 'sfc_data_net_2016',
133                 'externalDataNetworkName': 'Flow_out_net',
134                 'inputs': {}
135             }
136         }
137
138         response = self.client.post("/api/ztevmanagerdriver/v1/ztevnfmid/vnfs",
139                                     data=json.dumps(req_data), content_type="application/json")
140         self.assertEqual(str(status.HTTP_200_OK), response.status_code)
141         expect_resp_data = {"jobid": "NF-CREATE-8-b384535c-9f45-11e6-8749-fa163e91c2f9", "vnfInstanceId": "8"}
142         self.assertEqual(expect_resp_data, response.data)
143
144     # @mock.patch.object(restcall, 'call_req_aai')
145     @mock.patch.object(restcall, 'call_req')
146     def test_terminate_vnf__002(self, mock_call_req):
147         """
148         Terminate_VNF
149         """
150         r1 = [0, json.JSONEncoder().encode({
151             "vnfmId": "19ecbb3a-3242-4fa3-9926-8dfb7ddc29ee",
152             "name": "g_vnfm",
153             "type": "vnfm",
154             "vimId": "",
155             "vendor": "ZTE",
156             "version": "v1.0",
157             "description": "vnfm",
158             "certificateUrl": "",
159             "url": "http://10.74.44.11",
160             "userName": "admin",
161             "password": "admin",
162             "createTime": "2016-07-06 15:33:18"}), "200"]
163
164         r2 = [0, json.JSONEncoder().encode({"vnfInstanceId": "1", "JobId": "1"}), "200"]
165         # mock_call_req_aai.side_effect = [r1]
166         mock_call_req.side_effect = [r1, r2]
167
168         response = self.client.post("/api/ztevmanagerdriver/v1/ztevnfmid/vnfs/vbras_innstance_id/terminate")
169
170         self.assertEqual(str(status.HTTP_200_OK), response.status_code)
171         expect_resp_data = {"jobid": "1", "vnfInstanceId": "1"}
172         self.assertEqual(expect_resp_data, response.data)
173
174     # @mock.patch.object(restcall, 'call_req_aai')
175     @mock.patch.object(restcall, 'call_req')
176     def test_query_vnf_003(self, mock_call_req):
177         """
178         Query_VNF
179         """
180         r1 = [0, json.JSONEncoder().encode({
181             "vnfmId": "19ecbb3a-3242-4fa3-9926-8dfb7ddc29ee",
182             "name": "g_vnfm",
183             "type": "vnfm",
184             "vimId": "",
185             "vendor": "ZTE",
186             "version": "v1.0",
187             "description": "vnfm",
188             "certificateUrl": "",
189             "url": "http://10.74.44.11",
190             "userName": "admin",
191             "password": "admin",
192             "createTime": "2016-07-06 15:33:18"}), "200"]
193
194         r2 = [0, json.JSONEncoder().encode({"vnfinstancestatus": "1"}), "200"]
195         # mock_call_req_aai.side_effect = [r1]
196         mock_call_req.side_effect = [r1, r2]
197
198         response = self.client.get("/api/ztevmanagerdriver/v1/ztevnfmid/vnfs/vbras_innstance_id")
199
200         self.assertEqual(str(status.HTTP_200_OK), response.status_code)
201
202         expect_resp_data = {"vnfInfo": {"vnfStatus": "1"}}
203         self.assertEqual(expect_resp_data, response.data)
204
205     # @mock.patch.object(restcall, 'call_req_aai')
206     @mock.patch.object(restcall, 'call_req')
207     def test_operation_status_004(self, mock_call_req):
208         """
209         Operation_status
210         """
211         vnfm_info = {u'userName': u'admin',
212                      u'vendor': u'ZTE',
213                      u'name': u'ZTE_VNFM_237_62',
214                      u'vimId': u'516cee95-e8ca-4d26-9268-38e343c2e31e',
215                      u'url': u'http://192.168.237.165:2324',
216                      u'certificateUrl': u'',
217                      u'version': u'V1.0',
218                      u'vnfmId': u'b0797c9b-3da9-459c-b25c-3813e9d8fd70',
219                      u'password': u'admin',
220                      u'type': u'ztevmanagerdriver',
221                      u'createTime': u'2016-10-31 11:08:39',
222                      u'description': u''}
223         resp_body = {
224             "responsedescriptor": {
225                 "status": "processing",
226                 "responsehistorylist": [
227                     {
228                         "status": "error",
229                         "progress": 255,
230                         "errorcode": "",
231                         "responseid": 20,
232                         "statusdescription": "'JsonParser' object has no attribute 'parser_info'"
233                     }
234                 ],
235                 "responseid": 21,
236                 "errorcode": "",
237                 "progress": 40,
238                 "statusdescription": "Create nf apply resource failed"
239             },
240             "jobid": "NF-CREATE-11-ec6c2f2a-9f48-11e6-9405-fa163e91c2f9"
241         }
242         r1 = [0, json.JSONEncoder().encode(vnfm_info), '200']
243         r2 = [0, json.JSONEncoder().encode(resp_body), '200']
244         # mock_call_req_aai.side_effect = [r1]
245         mock_call_req.side_effect = [r1, r2]
246         response = self.client.get("/api/ztevmanagerdriver/v1/{vnfmid}/jobs/{jobid}?responseId={responseId}".format(
247             vnfmid=vnfm_info["vnfmId"],
248             jobid=resp_body["jobid"],
249             responseId=resp_body["responsedescriptor"]["responseid"])
250         )
251
252         self.assertEqual(str(status.HTTP_200_OK), response.status_code)
253
254         expect_resp_data = resp_body
255         self.assertDictEqual(expect_resp_data, response.data)
256
257     @mock.patch.object(restcall, 'call_req')
258     def test_grantvnf_005(self, mock_call_req):
259         """
260         Grant_VNF
261         """
262         ret = [0,
263                '{"vim":{"accessinfo":{"tenant":"admin"},"vimid":"516cee95-e8ca-4d26-9268-38e343c2e31e"}}',
264                '201']
265
266         req_data = {
267             "vnfmid": "13232222",
268             "nfvoid": "03212234",
269             "vimid": "12345678",
270             "exvimidlist ": [
271                 "exvimid"
272             ],
273             "tenant": " tenant1",
274             "vnfistanceid": "1234",
275             "operationright": "0",
276             "vmlist": [
277                 {
278                     "vmflavor": "SMP",
279                     "vmnumber": "3"
280                 },
281                 {
282                     "vmflavor": "CMP",
283                     "vmnumber": "3"
284                 }
285             ]
286         }
287
288         mock_call_req.return_value = ret
289         response = self.client.put("/api/ztevmanagerdriver/v1/resource/grant",
290                                    data=json.dumps(req_data), content_type='application/json')
291
292         self.assertEqual(str(status.HTTP_201_CREATED), response.status_code)
293
294         expect_resp_data = {
295             "vimid": "516cee95-e8ca-4d26-9268-38e343c2e31e",
296             "tenant": "admin"}
297         self.assertDictEqual(expect_resp_data, response.data)
298
299     @mock.patch.object(restcall, 'call_req')
300     def test_notify_006(self, mock_call_req):
301         """
302         Notification
303         """
304         r1 = [0, json.JSONEncoder().encode(
305             {"vim":
306                 {
307                     "vimInfoId": "111111",
308                     "vimId": "12345678",
309                     "interfaceInfo": {
310                         "vimType": "vnf",
311                         "apiVersion": "v1",
312                         "protocolType": "None"},
313                     "accessInfo": {
314                         "tenant": "tenant1",
315                         "username": "admin",
316                         "password": "password"},
317                     "interfaceEndpoint": "http://127.0.0.1/api/v1"},
318                 "zone": "",
319                 "addResource": {
320                     "resourceDefinitionId": "xxxxx",
321                     "vimId": "12345678",
322                     "zoneId": "000"},
323                 "removeResource": "",
324                 "vimAssets": {
325                     "computeResourceFlavour": {
326                         "vimId": "12345678",
327                         "vduId": "sdfasdf",
328                         "vimFlavourId": "12"},
329                     "softwareImage": {
330                         "vimId": "12345678",
331                         "imageName": "AAA",
332                         "vimImageId": ""}},
333                 "additionalParam": ""
334              }), "200"]
335
336         mock_call_req.side_effect = [r1]
337         response = self.client.post("/api/ztevmanagerdriver/v1/vnfs/lifecyclechangesnotification",
338                                     data=json.dumps(notify_req_data), content_type='application/json')
339
340         self.assertEqual(str(status.HTTP_200_OK), response.status_code)
341
342         expect_resp_data = None
343         self.assertEqual(expect_resp_data, response.data)
344
345     # @mock.patch.object(restcall, 'call_req_aai')
346     @mock.patch.object(restcall, 'call_req')
347     def test_scale(self, mock_call_req):
348         job_info = {"jobid": "801", "nfInstanceId": "101"}
349         vnfm_info = {u'userName': u'admin',
350                      u'vendor': u'ZTE',
351                      u'name': u'ZTE_VNFM_237_62',
352                      u'vimId': u'516cee95-e8ca-4d26-9268-38e343c2e31e',
353                      u'url': u'http://192.168.237.165:2324',
354                      u'certificateUrl': u'',
355                      u'version': u'V1.0',
356                      u'vnfmId': u'b0797c9b-3da9-459c-b25c-3813e9d8fd70',
357                      u'password': u'admin',
358                      u'type': u'ztevmanagerdriver',
359                      u'createTime': u'2016-10-31 11:08:39',
360                      u'description': u''}
361
362         ret = [0, json.JSONEncoder().encode(job_info), "202"]
363         ret_vnfm = [0, json.JSONEncoder().encode(vnfm_info), "200"]
364         # mock_call_req_aai.side_effect = [ret_vnfm]
365         mock_call_req.side_effect = [ret_vnfm, ret]
366
367         vnfd_info = {
368             "vnf_flavours": [
369                 {
370                     "flavour_id": "flavour1",
371                     "description": "",
372                     "vdu_profiles": [
373                         {
374                             "vdu_id": "vdu1Id",
375                             "instances_minimum_number": 1,
376                             "instances_maximum_number": 4,
377                             "local_affinity_antiaffinity_rule": [
378                                 {
379                                     "affinity_antiaffinity": "affinity",
380                                     "scope": "node",
381
382                                 }
383                             ]
384                         }
385                     ],
386                     "scaling_aspects": [
387                         {
388                             "id": "demo_aspect",
389                             "name": "demo_aspect",
390                             "description": "demo_aspect",
391                             "associated_group": "elementGroup1",
392                             "max_scale_level": 5
393                         }
394                     ]
395                 }
396             ],
397             "element_groups": [
398                 {
399                     "group_id": "elementGroup1",
400                     "description": "",
401                     "properties": {
402                         "name": "elementGroup1"
403                     },
404                     "members": [
405                         "gsu_vm",
406                         "pfu_vm"
407                     ]
408                 }
409             ]
410         }
411
412         scale_vnf_data = {
413             "type": "SCALE_OUT",
414             "aspectId": "demo_aspect",
415             "numberOfSteps": "3",
416             "additionalParam": {
417                 "vnfdModel": vnfd_info
418             }
419         }
420
421         response = self.client.post("/api/ztevmanagerdriver/v1/100/vnfs/101/scale",
422                                     data=json.dumps(scale_vnf_data), content_type='application/json')
423         self.assertEqual(str(status.HTTP_202_ACCEPTED), response.status_code)
424         self.assertDictEqual(job_info, response.data)
425
426     # @mock.patch.object(restcall, 'call_req_aai')
427     @mock.patch.object(restcall, 'call_req')
428     def test_heal(self, mock_call_req):
429         job_info = {"jobid": "12234455", "nfInstanceId": "10144445666"}
430         vnfm_info = {u'userName': u'admin',
431                      u'vendor': u'ZTE',
432                      u'name': u'ZTE_VNFM_237_62',
433                      u'vimId': u'516cee95-e8ca-4d26-9268-38e343c2e31e',
434                      u'url': u'http://192.168.237.165:2324',
435                      u'certificateUrl': u'',
436                      u'version': u'V1.0',
437                      u'vnfmId': u'b0797c9b-3da9-459c-b25c-3813e9d8fd70',
438                      u'password': u'admin',
439                      u'type': u'ztevmanagerdriver',
440                      u'createTime': u'2016-10-31 11:08:39',
441                      u'description': u''}
442
443         ret = [0, json.JSONEncoder().encode(job_info), "202"]
444         ret_vnfm = [0, json.JSONEncoder().encode(vnfm_info), "200"]
445         # mock_call_req_aai.side_effect = [ret_vnfm]
446         mock_call_req.side_effect = [ret_vnfm, ret]
447
448         heal_vnf_data = {
449             'action': 'vmReset',
450             'affectedvm': [{
451                 'flavour': {
452
453                 },
454                 'extention': '',
455                 'vmid': '804cca71-9ae9-4511-8e30-d1387718caff',
456                 'changtype': 'changed',
457                 'vduid': 'vdu_100',
458                 'vmname': 'ZTE_SSS_111_PP_2_L'
459             }],
460             'lifecycleoperation': 'operate',
461             'isgrace': 'force'
462         }
463
464         response = self.client.post("/api/ztevmanagerdriver/v1/200/vnfs/201/heal",
465                                     data=json.dumps(heal_vnf_data), content_type='application/json')
466
467         self.assertEqual(str(status.HTTP_202_ACCEPTED), response.status_code)
468         self.assertDictEqual(job_info, response.data)
469
470
471 notify_req_data = {
472     "vnfinstanceid": "1",
473     "nfvoid": "3",
474     "extension": {
475         "openo_notification": {
476             "status": "finished",
477             "affectedService": [
478
479             ],
480             "affectedVnfc": [
481                 {
482                     "changeType": "added",
483                     "computeResource": {
484                         "resourceId": "e8ccc55a-3ebb-4e46-8260-dc4a1646ef4f",
485                         "tenant": "ZTE_ONAP_PRO",
486                         "vimId": "vmware_vio",
487                         "resourceName": "ZTE_xGW_39_CDB_1"
488                     },
489                     "storageResource": [
490
491                     ],
492                     "vnfcInstanceId": "17502154-c5bf-11e7-904d-fa163eee1ffe",
493                     "vduType": "CDB",
494                     "vduId": "VDU_S_CDB_51"
495                 },
496                 {
497                     "changeType": "added",
498                     "computeResource": {
499                         "resourceId": "a9dd6a73-76ee-4d07-9554-08f14c17261f",
500                         "tenant": "ZTE_ONAP_PRO",
501                         "vimId": "vmware_vio",
502                         "resourceName": "ZTE_xGW_39_SLB_1"
503                     },
504                     "storageResource": [
505
506                     ],
507                     "vnfcInstanceId": "1750d540-c5bf-11e7-904d-fa163eee1ffe",
508                     "vduType": "SLB",
509                     "vduId": "VDU_M_SLB_42"
510                 }
511             ],
512             "nfvoInstanceId": "3",
513             "affectedVirtualLink": [
514                 {
515                     "changeType": "added",
516                     "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe",
517                     "networkResource": {
518                         "resourceId": "c55e0788-3683-48a1-b88a-a0cb5e05bd44",
519                         "tenant": None,
520                         "vimId": "vmware_vio",
521                         "resourceName": "ZTE_VGW_MGT_NET39"
522                     },
523                     "virtualLinkDescId": "ZTE_VGW_MGT_NET39_virtualLink",
524                     "tenant": "ZTE_ONAP_PRO",
525                     "subnetworkResource": {
526                         "resourceId": "33c8a03d-00c9-4c57-a348-26dae462b473",
527                         "tenant": None,
528                         "vimId": "vmware_vio",
529                         "resourceName": "ZTE_VGW_MGT_NET39_s"
530                     }
531                 },
532                 {
533                     "changeType": "added",
534                     "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe",
535                     "networkResource": {
536                         "resourceId": "2d22b6e4-340b-45a8-8757-5206aa056b92",
537                         "tenant": None,
538                         "vimId": "vmware_vio",
539                         "resourceName": "ZTE_VGW_SERVICE_NET39"
540                     },
541                     "virtualLinkDescId": "ZTE_VGW_SERVICE_NET39_virtualLink",
542                     "tenant": "ZTE_ONAP_PRO",
543                     "subnetworkResource": {
544                         "resourceId": "2ea2acc0-a4ed-44f8-9d31-9cdc9e3ebe62",
545                         "tenant": None,
546                         "vimId": "vmware_vio",
547                         "resourceName": "ZTE_VGW_SERVICE_NET39_s"
548                     }
549                 }
550             ],
551             "affectedVirtualStorage": [
552
553             ],
554             "jobId": "",
555             "affectedcapacity": {
556                 "vcp": "72",
557                 "vm": "9",
558                 "localStorage": "0",
559                 "sharedStorage": "288",
560                 "vMemory": "233472",
561                 "port": "27"
562             },
563             "additionalParam": {
564                 "vmList": [
565                     {
566                         "vmName": "ZTE_xGW_39_CDB_1",
567                         "vduId": "VDU_S_CDB_51"
568                     },
569                     {
570                         "vmName": "ZTE_xGW_39_CDB_2",
571                         "vduId": "VDU_S_CDB_51"
572                     },
573                     {
574                         "vmName": "ZTE_xGW_39_SLB_1",
575                         "vduId": "VDU_M_SLB_42"
576                     },
577                     {
578                         "vmName": "ZTE_xGW_39_SLB_2",
579                         "vduId": "VDU_M_SLB_42"
580                     },
581                     {
582                         "vmName": "ZTE_xGW_39_GSU_1",
583                         "vduId": "VDU_M_GSU_22"
584                     },
585                     {
586                         "vmName": "ZTE_xGW_39_GSU_2",
587                         "vduId": "VDU_M_GSU_22"
588                     },
589                     {
590                         "vmName": "ZTE_xGW_39_MPU_1",
591                         "vduId": "VDU_M_MPU_12"
592                     },
593                     {
594                         "vmName": "ZTE_xGW_39_PFU_1",
595                         "vduId": "VDU_M_PFU_32"
596                     },
597                     {
598                         "vmName": "ZTE_xGW_39_PFU_2",
599                         "vduId": "VDU_M_PFU_32"
600                     }
601                 ]
602             },
603             "nfInstanceId": "1",
604             "affectedCp": [
605                 {
606                     "changeType": "added",
607                     "cPInstanceId": "175767d4-c5bf-11e7-904d-fa163eee1ffe",
608                     "ownertype": 3,
609                     "cpdId": "CP_NO_0_CDB_ZTE_VGW_MGT_NET39",
610                     "portResource": {
611                         "resourceId": "3296b6d8-ebca-4d33-98f4-68d1bc63a3d0",
612                         "tenant": "ZTE_ONAP_PRO",
613                         "vimId": "vmware_vio",
614                         "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1"
615                     },
616                     "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
617                     "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
618                     "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe"
619                 },
620                 {
621                     "changeType": "added",
622                     "cPInstanceId": "1758181e-c5bf-11e7-904d-fa163eee1ffe",
623                     "ownertype": 3,
624                     "cpdId": "CP_NO_1_CDB_ZTE_VGW_SERVICE_NET39",
625                     "portResource": {
626                         "resourceId": "5e277a18-94de-469a-a336-2c01ab46387e",
627                         "tenant": "ZTE_ONAP_PRO",
628                         "vimId": "vmware_vio",
629                         "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2"
630                     },
631                     "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2",
632                     "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
633                     "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe"
634                 }
635             ],
636             "vnfdmodule": {
637                 "volume_storages": [
638
639                 ],
640                 "inputs": {
641
642                 },
643                 "vdus": [
644                     {
645                         "volume_storages": [
646
647                         ],
648                         "description": "CDB",
649                         "vdu_id": "VDU_S_CDB_51",
650                         "local_storages": [
651                             "local_disk_root_10GB",
652                             "local_disk_ephemeral_14GB"
653                         ],
654                         "nfv_compute": {
655                             "flavor_extra_specs": {
656                                 "hw:cpu_policy": "dedicated",
657                                 "hw:mem_page_size": "large",
658                                 "hw:numa_nodes": 1,
659                                 "hw:cpu_max_sockets": 1
660                             },
661                             "mem_size": 8192,
662                             "num_cpus": 2
663                         },
664                         "artifacts": [
665
666                         ],
667                         "dependencies": [
668
669                         ],
670                         "vls": [
671                             "ZTE_VGW_MGT_NET39_virtualLink",
672                             "ZTE_VGW_SERVICE_NET39_virtualLink"
673                         ],
674                         "image_file": "image_51",
675                         "cps": [
676                             "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
677                             "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2"
678                         ],
679                         "properties": {
680                             "key_vd": True,
681                             "support_scaling": True,
682                             "vdu_type": "CDB",
683                             "name": "ZTE_xGW_39_CDB_1",
684                             "storage_policy": "Share_Service",
685                             "inject_network_address": True,
686                             "is_predefined": False,
687                             "location_info": {
688                                 "vimid": "",
689                                 "availability_zone": "",
690                                 "vdc": "OG_OrganizationDC",
691                                 "host": "",
692                                 "tenant": "",
693                                 "vapp": "xgw"
694                             },
695                             "use_shared_vm": False,
696                             "inject_data_list": [
697
698                             ],
699                             "allow_scale_updown": True,
700                             "action": "ADD",
701                             "watchdog": {
702
703                             },
704                             "template_id": 51,
705                             "manual_scale_select_vim": False,
706                             "config_drive": True
707                         }
708                     },
709                     {
710                         "volume_storages": [
711
712                         ],
713                         "description": "SLB",
714                         "vdu_id": "VDU_M_SLB_42",
715                         "local_storages": [
716                             "local_disk_root_10GB",
717                             "local_disk_ephemeral_14GB"
718                         ],
719                         "nfv_compute": {
720                             "flavor_extra_specs": {
721                                 "hw:cpu_policy": "dedicated",
722                                 "hw:mem_page_size": "large",
723                                 "hw:numa_nodes": 1,
724                                 "hw:cpu_max_sockets": 1
725                             },
726                             "mem_size": 24576,
727                             "num_cpus": 8
728                         },
729                         "artifacts": [
730
731                         ],
732                         "dependencies": [
733
734                         ],
735                         "vls": [
736                             "ZTE_VGW_MGT_NET39_virtualLink",
737                             "ZTE_VGW_SERVICE_NET39_virtualLink",
738                             "ZTE_NET39_virtualLink",
739                             "ZTE_VGW_GTP_NET39_virtualLink"
740                         ],
741                         "image_file": "image_51",
742                         "cps": [
743                             "CP_ZTE_xGW_39_SLB_1_ZTE_VGW_MGT_NET39_su1",
744                             "CP_ZTE_xGW_39_SLB_1_ZTE_VGW_SERVICE_NET39_su2",
745                             "CP_ZTE_xGW_39_SLB_1_zte-net-subnet393",
746                             "CP_ZTE_xGW_39_SLB_1_ZTE_VGW_GTP_NET39_su4"
747                         ],
748                         "properties": {
749                             "key_vd": True,
750                             "support_scaling": False,
751                             "vdu_type": "SLB",
752                             "name": "ZTE_xGW_39_SLB_1",
753                             "storage_policy": "Share_Service",
754                             "inject_network_address": True,
755                             "is_predefined": False,
756                             "location_info": {
757                                 "vimid": "",
758                                 "availability_zone": "",
759                                 "vdc": "OG_OrganizationDC",
760                                 "host": "",
761                                 "tenant": "",
762                                 "vapp": "xgw"
763                             },
764                             "use_shared_vm": False,
765                             "inject_data_list": [
766
767                             ],
768                             "allow_scale_updown": True,
769                             "action": "ADD",
770                             "watchdog": {
771
772                             },
773                             "template_id": 42,
774                             "manual_scale_select_vim": False,
775                             "config_drive": True
776                         }
777                     }
778                 ],
779                 "vcloud": [
780
781                 ],
782                 "extvirtuallink": "",
783                 "server_groups": [
784
785                 ],
786                 "image_files": [
787                     {
788                         "properties": {
789                             "vendor": "zte",
790                             "name": "ZXUN_xGW_CGSL_QCOW2_OP_V6.17.10.B17.ova",
791                             "image_extra_specs": {
792
793                             },
794                             "disk_format": "vmdk",
795                             "file_url": "SoftwareImages/ZXUN-xGW-CGSL-QCOW2-V6.17.10.B17-image.tar.gz",
796                             "container_type": "bare",
797                             "version": "V6.17.10.B17.ova"
798                         },
799                         "image_file_id": "image_51",
800                         "description": "xgw image file"
801                     }
802                 ],
803                 "routers": [
804
805                 ],
806                 "local_storages": [
807                     {
808                         "local_storage_id": "local_disk_ephemeral_38GB",
809                         "description": "local_disk_ephemeral_38GB",
810                         "properties": {
811                             "disk_type": "ephemeral",
812                             "size": 38
813                         }
814                     },
815                     {
816                         "local_storage_id": "local_disk_root_10GB",
817                         "description": "local_disk_root_10GB",
818                         "properties": {
819                             "disk_type": "root",
820                             "size": 10
821                         }
822                     },
823                     {
824                         "local_storage_id": "local_disk_ephemeral_14GB",
825                         "description": "local_disk_ephemeral_14GB",
826                         "properties": {
827                             "disk_type": "ephemeral",
828                             "size": 14
829                         }
830                     }
831                 ],
832                 "vnf_flavours": [
833
834                 ],
835                 "vnf_exposed": {
836                     "external_cps": [
837                         {
838                             "key_name": "ZTE_NET39_virtualLink",
839                             "cpd_id": "CP_NO_3_PFU_ZTE_NET39"
840                         },
841                         {
842                             "key_name": "ZTE_NET39_virtualLink1",
843                             "cpd_id": "CP_NO_2_PFU_ZTE_NET39"
844                         },
845                         {
846                             "key_name": "ZTE_VGW_GTP_NET39_virtualLink",
847                             "cpd_id": "CP_NO_3_SLB_ZTE_VGW_GTP_NET39"
848                         },
849                         {
850                             "key_name": "ZTE_NET39_virtualLink2",
851                             "cpd_id": "CP_NO_2_SLB_ZTE_NET39"
852                         },
853                         {
854                             "key_name": "provider-zte_virtualLink",
855                             "cpd_id": "CP_NO_2_MPU_provider-zte"
856                         }
857                     ],
858                     "forward_cps": [
859                         {
860                             "key_name": "ZTE_VGW_GTP_NET39_forwarder",
861                             "cpd_id": "CP_NO_3_SLB_ZTE_VGW_GTP_NET39"
862                         },
863                         {
864                             "key_name": "ZTE_NET39_forwarder1",
865                             "cpd_id": "CP_NO_2_PFU_ZTE_NET39"
866                         },
867                         {
868                             "key_name": "ZTE_NET39_forwarder2",
869                             "cpd_id": "CP_NO_3_PFU_ZTE_NET39"
870                         },
871                         {
872                             "key_name": "provider-zte_forwarder",
873                             "cpd_id": "CP_NO_2_MPU_provider-zte"
874                         },
875                         {
876                             "key_name": "ZTE_NET39_forwarder",
877                             "cpd_id": "CP_NO_2_SLB_ZTE_NET39"
878                         }
879                     ]
880                 },
881                 "reserved_total": {
882                     "portnum": 27,
883                     "vcpunum": 72,
884                     "memorysize": 233472,
885                     "shdsize": 288,
886                     "isreserve": 0,
887                     "vmnum": 9
888                 },
889                 "policies": [
890                     {
891                         "scaling": [
892                             {
893                                 "description": "zte vgw vnf policy",
894                                 "policy_id": "Policy_1",
895                                 "targets": [
896                                     "VDU_S_CDB_51",
897                                     "VDU_M_CDB_52",
898                                     "VDU_M_SLB_42",
899                                     "VDU_M_GSU_22",
900                                     "VDU_M_MPU_12",
901                                     "VDU_L_MPU_13",
902                                     "VDU_M_PFU_32",
903                                     "VDU_L_PFU_33"
904                                 ],
905                                 "properties": {
906                                     "policy_file": "Policies/zte-vcn-vnf-policy.xml"
907                                 }
908                             }
909                         ],
910                         "healing": [
911
912                         ]
913                     }
914                 ],
915                 "plugins": [
916
917                 ],
918                 "services": [
919
920                 ],
921                 "vcenter": [
922
923                 ],
924                 "cps": [
925                     {
926                         "vl_id": "ZTE_VGW_MGT_NET39_virtualLink",
927                         "description": "ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_s",
928                         "vdu_id": "VDU_S_CDB_51",
929                         "properties": {
930                             "service_port_created": False,
931                             "name": "ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_s",
932                             "allowed_address_pairs": [
933
934                             ],
935                             "bandwidth": 0,
936                             "is_virtual": False,
937                             "guest_os_mt": 1400,
938                             "vnic_type": "normal",
939                             "floating_ip_address": {
940
941                             },
942                             "mac_address": "",
943                             "port_security_enabled": False,
944                             "ip_address": "192.168.39.247",
945                             "order": 1,
946                             "security_groups": [
947
948                             ],
949                             "bond": "none"
950                         },
951                         "cp_id": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
952                         "cpd_id": "CP_NO_0_CDB_ZTE_VGW_MGT_NET39"
953                     },
954                     {
955                         "vl_id": "ZTE_VGW_SERVICE_NET39_virtualLink",
956                         "description": "ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_s",
957                         "vdu_id": "VDU_S_CDB_51",
958                         "properties": {
959                             "service_port_created": False,
960                             "name": "ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_s",
961                             "allowed_address_pairs": [
962
963                             ],
964                             "bandwidth": 0,
965                             "is_virtual": False,
966                             "guest_os_mt": 1400,
967                             "vnic_type": "normal",
968                             "floating_ip_address": {
969
970                             },
971                             "mac_address": "",
972                             "port_security_enabled": False,
973                             "ip_address": "192.168.40.247",
974                             "order": 2,
975                             "security_groups": [
976
977                             ],
978                             "bond": "none"
979                         },
980                         "cp_id": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2",
981                         "cpd_id": "CP_NO_1_CDB_ZTE_VGW_SERVICE_NET39"
982                     }
983                 ],
984                 "vls": [
985                     {
986                         "route_external": False,
987                         "route_id": "",
988                         "vl_id": "ZTE_VGW_MGT_NET39_virtualLink",
989                         "description": "ZTE_VGW_MGT_NET39_s",
990                         "properties": {
991                             "gateway_ip": "",
992                             "vendor": "ZTE",
993                             "name": "ZTE_VGW_MGT_NET39_s",
994                             "location_info": {
995                                 "vdc": "OG_OrganizationDC",
996                                 "vimid": 1,
997                                 "tenant": "",
998                                 "vapp": "xgw"
999                             },
1000                             "start_ip": "",
1001                             "segmentation_id": "142",
1002                             "dns_nameservers": [
1003
1004                             ],
1005                             "vds_name": "",
1006                             "mt": 1400,
1007                             "is_predefined": True,
1008                             "ip_version": 4,
1009                             "netmask": "255.255.255.0",
1010                             "end_ip": "",
1011                             "host_routes": [
1012
1013                             ],
1014                             "vlan_transparent": False,
1015                             "physical_network": "physnet1",
1016                             "cidr": "192.168.39.0/24",
1017                             "dhcp_enabled": False,
1018                             "network_name": "ZTE_VGW_MGT_NET39",
1019                             "network_type": "vlan"
1020                         }
1021                     },
1022                     {
1023                         "route_external": False,
1024                         "route_id": "",
1025                         "vl_id": "ZTE_VGW_SERVICE_NET39_virtualLink",
1026                         "description": "ZTE_VGW_SERVICE_NET39_s",
1027                         "properties": {
1028                             "gateway_ip": "",
1029                             "vendor": "ZTE",
1030                             "name": "ZTE_VGW_SERVICE_NET39_s",
1031                             "location_info": {
1032                                 "vdc": "OG_OrganizationDC",
1033                                 "vimid": 1,
1034                                 "tenant": "",
1035                                 "vapp": "xgw"
1036                             },
1037                             "start_ip": "",
1038                             "segmentation_id": "128",
1039                             "dns_nameservers": [
1040
1041                             ],
1042                             "vds_name": "",
1043                             "mt": 1400,
1044                             "is_predefined": True,
1045                             "ip_version": 4,
1046                             "netmask": "255.255.255.0",
1047                             "end_ip": "",
1048                             "host_routes": [
1049
1050                             ],
1051                             "vlan_transparent": False,
1052                             "physical_network": "physnet1",
1053                             "cidr": "192.168.40.0/24",
1054                             "dhcp_enabled": False,
1055                             "network_name": "ZTE_VGW_SERVICE_NET39",
1056                             "network_type": "vlan"
1057                         }
1058                     }
1059                 ],
1060                 "element_groups": [
1061
1062                 ],
1063                 "metadata": {
1064                     "plugin_info": "cn_plugin_3.0",
1065                     "vendor": "ZTE",
1066                     "is_shared": False,
1067                     "adjust_vnf_capacity": True,
1068                     "paas_project": "",
1069                     "description": "VMware",
1070                     "vnf_extend_type": "driver",
1071                     "domain_type": "CN",
1072                     "resview": "dync",
1073                     "script_info": "",
1074                     "service_category": "EPC",
1075                     "version": "ZTE",
1076                     "vnf_type": "SAE-GW",
1077                     "cross_dc": False,
1078                     "vmnumber_overquota_alarm": True,
1079                     "vnfd_version": "V00000001",
1080                     "id": "NFAR-ZTE-40-ZTE",
1081                     "name": 40
1082                 }
1083             },
1084             "operation": "instantiate",
1085             "vnfmInstanceId": "31f8934e-c785-4fa5-9205-c5f374ada982"
1086         }
1087     },
1088     "vimid": "vmware_vio",
1089     "timestamp": "20171110105828",
1090     "affectedcp": [
1091         {
1092             "changeType": "added",
1093             "cPInstanceId": "175767d4-c5bf-11e7-904d-fa163eee1ffe",
1094             "ownertype": 3,
1095             "cpdId": "CP_NO_0_CDB_ZTE_VGW_MGT_NET39",
1096             "portResource": {
1097                 "resourceId": "3296b6d8-ebca-4d33-98f4-68d1bc63a3d0",
1098                 "tenant": "ZTE_ONAP_PRO",
1099                 "vimId": "vmware_vio",
1100                 "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1"
1101             },
1102             "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_MGT_NET39_su1",
1103             "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
1104             "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe"
1105         },
1106         {
1107             "changeType": "added",
1108             "cPInstanceId": "1758181e-c5bf-11e7-904d-fa163eee1ffe",
1109             "ownertype": 3,
1110             "cpdId": "CP_NO_1_CDB_ZTE_VGW_SERVICE_NET39",
1111             "portResource": {
1112                 "resourceId": "5e277a18-94de-469a-a336-2c01ab46387e",
1113                 "tenant": "ZTE_ONAP_PRO",
1114                 "vimId": "vmware_vio",
1115                 "resourceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2"
1116             },
1117             "cpInstanceName": "CP_ZTE_xGW_39_CDB_1_ZTE_VGW_SERVICE_NET39_su2",
1118             "ownerid": "17502154-c5bf-11e7-904d-fa163eee1ffe",
1119             "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe"
1120         }
1121     ],
1122     "vmlist": [
1123         {
1124             "VMNumber": 1,
1125             "vdutype": "CDB",
1126             "VMFlavor": "VDU_S_CDB_51",
1127             "VMIDlist": [
1128                 {
1129                     "VMID": "e8ccc55a-3ebb-4e46-8260-dc4a1646ef4f",
1130                     "VMName": "ZTE_xGW_39_CDB_1",
1131                     "vimid": "vmware_vio",
1132                     "tenant": "ZTE_ONAP_PRO"
1133                 }
1134             ]
1135         },
1136         {
1137             "VMNumber": 1,
1138             "vdutype": "SLB",
1139             "VMFlavor": "VDU_M_SLB_42",
1140             "VMIDlist": [
1141                 {
1142                     "VMID": "a9dd6a73-76ee-4d07-9554-08f14c17261f",
1143                     "VMName": "ZTE_xGW_39_SLB_1",
1144                     "vimid": "vmware_vio",
1145                     "tenant": "ZTE_ONAP_PRO"
1146                 }
1147             ]
1148         }
1149     ],
1150     "EventType": 1,
1151     "vnfmid": "31f8934e-c785-4fa5-9205-c5f374ada982",
1152     "affectedvirtuallink ": [
1153         {
1154             "changeType": "added",
1155             "virtualLinkInstanceId": "1753b60c-c5bf-11e7-904d-fa163eee1ffe",
1156             "networkResource": {
1157                 "resourceId": "c55e0788-3683-48a1-b88a-a0cb5e05bd44",
1158                 "tenant": None,
1159                 "vimId": "vmware_vio",
1160                 "resourceName": "ZTE_VGW_MGT_NET39"
1161             },
1162             "virtualLinkDescId": "ZTE_VGW_MGT_NET39_virtualLink",
1163             "tenant": "ZTE_ONAP_PRO",
1164             "subnetworkResource": {
1165                 "resourceId": "33c8a03d-00c9-4c57-a348-26dae462b473",
1166                 "tenant": None,
1167                 "vimId": "vmware_vio",
1168                 "resourceName": "ZTE_VGW_MGT_NET39_s"
1169             }
1170         },
1171         {
1172             "changeType": "added",
1173             "virtualLinkInstanceId": "175472a4-c5bf-11e7-904d-fa163eee1ffe",
1174             "networkResource": {
1175                 "resourceId": "2d22b6e4-340b-45a8-8757-5206aa056b92",
1176                 "tenant": None,
1177                 "vimId": "vmware_vio",
1178                 "resourceName": "ZTE_VGW_SERVICE_NET39"
1179             },
1180             "virtualLinkDescId": "ZTE_VGW_SERVICE_NET39_virtualLink",
1181             "tenant": "ZTE_ONAP_PRO",
1182             "subnetworkResource": {
1183                 "resourceId": "2ea2acc0-a4ed-44f8-9d31-9cdc9e3ebe62",
1184                 "tenant": None,
1185                 "vimId": "vmware_vio",
1186                 "resourceName": "ZTE_VGW_SERVICE_NET39_s"
1187             }
1188         }
1189     ]
1190 }