+ # 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"),
+ # )
+ client_args = get_stx_client_args()
+ 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_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),
+ # username=os.environ.get('OS_USERNAME', "admin"),
+ # api_key=os.environ.get('OS_PASSWORD', "fakepasswd1"),
+ # project_name=os.environ.get('OS_PROJECT_NAME', "admin"),
+ # )
+ client_args = get_stx_client_args()
+ 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'))
+ 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['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')
+ os_client_args['user_domain_name'] = 'Default'
+ os_client_args['project_domain_name'] = 'Default'
+