X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_conn.py;h=f9aefa722e19cbfd6f060e3e95ef8aceae0b97c1;hp=d951c2c16200373ce72819ce74ecd84b11f2efc2;hb=12aa0840d594fcb9c236fbb4d0e4aa85687ab4f8;hpb=8ca38ed92090ce6cbd1f8e1cdb802b259d31e9d5 diff --git a/n2vc/k8s_conn.py b/n2vc/k8s_conn.py index d951c2c..f9aefa7 100644 --- a/n2vc/k8s_conn.py +++ b/n2vc/k8s_conn.py @@ -63,7 +63,7 @@ class K8sConnector(abc.ABC, Loggable): self, k8s_creds: str, namespace: str = 'kube-system', - reuse_cluster_uuid = None + reuse_cluster_uuid=None ) -> (str, bool): """ It prepares a given K8s cluster environment to run Charts or juju Bundles on both sides: @@ -71,7 +71,8 @@ class K8sConnector(abc.ABC, Loggable): server (Tiller/Charm) :param k8s_creds: credentials to access a given K8s cluster, i.e. a valid '.kube/config' - :param namespace: optional namespace for helm tiller. By default, 'kube-system' will be used + :param namespace: optional namespace to be used for the K8s engine (helm tiller, juju). + By default, 'kube-system' will be used :param reuse_cluster_uuid: existing cluster uuid for reuse :return: uuid of the K8s cluster and True if connector has installed some software in the cluster (on error, an exception will be raised) @@ -146,7 +147,8 @@ class K8sConnector(abc.ABC, Loggable): atomic: bool = True, timeout: float = 300, params: dict = None, - db_dict: dict = None + db_dict: dict = None, + kdu_name: str = None ): """ Deploys of a new KDU instance. It would implicitly rely on the `install` call to deploy the Chart/Bundle @@ -166,6 +168,7 @@ class K8sConnector(abc.ABC, Loggable): :param dict db_dict: where to write into database when the status changes. It contains a dict with {collection: , filter: {}, path: }, e.g. {collection: "nsrs", filter: {_id: , path: "_admin.deployed.K8S.3"} + :param kdu_name: Name of the KDU instance to be installed :return: True if successful """ @@ -237,30 +240,33 @@ class K8sConnector(abc.ABC, Loggable): @abc.abstractmethod async def inspect_kdu( self, - kdu_model: str + kdu_model: str, + repo_url: str = None ) -> str: """ - These calls will retrieve from the Charm/Bundle: + These calls will retrieve from the Chart/Bundle: - The list of configurable values and their defaults (e.g. in Charts, it would retrieve the contents of `values.yaml`). - If available, any embedded help file (e.g. `readme.md`) embedded in the Chart/Bundle. - :param cluster_uuid: the cluster to get the information :param kdu_model: chart/bundle reference - :return: If successful, it will return a dictionary containing the list of available parameters - and their default values + :param repo_url: optional, reposotory URL (None if tar.gz, URl in other cases, even stable URL) + :return: + + If successful, it will return the available parameters and their default values as provided by the backend. """ @abc.abstractmethod async def help_kdu( self, - kdu_model: str + kdu_model: str, + repo_url: str = None ) -> str: """ - :param cluster_uuid: the cluster to get the information :param kdu_model: chart/bundle reference + :param repo_url: optional, reposotory URL (None if tar.gz, URl in other cases, even stable URL) :return: If successful, it will return the contents of the 'readme.md' """