X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_helm_conn.py;fp=n2vc%2Fk8s_helm_conn.py;h=5a788e9aade5c904074e251b61306bfbfb6d2b1f;hp=13a3114c2813590399182ecd2c2ef0d8f8cb9da8;hb=867418c142ece1ef0e4c9e083bc747c1f3d13a3c;hpb=7bd5c6affb2805caba1b832b56d0ad5712396306 diff --git a/n2vc/k8s_helm_conn.py b/n2vc/k8s_helm_conn.py index 13a3114..5a788e9 100644 --- a/n2vc/k8s_helm_conn.py +++ b/n2vc/k8s_helm_conn.py @@ -168,7 +168,7 @@ class K8sHelmConnector(K8sHelmBaseConnector): "inspect kdu_model {} from (optional) repo: {}".format(kdu_model, repo_url) ) - return await self._exec_inspect_comand( + return await self._exec_inspect_command( inspect_command="", kdu_model=kdu_model, repo_url=repo_url ) @@ -449,6 +449,14 @@ class K8sHelmConnector(K8sHelmBaseConnector): ) return inspect_command + def _get_get_command( + self, get_command: str, kdu_instance: str, namespace: str, kubeconfig: str + ): + get_command = "env KUBECONFIG={} {} get {} {} --output yaml".format( + kubeconfig, self._helm_command, get_command, kdu_instance + ) + return get_command + async def _status_kdu( self, cluster_id: str, @@ -602,7 +610,7 @@ class K8sHelmConnector(K8sHelmBaseConnector): # version version_str = "" if version: - version_str = version_str = "--version {}".format(version) + version_str = "--version {}".format(version) command = ( "env KUBECONFIG={kubeconfig} {helm} install {atomic} --output yaml " @@ -620,6 +628,56 @@ class K8sHelmConnector(K8sHelmBaseConnector): ) return command + def _get_upgrade_scale_command( + self, + kdu_model: str, + kdu_instance: str, + namespace: str, + scale: int, + version: str, + atomic: bool, + replica_str: str, + timeout: float, + resource_name: str, + kubeconfig: str, + ) -> str: + + timeout_str = "" + if timeout: + timeout_str = "--timeout {}s".format(timeout) + + # atomic + atomic_str = "" + if atomic: + atomic_str = "--atomic" + + # version + version_str = "" + if version: + version_str = "--version {}".format(version) + + # scale + if resource_name: + scale_dict = {"{}.{}".format(resource_name, replica_str): scale} + else: + scale_dict = {replica_str: scale} + + scale_str = self._params_to_set_option(scale_dict) + + command = ( + "env KUBECONFIG={kubeconfig} {helm} upgrade {atomic} --output yaml {scale} {timeout} {name} {model} {ver}" + ).format( + helm=self._helm_command, + name=kdu_instance, + atomic=atomic_str, + scale=scale_str, + timeout=timeout_str, + model=kdu_model, + ver=version_str, + kubeconfig=kubeconfig, + ) + return command + def _get_upgrade_command( self, kdu_model,