X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_helm3_conn.py;fp=n2vc%2Fk8s_helm3_conn.py;h=4d8df93a0ba1dbe94f02aaf8cac2ee653437f2e9;hp=5544e3c203501c4d585bb424071f580a3519e5aa;hb=867418c142ece1ef0e4c9e083bc747c1f3d13a3c;hpb=7bd5c6affb2805caba1b832b56d0ad5712396306 diff --git a/n2vc/k8s_helm3_conn.py b/n2vc/k8s_helm3_conn.py index 5544e3c..4d8df93 100644 --- a/n2vc/k8s_helm3_conn.py +++ b/n2vc/k8s_helm3_conn.py @@ -148,7 +148,7 @@ class K8sHelm3Connector(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="all", kdu_model=kdu_model, repo_url=repo_url ) @@ -354,6 +354,16 @@ class K8sHelm3Connector(K8sHelmBaseConnector): ) return inspect_command + def _get_get_command( + self, get_command: str, kdu_instance: str, namespace: str, kubeconfig: str + ): + get_command = ( + "env KUBECONFIG={} {} get {} {} --namespace={} --output yaml".format( + kubeconfig, self._helm_command, get_command, kdu_instance, namespace + ) + ) + return get_command + async def _status_kdu( self, cluster_id: str, @@ -449,6 +459,63 @@ class K8sHelm3Connector(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) + + # namespace + namespace_str = "" + if namespace: + namespace_str = "--namespace {}".format(namespace) + + # 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 {name} {model} {namespace} {atomic} --output yaml {scale} " + "{timeout} {ver}" + ).format( + helm=self._helm_command, + name=kdu_instance, + namespace=namespace_str, + 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: str,