get_juju_ee_ref,
get_kdu_resource_profile,
find_software_version,
+ check_helm_ee_in_ns,
)
from osm_lcm.data_utils.list_utils import find_in_list
from osm_lcm.data_utils.vnfr import (
stage[1] = "Deploying Execution Environments."
self.logger.debug(logging_text + stage[1])
+ # create namespace and certificate if any helm based EE is present in the NS
+ if check_helm_ee_in_ns(db_vnfds):
+ # TODO: create EE namespace
+ # create TLS certificates
+ await self.vca_map["helm-v3"].create_tls_certificate(
+ secret_name="ee-tls-{}".format(nsr_id),
+ dns_prefix="*",
+ nsr_id=nsr_id,
+ usage="server auth",
+ )
+
nsi_id = None # TODO put nsi_id when this nsr belongs to a NSI
for vnf_profile in get_vnf_profiles(nsd):
vnfd_id = vnf_profile["vnfd-id"]
# task_delete_ee = asyncio.ensure_future(self.n2vc.delete_namespace(namespace="." + nsr_id))
tasks_dict_info[task_delete_ee] = "Terminating all VCA"
+ # Delete Namespace and Certificates if necessary
+ if check_helm_ee_in_ns(list(db_vnfds_from_member_index.values())):
+ await self.vca_map["helm-v3"].delete_tls_certificate(
+ certificate_name=db_nslcmop["nsInstanceId"],
+ )
+ # TODO: Delete namespace
+
# Delete from k8scluster
stage[1] = "Deleting KDUs."
self.logger.debug(logging_text + stage[1])
if len(parts) == 2:
kdu_model = parts[0]
if desc_params.get("kdu_atomic_upgrade"):
- atomic_upgrade = desc_params.get("kdu_atomic_upgrade").lower() in ("yes", "true", "1")
+ atomic_upgrade = desc_params.get(
+ "kdu_atomic_upgrade"
+ ).lower() in ("yes", "true", "1")
del desc_params["kdu_atomic_upgrade"]
else:
atomic_upgrade = True
current_charm_artifact_path,
target_charm_artifact_path,
charm_artifact_paths,
- helm_artifacts
+ helm_artifacts,
) = ([], [], [], [])
step = "Checking if revision has changed in VNFD"
# add chart to list and all parameters
step = "Getting helm chart name"
chart_name = ee_item.get("helm-chart")
- if ee_item.get("helm-version") and ee_item.get("helm-version") == "v2":
+ if (
+ ee_item.get("helm-version")
+ and ee_item.get("helm-version") == "v2"
+ ):
vca_type = "helm"
else:
vca_type = "helm-v3"
step = "Setting Helm chart artifact paths"
- helm_artifacts.append({
- "current_artifact_path": get_charm_artifact_path(
- current_base_folder,
- chart_name,
- vca_type,
- current_vnf_revision,
- ),
- "target_artifact_path": get_charm_artifact_path(
- latest_base_folder,
- chart_name,
- vca_type,
- latest_vnfd_revision,
- ),
- "ee_id": ee_id,
- "vca_index": vca_index,
- "vdu_index": vdu_count_index,
- })
+ helm_artifacts.append(
+ {
+ "current_artifact_path": get_charm_artifact_path(
+ current_base_folder,
+ chart_name,
+ vca_type,
+ current_vnf_revision,
+ ),
+ "target_artifact_path": get_charm_artifact_path(
+ latest_base_folder,
+ chart_name,
+ vca_type,
+ latest_vnfd_revision,
+ ),
+ "ee_id": ee_id,
+ "vca_index": vca_index,
+ "vdu_index": vdu_count_index,
+ }
+ )
charm_artifact_paths = zip(
current_charm_artifact_path, target_charm_artifact_path
# helm base EE
for item in helm_artifacts:
- if (
- not (
- item["current_artifact_path"]
- and item["target_artifact_path"]
- and self.check_charm_hash_changed(
- item["current_artifact_path"], item["target_artifact_path"]
- )
- )
+ if not (
+ item["current_artifact_path"]
+ and item["target_artifact_path"]
+ and self.check_charm_hash_changed(
+ item["current_artifact_path"],
+ item["target_artifact_path"],
+ )
):
continue
- db_update_entry = "_admin.deployed.VCA.{}.".format(item["vca_index"])
+ db_update_entry = "_admin.deployed.VCA.{}.".format(
+ item["vca_index"]
+ )
vnfr_id = db_vnfr["_id"]
osm_config = {"osm": {"ns_id": nsr_id, "vnf_id": vnfr_id}}
db_dict = {
"path": db_update_entry,
}
vca_type, namespace, helm_id = get_ee_id_parts(item["ee_id"])
- await self.vca_map[
- vca_type
- ].upgrade_execution_environment(
+ await self.vca_map[vca_type].upgrade_execution_environment(
namespace=namespace,
helm_id=helm_id,
db_dict=db_dict,
self.logger.debug("get ssh key block")
rw_mgmt_ip = None
if deep_get(
- config_descriptor, ("config-access", "ssh-access", "required")
+ config_descriptor,
+ ("config-access", "ssh-access", "required"),
):
# Needed to inject a ssh key
user = deep_get(
config_descriptor,
("config-access", "ssh-access", "default-user"),
)
- step = "Install configuration Software, getting public ssh key"
- pub_key = await self.vca_map[vca_type].get_ee_ssh_public__key(
+ step = (
+ "Install configuration Software, getting public ssh key"
+ )
+ pub_key = await self.vca_map[
+ vca_type
+ ].get_ee_ssh_public__key(
ee_id=ee_id, db_dict=db_dict, vca_id=vca_id
)
- step = "Insert public key into VM user={} ssh_key={}".format(
- user, pub_key
+ step = (
+ "Insert public key into VM user={} ssh_key={}".format(
+ user, pub_key
+ )
)
self.logger.debug(logging_text + step)
"initial-config-primitive"
)
config_primitive = next(
- (p for p in initial_config_primitive_list if p["name"] == "config"),
+ (
+ p
+ for p in initial_config_primitive_list
+ if p["name"] == "config"
+ ),
None,
)
if not config_primitive:
deploy_params["rw_mgmt_ip"] = rw_mgmt_ip
if db_vnfr.get("additionalParamsForVnf"):
deploy_params.update(
- parse_yaml_strings(db_vnfr["additionalParamsForVnf"].copy())
+ parse_yaml_strings(
+ db_vnfr["additionalParamsForVnf"].copy()
+ )
)
primitive_params_ = self._map_primitive_params(
config_primitive, {}, deploy_params
self.update_db_2("nsrs", nsr_id, db_nsr_update)
step = "Sending heal order to VIM"
- task_ro = asyncio.ensure_future(
- self.heal_RO(
- logging_text=logging_text,
- nsr_id=nsr_id,
- db_nslcmop=db_nslcmop,
- stage=stage,
- )
+ await self.heal_RO(
+ logging_text=logging_text,
+ nsr_id=nsr_id,
+ db_nslcmop=db_nslcmop,
+ stage=stage,
)
- self.lcm_tasks.register("ns", nsr_id, nslcmop_id, "heal_RO", task_ro)
- tasks_dict_info[task_ro] = "Healing at VIM"
-
# VCA tasks
# read from db: nsd
stage[1] = "Getting nsd={} from db.".format(db_nsr["nsd-id"])