import os
import sys
+from urllib.parse import urlparse
from o2common.helper import o2logging
logger = o2logging.get_logger(__name__)
+_DEFAULT_DCMANAGER_URL = "http://192.168.204.1:8119/v1.0"
+_DEFAULT_STX_URL = "http://192.168.204.1:5000/v3"
+
+
def get_postgres_uri():
host = os.environ.get("DB_HOST", "localhost")
port = 54321 if host == "localhost" else 5432
return smo_o2endpoint
-def get_stx_access_info():
+def get_stx_access_info(region_name="RegionOne", subcloud_hostname: str = ""):
# authurl = os.environ.get("STX_AUTH_URL", "http://192.168.204.1:5000/v3")
# username = os.environ.get("STX_USERNAME", "admin")
# pswd = os.environ.get("STX_PASSWORD", "passwd1")
# stx_access_info = (authurl, username, pswd)
try:
client_args = dict(
- auth_url=os.environ.get('OS_AUTH_URL',
- "http://192.168.204.1:5000/v3"),
+ auth_url=os.environ.get('OS_AUTH_URL', _DEFAULT_STX_URL),
username=os.environ.get('OS_USERNAME', "admin"),
api_key=os.environ.get('OS_PASSWORD', "fakepasswd1"),
project_name=os.environ.get('OS_PROJECT_NAME', "admin"),
os_client_args = {}
for key, val in client_args.items():
os_client_args['os_{key}'.format(key=key)] = val
+ 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))
+ # new_auth_url = new_auth_url._replace(
+ # netloc=new_auth_url.netloc.replace(str(new_auth_url.port),
+ # "18002"))
+ new_auth_url = new_auth_url._replace(
+ scheme=new_auth_url.scheme.
+ replace(new_auth_url.scheme, 'https'))
+ os_client_args['os_auth_url'] = new_auth_url.geturl()
+ os_client_args['os_endpoint_type'] = 'public'
+ os_client_args['insecure'] = True
+ # os_client_args['system_url'] = os_client_args['os_auth_url']
os_client_args['os_password'] = os_client_args.pop('os_api_key')
- os_client_args['os_region_name'] = 'RegionOne'
+ os_client_args['os_region_name'] = region_name
os_client_args['api_version'] = 1
+ # os_client_args['user_domain_name'] = 'Default'
+ # os_client_args['project_domain_name'] = 'Default'
+ return os_client_args
+
+
+def get_dc_access_info():
+ try:
+ client_args = dict(
+ auth_url=os.environ.get('OS_AUTH_URL', _DEFAULT_STX_URL),
+ username=os.environ.get('OS_USERNAME', "admin"),
+ api_key=os.environ.get('OS_PASSWORD', "fakepasswd1"),
+ project_name=os.environ.get('OS_PROJECT_NAME', "admin"),
+ )
+ except KeyError:
+ logger.error('Please source your RC file before execution, '
+ 'e.g.: `source ~/downloads/admin-rc.sh`')
+ sys.exit(1)
+
+ 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'))
+ dcmanager_url = urlparse(_DEFAULT_DCMANAGER_URL)
+ dcmanager_url = dcmanager_url._replace(netloc=dcmanager_url.netloc.replace(
+ dcmanager_url.hostname, auth_url.hostname))
+
+ os_client_args['dcmanager_url'] = dcmanager_url.geturl()
+ os_client_args['auth_url'] = auth_url.geturl()
+ os_client_args['username'] = os_client_args.pop('os_username')
+ os_client_args['api_key'] = os_client_args.pop('os_api_key')
+ os_client_args['project_name'] = os_client_args.pop('os_project_name')
+ os_client_args['user_domain_name'] = 'Default'
+ os_client_args['project_domain_name'] = 'Default'
+
return os_client_args
def get_helm_cli():
return '/usr/local/bin/helm'
+
+
+def get_system_controller_as_respool():
+ return True