Пример #1
0
def make_client(instance):
    """Returns a compute service client."""

    # Defer client imports until we actually need them
    from novaclient import client as nova_client
    from novaclient import extension
    try:
        from novaclient.v2.contrib import list_extensions
    except ImportError:
        from novaclient.v1_1.contrib import list_extensions

    compute_client = nova_client.get_client_class(
        instance._api_version[API_NAME], )
    LOG.debug('Instantiating compute client: %s', compute_client)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [extension.Extension('list_extensions', list_extensions)]

    # Remember endpoint_type only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._endpoint_type)

    client = compute_client(session=instance.session,
                            extensions=extensions,
                            http_log_debug=http_log_debug,
                            timings=instance.timing,
                            region_name=instance._region_name,
                            **kwargs)

    return client
Пример #2
0
def make_client(instance):
    """Returns a volume service client."""

    # Defer client imports until we actually need them
    from cinderclient import extension
    from cinderclient.v1.contrib import list_extensions
    from cinderclient.v1 import volume_snapshots
    from cinderclient.v1 import volumes

    # Monkey patch for v1 cinderclient
    volumes.Volume.NAME_ATTR = 'display_name'
    volume_snapshots.Snapshot.NAME_ATTR = 'display_name'

    volume_client = utils.get_client_class(API_NAME,
                                           instance._api_version[API_NAME],
                                           API_VERSIONS)
    LOG.debug('Instantiating volume client: %s', volume_client)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [extension.Extension('list_extensions', list_extensions)]

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = volume_client(session=instance.session,
                           extensions=extensions,
                           http_log_debug=http_log_debug,
                           region_name=instance._region_name,
                           **kwargs)

    return client
Пример #3
0
def make_client(instance):
    cls = oscutils.get_client_class(
        API_NAME, instance._api_version[API_NAME],
        API_VERSIONS)
    kwargs = oscutils.build_kwargs_dict('endpoint_type', instance._interface)
    return cls(session=instance.session,
               region_name=instance._region_name, **kwargs)
Пример #4
0
def make_client(instance):
    """Returns a compute service client."""

    # Defer client import until we actually need them
    from novaclient import client as nova_client

    if _compute_api_version is not None:
        version = _compute_api_version
    else:
        version = instance._api_version[API_NAME]

    LOG.debug('Instantiating compute client for V%s', version)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [ext for ext in nova_client.discover_extensions(version)
                  if ext.name == "list_extensions"]

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = nova_client.Client(
        version,
        session=instance.session,
        extensions=extensions,
        http_log_debug=http_log_debug,
        timings=instance.timing,
        region_name=instance._region_name,
        **kwargs
    )

    return client
Пример #5
0
def make_client(instance):
    """Returns a compute service client."""

    # Defer client import until we actually need them
    from novaclient import client as nova_client

    if _compute_api_version is not None:
        version = _compute_api_version
    else:
        version = instance._api_version[API_NAME]

    LOG.debug('Instantiating compute client for V%s', version)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [
        ext for ext in nova_client.discover_extensions(version)
        if ext.name == "list_extensions"
    ]

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = nova_client.Client(version,
                                session=instance.session,
                                extensions=extensions,
                                http_log_debug=http_log_debug,
                                timings=instance.timing,
                                region_name=instance._region_name,
                                **kwargs)

    return client
Пример #6
0
def make_client(instance):
    """Returns a compute service client."""

    # Defer client imports until we actually need them
    from novaclient import client as nova_client
    from novaclient import extension
    try:
        from novaclient.v2.contrib import list_extensions
    except ImportError:
        from novaclient.v1_1.contrib import list_extensions

    compute_client = nova_client.get_client_class(
        instance._api_version[API_NAME],
    )
    LOG.debug('Instantiating compute client: %s', compute_client)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [extension.Extension('list_extensions', list_extensions)]

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = compute_client(
        session=instance.session,
        extensions=extensions,
        http_log_debug=http_log_debug,
        timings=instance.timing,
        region_name=instance._region_name,
        **kwargs
    )

    return client
Пример #7
0
def make_client(instance):
    """Returns an network service client"""
    network_client = utils.get_client_class(API_NAME,
                                            instance._api_version[API_NAME],
                                            API_VERSIONS)
    LOG.debug('Instantiating network client: %s', network_client)

    endpoint = instance.get_endpoint_for_service_type(
        API_NAME,
        region_name=instance._region_name,
        endpoint_type=instance._endpoint_type,
    )

    # Remember endpoint_type only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._endpoint_type)

    client = network_client(session=instance.session,
                            region_name=instance._region_name,
                            **kwargs)

    network_api = utils.get_client_class(API_NAME,
                                         instance._api_version[API_NAME],
                                         NETWORK_API_VERSIONS)
    LOG.debug('Instantiating network api: %s', network_client)

    # v2 is hard-coded until discovery is completed, neutron only has one atm
    client.api = network_api(
        session=instance.session,
        service_type=NETWORK_API_TYPE,
        endpoint='/'.join([
            endpoint,
            API_VERSION_MAP[instance._api_version[API_NAME]],
        ]))

    return client
Пример #8
0
def make_client(instance):
    cls = oscutils.get_client_class(API_NAME, instance._api_version[API_NAME],
                                    API_VERSIONS)
    kwargs = oscutils.build_kwargs_dict('endpoint_type', instance._interface)
    return cls(session=instance.session,
               region_name=instance._region_name,
               **kwargs)
Пример #9
0
def make_client(instance):
    """Returns an identity service client."""
    identity_client = utils.get_client_class(API_NAME,
                                             instance._api_version[API_NAME],
                                             API_VERSIONS)
    LOG.debug('Instantiating identity client: %s', identity_client)

    # Remember interface only if endpoint_type is set
    kwargs = utils.build_kwargs_dict('interface', instance._endpoint_type)

    client = identity_client(session=instance.session,
                             region_name=instance._region_name,
                             **kwargs)

    return client
Пример #10
0
def make_client(instance):
    data_processing_client = utils.get_client_class(
        API_NAME, instance._api_version[API_NAME], API_VERSIONS)
    LOG.debug('Instantiating data-processing client: %s',
              data_processing_client)

    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = data_processing_client(
        session=instance.session,
        region_name=instance._region_name,
        cacert=instance._cacert,
        insecure=instance._insecure,
        sahara_url=instance._cli_options.data_processing_url,
        **kwargs)
    return client
Пример #11
0
def make_client(instance):
    """Returns an identity service client."""
    identity_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS)
    LOG.debug('Instantiating identity client: %s', identity_client)

    # Remember interface only if interface is set
    kwargs = utils.build_kwargs_dict('interface', instance._interface)

    client = identity_client(
        session=instance.session,
        region_name=instance._region_name,
        **kwargs
        )

    return client
Пример #12
0
def make_client(instance):
    """Returns a compute service client."""

    # Defer client import until we actually need them
    from novaclient import client as nova_client

    if _compute_api_version is not None:
        version = _compute_api_version
    else:
        version = instance._api_version[API_NAME]
        from novaclient import api_versions
        # convert to APIVersion object
        version = api_versions.get_api_version(version)

    if version.is_latest():
        import novaclient
        # NOTE(RuiChen): executing version discovery make sense, but that need
        #                an initialized REST client, it's not available now,
        #                fallback to use the max version of novaclient side.
        version = novaclient.API_MAX_VERSION

    LOG.debug('Instantiating compute client for %s', version)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [ext for ext in nova_client.discover_extensions(version)
                  if ext.name == "list_extensions"]

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = nova_client.Client(
        version,
        session=instance.session,
        extensions=extensions,
        http_log_debug=http_log_debug,
        timings=instance.timing,
        region_name=instance._region_name,
        **kwargs
    )

    return client
Пример #13
0
def make_client(instance):
    data_processing_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS)
    LOG.debug('Instantiating data-processing client: %s',
              data_processing_client)

    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = data_processing_client(
        session=instance.session,
        region_name=instance._region_name,
        cacert=instance._cacert,
        insecure=instance._insecure,
        sahara_url=instance._cli_options.data_processing_url,
        **kwargs
        )
    return client
Пример #14
0
def make_client(instance):
    """Returns a compute service client."""

    # Defer client import until we actually need them
    from novaclient import client as nova_client

    if _compute_api_version is not None:
        version = _compute_api_version
    else:
        version = instance._api_version[API_NAME]
        from novaclient import api_versions
        # convert to APIVersion object
        version = api_versions.get_api_version(version)

    if version.is_latest():
        import novaclient
        # NOTE(RuiChen): executing version discovery make sense, but that need
        #                an initialized REST client, it's not available now,
        #                fallback to use the max version of novaclient side.
        version = novaclient.API_MAX_VERSION

    LOG.debug('Instantiating compute client for %s', version)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [
        ext for ext in nova_client.discover_extensions(version)
        if ext.name == "list_extensions"
    ]

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = nova_client.Client(version,
                                session=instance.session,
                                extensions=extensions,
                                http_log_debug=http_log_debug,
                                timings=instance.timing,
                                region_name=instance._region_name,
                                **kwargs)

    return client
Пример #15
0
def make_client(instance):
    """Returns a search service client"""
    search_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)
    client = search_client(
        session=instance.session,
        http_log_debug=http_log_debug,
        region_name=instance._region_name,
        **kwargs
    )

    return client
Пример #16
0
def make_client(instance):
    """Returns an network service client"""
    network_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS)
    LOG.debug('Instantiating network client: %s', network_client)

    endpoint = instance.get_endpoint_for_service_type(
        API_NAME,
        region_name=instance._region_name,
        endpoint_type=instance._endpoint_type,
    )

    # Remember endpoint_type only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type',
                                     instance._endpoint_type)

    client = network_client(
        session=instance.session,
        region_name=instance._region_name,
        **kwargs
    )

    network_api = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        NETWORK_API_VERSIONS)
    LOG.debug('Instantiating network api: %s', network_client)

    # v2 is hard-coded until discovery is completed, neutron only has one atm
    client.api = network_api(
        session=instance.session,
        service_type=NETWORK_API_TYPE,
        endpoint='/'.join([
            endpoint,
            API_VERSION_MAP[instance._api_version[API_NAME]],
        ])
    )

    return client
Пример #17
0
def make_client(instance):
    """Returns a volume service client."""

    # Defer client imports until we actually need them
    from cinderclient import extension
    from cinderclient.v1.contrib import list_extensions
    from cinderclient.v1 import volume_snapshots
    from cinderclient.v1 import volumes

    # Monkey patch for v1 cinderclient
    volumes.Volume.NAME_ATTR = 'display_name'
    volume_snapshots.Snapshot.NAME_ATTR = 'display_name'

    volume_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS
    )
    LOG.debug('Instantiating volume client: %s', volume_client)

    # Set client http_log_debug to True if verbosity level is high enough
    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG

    extensions = [extension.Extension('list_extensions', list_extensions)]

    # Remember interface only if it is set
    kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)

    client = volume_client(
        session=instance.session,
        extensions=extensions,
        http_log_debug=http_log_debug,
        region_name=instance._region_name,
        **kwargs
    )

    return client
 def test_build_kwargs_dict_value_empty_str(self):
     self.assertEqual({}, utils.build_kwargs_dict("arg_bla", ""))
 def test_build_kwargs_dict_value_None(self):
     self.assertEqual({}, utils.build_kwargs_dict("arg_bla", None))
 def test_build_kwargs_dict_value_set(self):
     self.assertEqual({"arg_bla": "bla"}, utils.build_kwargs_dict("arg_bla", "bla"))
 def test_build_kwargs_dict_value_set(self):
     self.assertEqual({'arg_bla': 'bla'},
                      utils.build_kwargs_dict('arg_bla', 'bla'))
 def test_build_kwargs_dict_value_None(self):
     self.assertEqual({}, utils.build_kwargs_dict('arg_bla', None))
Пример #23
0
 def test_build_kwargs_dict_value_set(self):
     self.assertEqual({'arg_bla': 'bla'},
                      utils.build_kwargs_dict('arg_bla', 'bla'))
 def test_build_kwargs_dict_value_empty_str(self):
     self.assertEqual({}, utils.build_kwargs_dict('arg_bla', ''))