ns_flavor = target["flavor"][int(vdur["ns-flavor-id"])]
if target_vim not in ns_flavor["vim_info"]:
ns_flavor["vim_info"][target_vim] = {}
- # image
- ns_image = target["image"][int(vdur["ns-image-id"])]
+
+ # deal with images
+ # in case alternative images are provided we must check if they should be applied
+ # for the vim_type, modify the vim_type taking into account
+ ns_image_id = int(vdur["ns-image-id"])
+ if vdur.get("alt-image-ids"):
+ db_vim = get_vim_account(vnfr["vim-account-id"])
+ vim_type = db_vim["vim_type"]
+ for alt_image_id in vdur.get("alt-image-ids"):
+ ns_alt_image = target["image"][int(alt_image_id)]
+ if vim_type == ns_alt_image.get("vim-type"):
+ # must use alternative image
+ self.logger.debug("use alternative image id: {}".format(alt_image_id))
+ ns_image_id = alt_image_id
+ vdur["ns-image-id"] = ns_image_id
+ break
+ ns_image = target["image"][int(ns_image_id)]
if target_vim not in ns_image["vim_info"]:
ns_image["vim_info"][target_vim] = {}
)
for kdud in get_kdu_list(vnfd):
kdu_name = kdud["name"]
- descriptor_config = get_kdu_configuration(vnfd, kdu_name)
+ descriptor_config = kdud.get('kdu-configuration')
if descriptor_config:
vdu_id = None
vdu_index = 0
vdu_name = None
# Get additional parameters
- deploy_params = {"OSM": get_osm_params(db_vnfr)}
+ deploy_params = {"OSM": {"vim_account_id": ns_params["vimAccountId"]}}
if db_nsr.get("additionalParamsForNs"):
deploy_params.update(parse_yaml_strings(db_nsr["additionalParamsForNs"].copy()))
base_folder = nsd["_admin"]["storage"]
kdud = next(kdud for kdud in vnfd_with_id["kdu"] if kdud["name"] == kdur["kdu-name"])
namespace = kdur.get("k8s-namespace")
if kdur.get("helm-chart"):
- kdumodel = kdur["helm-chart"]["kdu-model-locator"]
+ kdumodel = kdur["helm-chart"]
# Default version: helm3, if helm-version is v2 assign v2
k8sclustertype = "helm-chart-v3"
self.logger.debug("kdur: {}".format(kdur))
if kdur.get("helm-version") and kdur.get("helm-version") == "v2":
k8sclustertype = "helm-chart"
elif kdur.get("juju-bundle"):
- kdumodel = kdur["juju-bundle"]["kdu-model-locator"]
+ kdumodel = kdur["juju-bundle"]
k8sclustertype = "juju-bundle"
else:
raise LcmException("kdu type for kdu='{}.{}' is neither helm-chart nor "
if kdu_name and get_kdu_configuration(db_vnfd, kdu_name):
kdu_configuration = get_kdu_configuration(db_vnfd, kdu_name)
actions = set()
- for primitive in kdu_configuration["initial-config-primitive"]:
+ for primitive in kdu_configuration.get("initial-config-primitive", []):
actions.add(primitive["name"])
- for primitive in kdu_configuration["config-primitive"]:
+ for primitive in kdu_configuration.get("config-primitive", []):
actions.add(primitive["name"])
kdu_action = True if primitive_name in actions else False