CI: Add SonarCloud scan GHA workflow
[pti/o2.git] / o2common / config / config.py
index f488b71..c93d388 100644 (file)
@@ -37,7 +37,7 @@ def get_smo_ca_config_path():
 
 def get_postgres_uri():
     host = os.environ.get("DB_HOST", "localhost")
-    port = 54321 if host == "localhost" else 5432
+    port = int(os.environ.get("DB_PORT", 5432))
     password = os.environ.get("DB_PASSWORD", "o2ims123")
     user, db_name = "o2ims", "o2ims"
     return f"postgresql://{user}:{password}@{host}:{port}/{db_name}"
@@ -67,6 +67,14 @@ def get_o2ims_api_base():
     return get_root_api_base() + 'o2ims-infrastructureInventory'
 
 
+def get_o2ims_monitoring_api_v1():
+    return '/v1'
+
+
+def get_o2ims_inventory_api_v1():
+    return '/v1'
+
+
 def get_o2ims_monitoring_api_base():
     return get_root_api_base() + 'o2ims-infrastructureMonitoring'
 
@@ -77,7 +85,7 @@ def get_o2dms_api_base():
 
 def get_redis_host_and_port():
     host = os.environ.get("REDIS_HOST", "localhost")
-    port = 63791 if host == "localhost" else 6379
+    port = int(os.environ.get("REDIS_PORT", 6379))
     return dict(host=host, port=port)
 
 
@@ -188,7 +196,8 @@ def get_dc_access_info():
     return os_client_args
 
 
-def get_fm_access_info():
+def get_fm_access_info(subcloud_hostname: str = "",
+                       sub_is_https: bool = False):
     try:
         # client_args = dict(
         #     auth_url=os.environ.get('OS_AUTH_URL', _DEFAULT_STX_URL),
@@ -205,11 +214,24 @@ def get_fm_access_info():
     os_client_args = {}
     for key, val in client_args.items():
         os_client_args['os_{key}'.format(key=key)] = val
+
     auth_url = urlparse(os_client_args.pop('os_auth_url'))
+    os_client_args['auth_url'] = auth_url.geturl()
+
+    if "" != subcloud_hostname:
+        orig_auth_url = urlparse(_DEFAULT_STX_URL)
+        new_auth_url = orig_auth_url._replace(
+            netloc=orig_auth_url.netloc.replace(
+                orig_auth_url.hostname, subcloud_hostname))
+        if sub_is_https:
+            new_auth_url = new_auth_url._replace(
+                scheme=new_auth_url.scheme.
+                replace(new_auth_url.scheme, 'https'))
+        os_client_args['auth_url'] = new_auth_url.geturl()
+        os_client_args['endpoint_type'] = 'publicURL'
 
     os_client_args['insecure'] = True
 
-    os_client_args['auth_url'] = auth_url.geturl()
     os_client_args['username'] = os_client_args.pop('os_username')
     os_client_args['password'] = os_client_args.pop('os_api_key')
     os_client_args['project_name'] = os_client_args.pop('os_project_name')
@@ -230,6 +252,10 @@ def get_helm_cli():
     return '/usr/local/bin/helm'
 
 
+def get_containers_shared_folder():
+    return '/share'
+
+
 def get_system_controller_as_respool():
     return True
 
@@ -347,13 +373,13 @@ def get_auth_provider():
 
 
 def get_dms_support_profiles():
-    profiles = config.conf.API.DMS_SUPPORT_PROFILES
-    if profiles is None or profiles == '':
-        profiles = []
-    elif "[" in profiles and "]" in profiles:
-        profiles = profiles.replace("'", "").replace(
-            '"', "").replace('[', "").replace(']', "")
-        profiles = profiles.split(',')
-    if 'native_k8sapi' not in profiles:
-        profiles.append('native_k8sapi')
-    return profiles
+    profiles_list = []
+    profiles_str = config.conf.API.DMS_SUPPORT_PROFILES
+    if profiles_str:
+        profiles_strip = profiles_str.strip(' []')
+        profiles_str = profiles_strip.replace("'", "").replace(
+            '"', "")
+        profiles_list = profiles_str.split(',')
+    if 'native_k8sapi' not in profiles_list:
+        profiles_list.append('native_k8sapi')
+    return profiles_list