X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=inline;f=osm_nbi%2Finstance_topics.py;h=84ba177d2b2761942802da65e70d3b260403c630;hb=4ca5152329fcba2f575085df9c0921f6d1135020;hp=cae9f5433035f8382886cfa6c2dc7b5cc2f02d60;hpb=003844ea3f8ab2f9e1486a9cce06d7bcce97bad7;p=osm%2FNBI.git diff --git a/osm_nbi/instance_topics.py b/osm_nbi/instance_topics.py index cae9f54..84ba177 100644 --- a/osm_nbi/instance_topics.py +++ b/osm_nbi/instance_topics.py @@ -550,7 +550,15 @@ class NsrTopic(BaseTopic): vdu_config = utils.find_in_list(configs, lambda config: config["id"] == vdu["id"]) except Exception: vdu_config = None - + + try: + vdu_instantiation_level = utils.find_in_list( + vnfd.get("df")[0]["instantiation-level"][0]["vdu-level"], + lambda a_vdu_profile: a_vdu_profile["vdu-id"] == vdu["id"] + ) + except Exception: + vdu_instantiation_level = None + if vdu_config: external_connection_ee = utils.filter_in_list( vdu_config.get("execution-environment-list", []), @@ -689,7 +697,11 @@ class NsrTopic(BaseTopic): if nsr_flavor_desc: vdur["ns-flavor-id"] = nsr_flavor_desc["id"] - count = int(vdu.get("count", 1)) + if vdu_instantiation_level: + count = vdu_instantiation_level.get("number-of-instances") + else: + count = 1 + for index in range(0, count): vdur = deepcopy(vdur) for iface in vdur["interfaces"]: @@ -772,18 +784,20 @@ class NsLcmOpTopic(BaseTopic): descriptor_configuration = utils.find_in_list( configs, lambda config: config["id"] == indata["vdu_id"] - ).get("config-primitive") + ) elif indata.get("kdu_name"): self._check_valid_kdu(vnfd, indata["kdu_name"]) descriptor_configuration = utils.find_in_list( configs, lambda config: config["id"] == indata.get("kdu_name") - ).get("config-primitive") + ) else: descriptor_configuration = utils.find_in_list( configs, lambda config: config["id"] == vnfd["id"] - ).get("config-primitive") + ) + if descriptor_configuration is not None: + descriptor_configuration = descriptor_configuration.get("config-primitive") else: # use a NSD descriptor_configuration = nsd.get("ns-configuration", {}).get("config-primitive")