X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_helm_conn.py;h=442ed06b93ef7896f61492d504887d8b531e86c8;hp=76ca0b92e3e32d34ae2b6210e5ac3d641ae14c43;hb=refs%2Fchanges%2F67%2F10167%2F4;hpb=7d0735dcfe5634bc9eebedeb67527495f6751a43;ds=sidebyside diff --git a/n2vc/k8s_helm_conn.py b/n2vc/k8s_helm_conn.py index 76ca0b9..442ed06 100644 --- a/n2vc/k8s_helm_conn.py +++ b/n2vc/k8s_helm_conn.py @@ -43,6 +43,7 @@ class K8sHelmConnector(K8sHelmBaseConnector): helm_command: str = "/usr/bin/helm", log: object = None, on_update_db=None, + vca_config: dict = None, ): """ Initializes helm connector for helm v2 @@ -64,6 +65,7 @@ class K8sHelmConnector(K8sHelmBaseConnector): kubectl_command=kubectl_command, helm_command=helm_command, on_update_db=on_update_db, + vca_config=vca_config, ) self.log.info("Initializing K8S Helm2 connector") @@ -261,13 +263,14 @@ class K8sHelmConnector(K8sHelmBaseConnector): command = ( "{} --kubeconfig={} --tiller-namespace={} --home={} --service-account {} " - "init" + " --stable-repo-url {} init" ).format( self._helm_command, paths["kube_config"], namespace, paths["helm_dir"], self.service_account, + self._stable_repo_url ) _, _rc = await self._local_async_exec( command=command, raise_exception_on_error=True, env=env @@ -295,6 +298,19 @@ class K8sHelmConnector(K8sHelmBaseConnector): else: self.log.info("Helm client already initialized") + # remove old stable repo and add new one + cluster_uuid = "{}:{}".format(namespace, cluster_id) + repo_list = await self.repo_list(cluster_uuid) + for repo in repo_list: + if repo["name"] == "stable" and repo["url"] != self._stable_repo_url: + self.log.debug("Add new stable repo url: {}") + await self.repo_remove(cluster_uuid, + "stable") + await self.repo_add(cluster_uuid, + "stable", + self._stable_repo_url) + break + return n2vc_installed_sw async def _uninstall_sw(self, cluster_id: str, namespace: str):