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
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
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']:
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
"monitoring-param": [],
"internal-connection-point": [],
"image": "ubuntu",
- "cloud-init-file": "",
+ #"cloud-init-file": "",
"vm-flavor": {},
"interface": [],
"id": element_id,
"virtual-interface": {
"type": "VIRTIO"
},
- "name": element_id,
+ "name": args["name"],
"mgmt-interface": True,
"type": "EXTERNAL",
"external-connection-point-ref": args["external-connection-point-ref"]