Add OSM_SERVER and OSMUI_SQL_DATABASE_URI to Dockerfile
[osm/LW-UI.git] / lib / osm / osm_util.py
index 8cf6a4e..acc4726 100644 (file)
@@ -22,7 +22,7 @@ class OsmUtil():
                                                                 str(item['member-vnf-index-ref']) != str(
                                                                     args['member-vnf-index']) or str(
                                                                     item['vnfd-id-ref']) != str(args['vnfd-id-ref'])]
-            elif node_type == 'cp':
+            elif node_type == 'ns_cp':
                 for vld in nsd['vld']:
                     if vld['id'] == args['vld_id']:
                         vld['vnfd-connection-point-ref'] = [item for item in vld['vnfd-connection-point-ref'] if
@@ -39,6 +39,8 @@ class OsmUtil():
                 vnfd['internal-vld'] = [item for item in vnfd['internal-vld'] if item['id'] != element_id]
             if node_type == 'cp':
                 vnfd['connection-point'] = [item for item in vnfd['connection-point'] if item['name'] != args['name']]
+                if vnfd['mgmt-interface']['cp'] == args['name']:
+                    del vnfd['mgmt-interface']['cp']
                 for vdu in vnfd['vdu']:
                     if 'interface' in vdu:
                         vdu['interface'] = [item for item in vdu['interface'] if 'external-connection-point-ref' not in item
@@ -89,6 +91,11 @@ class OsmUtil():
                 for k, v in enumerate(vnfd['connection-point']):
                     if v['name'] == old['name']:
                         vnfd['connection-point'][k].update(updated)
+                for vdu in vnfd['vdu']:
+                    if 'interface' in vdu:
+                        for intf in vdu['interface']:
+                            if 'external-connection-point-ref' in intf and intf['external-connection-point-ref'] == old['name']:
+                                intf['external-connection-point-ref'] = updated['name']
             if node_type == 'vdu':
                 for k, v in enumerate(vnfd['vdu']):
                     if v['name'] == old['name']:
@@ -116,7 +123,7 @@ class OsmUtil():
                 indexes = []
                 for cvnfd in nsd['constituent-vnfd']:
                     indexes.append(int(cvnfd["member-vnf-index"]))
-                memberindex = max(indexes) + 1
+                memberindex = max(indexes) + 1 if len(indexes) > 0 else 1
                 nsd['constituent-vnfd'].append({
                     "member-vnf-index": memberindex,
                     "vnfd-id-ref": element_id
@@ -148,7 +155,7 @@ class OsmUtil():
                     "monitoring-param": [],
                     "internal-connection-point": [],
                     "image": "ubuntu",
-                    "cloud-init-file": "",
+                    #"cloud-init-file": "",
                     "vm-flavor": {},
                     "interface": [],
                     "id": element_id,
@@ -180,7 +187,7 @@ class OsmUtil():
                             "virtual-interface": {
                                 "type": "VIRTIO"
                             },
-                            "name": element_id,
+                            "name": args["name"],
                             "mgmt-interface": True,
                             "type": "EXTERNAL",
                             "external-connection-point-ref": args["external-connection-point-ref"]