X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FRO.git;a=blobdiff_plain;f=RO%2Fosm_ro%2Fnfvo.py;h=ca73a097d5cb3c1d5e69864ab1be7a16ad30d177;hp=e346699af2f783e1c656db73cdeb687ed486d2dd;hb=3eb76f86fe6771f8d278fd3c61b69c8219a9fb06;hpb=274bfc7019af82dac67bbbeb121ef45739a45e4e diff --git a/RO/osm_ro/nfvo.py b/RO/osm_ro/nfvo.py index e346699a..ca73a097 100644 --- a/RO/osm_ro/nfvo.py +++ b/RO/osm_ro/nfvo.py @@ -4179,10 +4179,14 @@ def instantiate_vnf(mydb, sce_vnf, params, params_out, rollbackList): 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]}) + 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()) @@ -4927,6 +4931,11 @@ def instance_action(mydb,nfvo_tenant,instance_id, action_dict): 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 {} + cloud_config_vm.pop("user-data", None) + if vdu.get("cloud_init"): + 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