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:
("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"):
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']
else:
av_index = None
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]})
+ else:
+ cloud_config_vm_ = cloud_config_vm
+
vm_name = myVMDict['name'] + "-" + str(vm_index+1)
vm_networks = deepcopy(myVMDict['networks'])
task_params = (vm_name, myVMDict['description'], myVMDict.get('start', None),
- myVMDict['imageRef'], myVMDict['flavorRef'], vm_networks, cloud_config_vm,
+ myVMDict['imageRef'], myVMDict['flavorRef'], vm_networks, cloud_config_vm_,
myVMDict['disks'], av_index, vnf_availability_zones)
vm_uuid = str(uuid4())
db_vim_actions.append({"TO-UPDATE": {}, "WHERE": {
"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 {}
+ 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]:
iface["uuid"] = iface2iface[iface["uuid"]]
# increment ip_address