def assign_properties(self, service: Service) -> None: """Assign components properties. For each component set properties and it's value if are declared in YAML template. Args: service (Service): Service object """ if "networks" in self.yaml_template[self.service_name]: for net in self.yaml_template[self.service_name]["networks"]: if "properties" in net: vl: Vl = Vl(name=net['vl_name']) vl_component: Component = service.get_component(vl) self.assign_properties_to_component( vl_component, net["properties"]) if "vnfs" in self.yaml_template[self.service_name]: for vnf in self.yaml_template[self.service_name]["vnfs"]: if "properties" in vnf: vf: Vf = Vf(name=vnf["vnf_name"]) vf_component: Component = service.get_component(vf) self.assign_properties_to_component( vf_component, vnf["properties"]) if "pnfs" in self.yaml_template[self.service_name]: for pnf in self.yaml_template[self.service_name]["pnfs"]: if "properties" in pnf: pnf_obj: Pnf = Pnf(name=pnf["pnf_name"]) pnf_component: Component = service.get_component(pnf_obj) self.assign_properties_to_component( pnf_component, pnf["properties"])
logger.info("******** Onboard VF *******") vf = Vf(name=Config.VFNAME) vf.vsp = vsp vf.create() vf.onboard() logger.info("******** Onboard Service *******") svc = Service(name=Config.SERVICENAME, instantiation_type=ServiceInstantiationType.MACRO) svc.create() if svc.status == const.DRAFT: svc.add_resource(vf) logger.info("******** Set SDNC properties for VF ********") component = svc.get_component(vf) prop = component.get_property("sdnc_model_version") prop.value = SDNC_MODEL_VERSION prop = component.get_property("sdnc_artifact_name") prop.value = Config.SDNC_ARTIFACT_NAME prop = component.get_property("sdnc_model_name") prop.value = SDNC_MODEL_NAME prop = component.get_property("controller_actor") prop.value = "CDS" prop = component.get_property("skip_post_instantiation_configuration") prop.value = Config.SKIP_POST_INSTANTIATION logger.info("******** Onboard Service *******") svc.checkin() svc.onboard()