示例#1
0
def get_cloud_region(
        service_key=None, options=None,
        app_name=None, app_version=None,
        load_yaml_config=True,
        load_envvars=True,
        **kwargs):
    config = OpenStackConfig(
        load_yaml_config=load_yaml_config,
        load_envvars=load_envvars,
        app_name=app_name, app_version=app_version)
    if options:
        config.register_argparse_arguments(options, sys.argv, service_key)
        parsed_options = options.parse_known_args(sys.argv)
    else:
        parsed_options = None

    return config.get_one(options=parsed_options, **kwargs)
示例#2
0
def get_cloud_region(
        service_key=None, options=None,
        app_name=None, app_version=None,
        **kwargs):
    load_yaml_config = kwargs.pop('load_yaml_config', True)
    global _config
    if not _config:
        _config = OpenStackConfig(
            load_yaml_config=load_yaml_config,
            app_name=app_name, app_version=app_version)
    if options:
        _config.register_argparse_arguments(options, sys.argv, service_key)
        parsed_options = options.parse_known_args(sys.argv)
    else:
        parsed_options = None

    return _config.get_one(options=parsed_options, **kwargs)
示例#3
0
def get_cloud_region(service_key=None,
                     options=None,
                     app_name=None,
                     app_version=None,
                     load_yaml_config=True,
                     load_envvars=True,
                     **kwargs):
    config = OpenStackConfig(load_yaml_config=load_yaml_config,
                             load_envvars=load_envvars,
                             app_name=app_name,
                             app_version=app_version)
    if options:
        config.register_argparse_arguments(options, sys.argv, service_key)
        parsed_options = options.parse_known_args(sys.argv)
    else:
        parsed_options = None

    return config.get_one(options=parsed_options, **kwargs)
示例#4
0
    def _get_keystone_server_url(self, instance_config):
        keystone_server_url = instance_config.get("keystone_server_url")
        if keystone_server_url:
            return keystone_server_url

        openstack_config_file_path = instance_config.get("openstack_config_file_path")
        if not openstack_config_file_path and not keystone_server_url:
            raise IncompleteConfig("Either keystone_server_url or openstack_config_file_path need to be provided")

        openstack_cloud_name = instance_config.get("openstack_cloud_name")
        openstack_config = OpenStackConfig(config_files=[openstack_config_file_path])
        cloud = openstack_config.get_one(cloud=openstack_cloud_name)
        cloud_auth = cloud.get_auth()
        if not cloud_auth or not cloud_auth.auth_url:
            raise IncompleteConfig(
                'No auth_url found for cloud {} in {}', openstack_cloud_name, openstack_config_file_path
            )
        return cloud_auth.auth_url
示例#5
0
def get_regions(cloud_name, yaml_file):
    config = OpenStackConfig(config_files=[yaml_file])
    return config._get_regions(cloud_name)