+ @property
+ def scaling_instance_create_yaml(self, scaleout=False):
+ self._log.debug("Creating instance-scenario-create input file for nsd %s with name %s", self.nsd.id, self._nsr_config_msg.name+"scal1")
+ scaling_instance_create = {}
+ for group_list in self._nsd_msg.scaling_group_descriptor:
+ scaling_instance_create["name"] = self._nsr_config_msg.name + "__"+group_list.name
+ if scaleout:
+ scaling_instance_create["scenario"] = self._nsd_uuid + "__" +group_list.name
+ else:
+ scaling_instance_create["scenario"] = self._nsd_uuid
+ scaling_instance_create["description"] = self._nsr_config_msg.description
+
+
+ if self._nsr_config_msg.has_field("om_datacenter"):
+ scaling_instance_create["datacenter"] = self._nsr_config_msg.om_datacenter
+ scaling_instance_create["vnfs"] = {}
+ for vnfr in self._vnfrs:
+ if "om_datacenter" in vnfr.vnfr.vnfr_msg:
+ vnfr_name = vnfr.vnfr.vnfd.name + "__" + str(vnfr.vnfr.vnfr_msg.member_vnf_index_ref)
+ scaling_instance_create["vnfs"][vnfr_name] = {"datacenter": vnfr.vnfr.vnfr_msg.om_datacenter}
+ scaling_instance_create["networks"] = {}
+ for vld_msg in self._nsd_msg.vld:
+ scaling_instance_create["networks"][vld_msg.name] = {}
+ scaling_instance_create["networks"][vld_msg.name]["sites"] = list()
+ for vlr in self._vlrs:
+ if vlr.vld_msg.name == vld_msg.name:
+ self._log.debug("Received VLR name %s, VLR DC: %s for VLD: %s",vlr.vld_msg.name,
+ vlr.om_datacenter_name,vld_msg.name)
+ #network["vim-network-name"] = vld_msg.name
+ network = {}
+ ip_profile = {}
+ if vld_msg.vim_network_name:
+ network["netmap-use"] = vld_msg.vim_network_name
+ #else:
+ # network["netmap-create"] = vlr.name
+ if vlr.om_datacenter_name:
+ network["datacenter"] = vlr.om_datacenter_name
+ elif vld_msg.has_field("om_datacenter"):
+ network["datacenter"] = vld_msg.om_datacenter
+ elif "datacenter" in scaling_instance_create:
+ network["datacenter"] = scaling_instance_create["datacenter"]
+ if network:
+ scaling_instance_create["networks"][vld_msg.name]["sites"].append(network)
+
+ return yaml.safe_dump(scaling_instance_create, default_flow_style=False, width=1000)
+