X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2common%2Fconfig%2Fconfig.py;h=3d1f857a51c19d6afb7dd3f08eaf749d0ac71456;hb=31541781c10e7d6b6b099331f13f70c2a219658f;hp=27695292bab819b412fb00ef8768e327510a42a0;hpb=5e0dacb10819977ef6a452257346f72592cff374;p=pti%2Fo2.git diff --git a/o2common/config/config.py b/o2common/config/config.py index 2769529..3d1f857 100644 --- a/o2common/config/config.py +++ b/o2common/config/config.py @@ -30,6 +30,11 @@ def get_config_path(): return path +def get_smo_ca_config_path(): + path = os.environ.get("SMO_CA_CONFIG", "/configs/smoca.crt") + return path + + def get_postgres_uri(): host = os.environ.get("DB_HOST", "localhost") port = 54321 if host == "localhost" else 5432 @@ -51,7 +56,7 @@ def get_api_url(): port_external = 30205 port = port_internal if host_external is None or host_external == '' \ else port_external - return f"http://{host}:{port}" + return f"https://{host}:{port}" def get_root_api_base(): @@ -183,7 +188,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), @@ -200,11 +206,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') @@ -303,25 +322,22 @@ def get_events_yaml_filename(): return events_yaml_name return "/configs/events.yaml" -# get k8s host from env: - +# get k8s host from env: def get_k8s_host(): k8s_host = os.environ.get("KUBERNETES_SERVICE_HOST") if k8s_host is None: raise Exception('Get k8s host failed.') return k8s_host -# get k8s host port from env: - +# get k8s host port from env: def get_k8s_port(): k8s_port = os.environ.get("KUBERNETES_SERVICE_PORT_HTTPS", '443') return k8s_port -# token review url - +# token review url def get_review_url(): try: api = '/apis/authentication.k8s.io/v1/tokenreviews' @@ -330,9 +346,8 @@ def get_review_url(): except Exception: raise Exception('Get k8s review url failed') -# get reviewer token - +# get reviewer token def get_reviewer_token(): # token path default is below. token_path = '/var/run/secrets/kubernetes.io/serviceaccount/token' @@ -343,3 +358,16 @@ def get_reviewer_token(): def get_auth_provider(): return 'k8s' + + +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