X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_juju_conn.py;h=550ad123a0c89bf0233eca5c84791ca53a87750b;hp=895e82be1077389abc62a5dda6b28043d1d720cb;hb=d5d83a4250eebe2e82fcb9986bcc1d3db5610c3d;hpb=f438ac0e730922f8ac4baace1e48fc41e5783014;ds=sidebyside diff --git a/n2vc/k8s_juju_conn.py b/n2vc/k8s_juju_conn.py index 895e82b..550ad12 100644 --- a/n2vc/k8s_juju_conn.py +++ b/n2vc/k8s_juju_conn.py @@ -306,7 +306,8 @@ class K8sJujuConnector(K8sConnector): timeout: float = 300, params: dict = None, db_dict: dict = None, - kdu_name: str = None + kdu_name: str = None, + namespace: str = None ) -> bool: """Install a bundle @@ -318,6 +319,7 @@ class K8sJujuConnector(K8sConnector): to finish :param params dict: Key-value pairs of instantiation parameters :param kdu_name: Name of the KDU instance to be installed + :param namespace: K8s namespace to use for the KDU instance :return: If successful, returns ? """ @@ -351,6 +353,8 @@ class K8sJujuConnector(K8sConnector): - """ + previous_workdir = os.getcwd() + bundle = kdu_model if kdu_model.startswith("cs:"): bundle = kdu_model @@ -358,12 +362,11 @@ class K8sJujuConnector(K8sConnector): # Download the file pass else: - # Local file + new_workdir = kdu_model.strip(kdu_model.split("/")[-1]) - # if kdu_model.endswith(".tar.gz") or kdu_model.endswith(".tgz") - # Uncompress temporarily - # bundle = - pass + os.chdir(new_workdir) + + bundle = "local:{}".format(kdu_model) if not bundle: # Raise named exception that the bundle could not be found @@ -395,7 +398,8 @@ class K8sJujuConnector(K8sConnector): ) self.log.debug("All units active.") - except concurrent.futures._base.TimeoutError: + except concurrent.futures._base.TimeoutError: # TODO use asyncio.TimeoutError + os.chdir(previous_workdir) self.log.debug("[install] Timeout exceeded; resetting cluster") await self.reset(cluster_uuid) return False @@ -405,6 +409,8 @@ class K8sJujuConnector(K8sConnector): self.log.debug("[install] Disconnecting model") await model.disconnect() + os.chdir(previous_workdir) + return kdu_instance raise Exception("Unable to install")