import logging.handlers
from osm_lcm import ROclient
from osm_lcm.lcm_utils import LcmException, LcmBase, deep_get
-from n2vc.k8s_helm_conn import K8sHelmConnector
from n2vc.k8s_helm3_conn import K8sHelm3Connector
from n2vc.k8s_juju_conn import K8sJujuConnector
from n2vc.n2vc_juju_conn import N2VCJujuConnector
super().__init__(msg, self.logger)
- self.helm2_k8scluster = K8sHelmConnector(
- kubectl_command=self.vca_config.get("kubectlpath"),
- helm_command=self.vca_config.get("helmpath"),
- log=self.logger,
- on_update_db=None,
- db=self.db,
- fs=self.fs,
- )
-
self.helm3_k8scluster = K8sHelm3Connector(
kubectl_command=self.vca_config.get("kubectlpath"),
helm_command=self.vca_config.get("helm3path"),
)
self.k8s_map = {
- "helm-chart": self.helm2_k8scluster,
"helm-chart-v3": self.helm3_k8scluster,
"juju-bundle": self.juju_k8scluster,
}
# for backwards compatibility and all-false case
if not any(k8s_deploy_methods.values()):
k8s_deploy_methods = {
- "helm-chart": True,
"juju-bundle": True,
"helm-chart-v3": True,
}
step = "Getting k8scluster='{}' from db".format(k8scluster_id)
self.logger.debug(logging_text + step)
db_k8scluster = self.db.get_one("k8sclusters", {"_id": k8scluster_id})
- k8s_hc_id = deep_get(db_k8scluster, ("_admin", "helm-chart", "id"))
k8s_h3c_id = deep_get(db_k8scluster, ("_admin", "helm-chart-v3", "id"))
k8s_jb_id = deep_get(db_k8scluster, ("_admin", "juju-bundle", "id"))
db_k8scluster_update["_admin.juju-bundle.id"] = None
db_k8scluster_update["_admin.juju-bundle.operationalState"] = "DISABLED"
- if k8s_hc_id:
- step = "Removing helm-chart '{}'".format(k8s_hc_id)
- uninstall_sw = (
- deep_get(db_k8scluster, ("_admin", "helm-chart", "created"))
- or False
- )
- cluster_removed = await self.helm2_k8scluster.reset(
- cluster_uuid=k8s_hc_id, uninstall_sw=uninstall_sw
- )
- db_k8scluster_update["_admin.helm-chart.id"] = None
- db_k8scluster_update["_admin.helm-chart.operationalState"] = "DISABLED"
-
if k8s_h3c_id:
step = "Removing helm-chart-v3 '{}'".format(k8s_h3c_id)
uninstall_sw = (
] = "DISABLED"
# Try to remove from cluster_inserted to clean old versions
- if k8s_hc_id and cluster_removed:
+ if k8s_h3c_id and cluster_removed:
step = "Removing k8scluster='{}' from k8srepos".format(k8scluster_id)
self.logger.debug(logging_text + step)
db_k8srepo_list = self.db.get_list(
- "k8srepos", {"_admin.cluster-inserted": k8s_hc_id}
+ "k8srepos", {"_admin.cluster-inserted": k8s_h3c_id}
)
for k8srepo in db_k8srepo_list:
try:
cluster_list = k8srepo["_admin"]["cluster-inserted"]
- cluster_list.remove(k8s_hc_id)
+ cluster_list.remove(k8s_h3c_id)
self.update_db_2(
"k8srepos",
k8srepo["_id"],
super().__init__(msg, self.logger)
- self.k8srepo = K8sHelmConnector(
+ self.k8srepo = K8sHelm3Connector(
kubectl_command=self.vca_config.get("kubectlpath"),
helm_command=self.vca_config.get("helmpath"),
fs=self.fs,