X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=RO%2Fosm_ro%2Fnfvo.py;h=74cfbf0dd29f3f160edfbf18226c1c5c0f0b5c97;hb=70eeb18e4fcbb8bc3c81c88f270b59966ae4d463;hp=ca73a097d5cb3c1d5e69864ab1be7a16ad30d177;hpb=3eb76f86fe6771f8d278fd3c61b69c8219a9fb06;p=osm%2FRO.git diff --git a/RO/osm_ro/nfvo.py b/RO/osm_ro/nfvo.py index ca73a097..74cfbf0d 100644 --- a/RO/osm_ro/nfvo.py +++ b/RO/osm_ro/nfvo.py @@ -1198,8 +1198,9 @@ def new_vnfd_v3(mydb, tenant_id, vnf_descriptor): vdu_id2cp_name[vdu_id] = db_interface["external_name"] # port security - if str(cp_descriptor.get("port-security-enabled")).lower() == "false": + if "port-security-disable-strategy" in cp_descriptor or str(cp_descriptor.get("port-security-enabled")).lower() == "false": db_interface["port_security"] = 0 + db_interface["port_security_disable_strategy"] = cp_descriptor.get("port-security-disable-strategy", "full") elif str(cp_descriptor.get("port-security-enabled")).lower() == "true": db_interface["port_security"] = 1 except KeyError: @@ -1233,8 +1234,9 @@ def new_vnfd_v3(mydb, tenant_id, vnf_descriptor): ("SR-IOV", "PCI-PASSTHROUGH"): db_nets[net_id2index[icp_vld.get("id")]]["type"] = "data" db_interface["net_id"] = net_id2uuid[icp_vld.get("id")] - if str(icp_descriptor.get("port-security-enabled")).lower() == "false": + if "port-security-disable-strategy" in icp_descriptor or str(icp_descriptor.get("port-security-enabled")).lower() == "false": db_interface["port_security"] = 0 + db_interface["port_security_disable_strategy"] = icp_descriptor.get("port-security-disable-strategy", "full") elif str(icp_descriptor.get("port-security-enabled")).lower() == "true": db_interface["port_security"] = 1 if icp.get("ip-address"): @@ -4115,6 +4117,8 @@ def instantiate_vnf(mydb, sce_vnf, params, params_out, rollbackList): netDict['ip_address'] = iface['ip_address'] if iface.get("port-security") is not None: netDict['port_security'] = iface['port-security'] + if iface.get("port_security_disable_strategy") is not None: + netDict['port_security_disable_strategy'] = iface['port_security_disable_strategy'] if iface.get("floating-ip") is not None: netDict['floating_ip'] = iface['floating-ip'] netDict['name'] = iface['internal_name'] @@ -4181,7 +4185,9 @@ def instantiate_vnf(mydb, sce_vnf, params, params_out, rollbackList): for vm_index in range(0, vm.get('count', 1)): if vm.get("instance_parameters") and vm["instance_parameters"].get("cloud_init"): cloud_config_vm_ = unify_cloud_config(cloud_config_vm, - {"user-data": vm["instance_parameters"]["cloud_init"][vm_index]}) + {"user-data": vm["instance_parameters"]["cloud_init"][vm_index]}) + else: + cloud_config_vm_ = cloud_config_vm vm_name = myVMDict['name'] + "-" + str(vm_index+1) vm_networks = deepcopy(myVMDict['networks']) @@ -4932,8 +4938,8 @@ def instance_action(mydb,nfvo_tenant,instance_id, action_dict): "item": "instance_wim_nets", "item_id": db_vm_iface["instance_wim_net_id"]}}) task_params_copy = deepcopy(task_params) cloud_config_vm = task_params_copy[6] or {} - cloud_config_vm.pop("user-data", None) if vdu.get("cloud_init"): + cloud_config_vm.pop("user-data", None) cloud_config_vm_ = unify_cloud_config(cloud_config_vm, {"user-data": vdu["cloud_init"][index]}) task_params_copy[6] = cloud_config_vm_ for iface in task_params_copy[5]: