Fix racing condition decrypting data in store.py
[osm/N2VC.git] / n2vc / k8s_helm_base_conn.py
index b3d7bda..4a43ee2 100644 (file)
@@ -31,6 +31,7 @@ import os
 import yaml
 from uuid import uuid4
 
+from n2vc.config import EnvironConfig
 from n2vc.exceptions import K8sException
 from n2vc.k8s_conn import K8sConnector
 
@@ -44,7 +45,6 @@ class K8sHelmBaseConnector(K8sConnector):
     """
 
     service_account = "osm"
-    _STABLE_REPO_URL = "https://charts.helm.sh/stable"
 
     def __init__(
         self,
@@ -54,7 +54,6 @@ class K8sHelmBaseConnector(K8sConnector):
         helm_command: str = "/usr/bin/helm",
         log: object = None,
         on_update_db=None,
-        vca_config: dict = None,
     ):
         """
 
@@ -71,6 +70,7 @@ class K8sHelmBaseConnector(K8sConnector):
 
         self.log.info("Initializing K8S Helm connector")
 
+        self.config = EnvironConfig()
         # random numbers for release name generation
         random.seed(time.time())
 
@@ -86,10 +86,9 @@ class K8sHelmBaseConnector(K8sConnector):
         self._check_file_exists(filename=helm_command, exception_if_not_exists=True)
 
         # obtain stable repo url from config or apply default
-        if not vca_config or not vca_config.get("stablerepourl"):
-            self._stable_repo_url = self._STABLE_REPO_URL
-        else:
-            self._stable_repo_url = vca_config.get("stablerepourl")
+        self._stable_repo_url = self.config.get("stablerepourl")
+        if self._stable_repo_url == "None":
+            self._stable_repo_url = None
 
     @staticmethod
     def _get_namespace_cluster_id(cluster_uuid: str) -> (str, str):
@@ -1137,9 +1136,10 @@ class K8sHelmBaseConnector(K8sConnector):
         of dictionaries
         """
         new_list = []
-        for dictionary in input_list:
-            new_dict = dict((k.lower(), v) for k, v in dictionary.items())
-            new_list.append(new_dict)
+        if input_list:
+            for dictionary in input_list:
+                new_dict = dict((k.lower(), v) for k, v in dictionary.items())
+                new_list.append(new_dict)
         return new_list
 
     def _local_exec(self, command: str) -> (str, int):