Implement of reporting port instance data from GVNFM to NFVO
[vfc/gvnfm/vnflcm.git] / lcm / lcm / pub / msapi / gvnfmdriver.py
index c2519ea..8d09757 100644 (file)
@@ -99,24 +99,33 @@ def prepare_notification_data(nfinstid, jobid, changetype, operation):
                 'vimConnectionId': port.vimid,
                 'resourceId': port.resourceid,
                 'resourceProviderId': port.name,  # TODO: is resourceName mapped to resourceProviderId?
-                'vimLevelResourceType': 'port'
+                'vimLevelResourceType': 'port',
+                'tenant': port.tenant,
+                'ipAddress': port.ipaddress,
+                'macAddress': port.macaddress,
+                'instId': port.instid,
+                'portid': port.portid,
+                'networkid': port.networkid,
+                'subnetworkid': port.subnetworkid
             },
-            'cpInstanceId': port.cpinstanceid  # TODO: port.cpinstanceid is not initiated when create port resource.
+            'cpInstanceId': port.portid  # TODO: port.cpinstanceid is not initiated when create port resource.
         })
-    for network_id, ext_link_ports in ext_connectivity_map.items():
+    for network_id, ext_link_ports in list(ext_connectivity_map.items()):
         networks = NetworkInstModel.objects.filter(networkid=network_id)
-        network = networks[0]
+        net_name = networks[0].name if networks else network_id
         network_resource = {
-            'vimConnectionId': network.vimid,
-            'resourceId': network.resourceid,
-            'resourceProviderId': network.name,  # TODO: is resourceName mapped to resourceProviderId?
+            'vimConnectionId': ext_link_ports[0]['resourceHandle']['vimConnectionId'],
+            'resourceId': network_id,
+            'resourceProviderId': net_name,  # TODO: is resourceName mapped to resourceProviderId?
             'vimLevelResourceType': 'network'
         }
         ext_connectivity.append({
             'id': network_id,
             'resourceHandle': network_resource,
+            'changeType': changetype,
             'extLinkPorts': ext_link_ports
         })
+    logger.debug("ext_connectivity=%s", ext_connectivity)
     affected_vss = []
     vss = StorageInstModel.objects.filter(instid=nfinstid)
     for vs in vss: