X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=n2vc%2Fk8s_helm3_conn.py;h=b267c75fd679e0f1b999c5d0af9ca530861ce4f5;hb=1db89e8567575739cd5de523bb05c50777e1aca3;hp=14f7fe07036b25498ec358bddff38e77a6131d52;hpb=f5b7f4147a9d0ebff0a35de08ae9a9c22ee87de8;p=osm%2FN2VC.git diff --git a/n2vc/k8s_helm3_conn.py b/n2vc/k8s_helm3_conn.py index 14f7fe0..b267c75 100644 --- a/n2vc/k8s_helm3_conn.py +++ b/n2vc/k8s_helm3_conn.py @@ -549,6 +549,9 @@ class K8sHelm3Connector(K8sHelmBaseConnector): atomic: bool, timeout: float, kubeconfig: str, + reset_values: bool = False, + reuse_values: bool = True, + reset_then_reuse_values: bool = False, force: bool = False, ) -> str: """Generates the command to upgrade a Helm Chart release @@ -563,6 +566,9 @@ class K8sHelm3Connector(K8sHelmBaseConnector): The --wait flag will be set automatically if --atomic is used timeout (float): The time, in seconds, to wait kubeconfig (str): Kubeconfig file path + reset_values(bool): If set, helm resets values instead of reusing previous values. + reuse_values(bool): If set, helm reuses previous values. + reset_then_reuse_values(bool): If set, helm resets values, then apply the last release's values force (bool): If set, helm forces resource updates through a replacement strategy. This may recreate pods. Returns: str: command to upgrade a Helm Chart release @@ -592,9 +598,17 @@ class K8sHelm3Connector(K8sHelmBaseConnector): if namespace: namespace_str = "--namespace {}".format(quote(namespace)) + # reset, reuse or reset_then_reuse values + on_values_str = "--reuse-values" + if reset_values: + on_values_str = "--reset-values" + elif reuse_values: + on_values_str = "--reuse-values" + elif reset_then_reuse_values: + on_values_str = "--reset-then-reuse-values" command = ( "env KUBECONFIG={kubeconfig} {helm} upgrade {name} {model} {namespace} {atomic} {force}" - "--output yaml {params} {timeout} --reuse-values {ver}" + "--output yaml {params} {timeout} {on_values} {ver}" ).format( kubeconfig=kubeconfig, helm=self._helm_command, @@ -605,6 +619,7 @@ class K8sHelm3Connector(K8sHelmBaseConnector): params=params_str, timeout=timeout_str, model=quote(kdu_model), + on_values=on_values_str, ver=version_str, ) return command