Feature 10904: Make all deployment methods optional for K8s cluster 73/11773/3
authorGabriel Cuba <gcuba@whitestack.com>
Tue, 22 Mar 2022 16:12:12 +0000 (11:12 -0500)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 27 May 2022 10:08:58 +0000 (12:08 +0200)
Change-Id: I0901d946096bb07d38efbba8b5bbd3c24f36cd2d
Signed-off-by: Gabriel Cuba <gcuba@whitestack.com>
osm_lcm/vim_sdn.py

index f0b8f9c..c81969a 100644 (file)
@@ -1155,7 +1155,14 @@ class K8sClusterLcm(LcmBase):
             task2name = {}
             init_target = deep_get(db_k8scluster, ("_admin", "init"))
             step = "Launching k8scluster init tasks"
-            for task_name in ("helm-chart", "juju-bundle", "helm-chart-v3"):
+
+            k8s_deploy_methods = db_k8scluster.get("deployment_methods", {})
+            # for backwards compatibility and all-false case
+            if not any(k8s_deploy_methods.values()):
+                k8s_deploy_methods = {"helm-chart": True, "juju-bundle": True, "helm-chart-v3": True}
+            deploy_methods = tuple(filter(k8s_deploy_methods.get, k8s_deploy_methods))
+
+            for task_name in deploy_methods:
                 if init_target and task_name not in init_target:
                     continue
                 task = asyncio.ensure_future(