def test_import_versioned_module(self): v2 = importutils.import_versioned_module('oslo_utils.tests.fake', 2) self.assertEqual(sys.modules['oslo_utils.tests.fake.v2'], v2) dummpy = importutils.import_versioned_module('oslo_utils.tests.fake', 2, 'dummpy') self.assertEqual(sys.modules['oslo_utils.tests.fake.v2.dummpy'], dummpy)
def Client(version, *args, **kwargs): client_kwargs = _adjust_kwargs(kwargs) module = importutils.import_versioned_module('ceilometerclient', version, 'client') client_class = getattr(module, 'Client') return client_class(*args, **client_kwargs)
def _load_commands(self): version = self.options.monasca_api_version submodule = importutils.import_versioned_module('monascaclient', version, 'shell') self._find_actions(submodule)
def GlanceImageService(client=None, version=1, context=None): module_str = "ironic.common.glance_service" module = importutils.import_versioned_module(module_str, version, "image_service") service_class = getattr(module, "GlanceImageService") if context is not None and CONF.glance.auth_strategy == "keystone" and not context.auth_token: session = _get_glance_session() context.auth_token = keystone.get_admin_auth_token(session) return service_class(client, version, context)
def GlanceImageService(client=None, version=None, context=None): module_str = 'ironic.common.glance_service' if version is None: version = CONF.glance.glance_api_version module = importutils.import_versioned_module(module_str, version, 'image_service') service_class = getattr(module, 'GlanceImageService') return service_class(client, version, context)
def GlanceImageService(client=None, version=1, context=None): module_str = 'ironic.common.glance_service' module = importutils.import_versioned_module(module_str, version, 'image_service') service_class = getattr(module, 'GlanceImageService') if (context is not None and CONF.glance.auth_strategy == 'keystone' and not context.auth_token): session = _get_glance_session() context.auth_token = keystone.get_admin_auth_token(session) return service_class(client, version, context)
def get_subcommand_parser(self, version): parser = self.get_base_parser() self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>', dest='subparser_name') submodule = importutils.import_versioned_module('ironicclient', version, 'shell') submodule.enhance_parser(parser, subparsers, self.subcommands) utils.define_commands_from_module(subparsers, self, self.subcommands) return parser
def get_subcommand_parser(self, version): parser = self.get_base_parser() self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>', dest='subparser_name') submodule = importutils.import_versioned_module( 'ironicclient', version, 'shell') submodule.enhance_parser(parser, subparsers, self.subcommands) utils.define_commands_from_module(subparsers, self, self.subcommands) return parser
def get_subcommand_parser(self, version): parser = self.get_base_parser() self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>') submodule = importutils.import_versioned_module( 'fmclient', version, 'shell') submodule.enhance_parser(parser, subparsers, self.subcommands) utils.define_commands_from_module(subparsers, self, self.subcommands) self._add_bash_completion_subparser(subparsers) return parser
def get_subcommand_parser(self, version, argv): parser = self.get_base_parser(argv) self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>') submodule = importutils.import_versioned_module( 'muranoclient', version, 'shell') self._find_actions(subparsers, submodule) self._find_actions(subparsers, self) return parser
def get_subcommand_parser(self, version, argv=None): parser = self.get_base_parser(argv) self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>') submodule = importutils.import_versioned_module( 'karborclient', version, 'shell' ) self._find_actions(subparsers, submodule) self._find_actions(subparsers, self) return parser
def GlanceImageService(client=None, version=None, context=None): module_str = 'ironic.common.glance_service' if version is None: version = CONF.glance.glance_api_version module = importutils.import_versioned_module(module_str, version, 'image_service') service_class = getattr(module, 'GlanceImageService') if (context is not None and CONF.glance.auth_strategy == 'keystone' and not context.auth_token): context.auth_token = _get_glance_session().get_token() return service_class(client, version, context)
def get_subcommand_parser(self, version): parser = self.get_base_parser() self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>') submodule = importutils.import_versioned_module('ceilometerclient', version, 'shell') self._find_actions(subparsers, submodule) self._find_actions(subparsers, self) self._add_bash_completion_subparser(subparsers) return parser
def get_subcommand_parser(self, version): parser = self.get_base_parser() self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>') submodule = importutils.import_versioned_module( 'heatclient', version, 'shell') self._find_actions(subparsers, submodule) self._find_actions(subparsers, self) self._add_bash_completion_subparser(subparsers) return parser
def Client(version=None, endpoint=None, session=None, *args, **kwargs): """Client for the OpenStack Images API. Generic client for the OpenStack Images API. See version classes for specific details. :param string version: The version of API to use. :param session: A keystoneauth1 session that should be used for transport. :type session: keystoneauth1.session.Session """ # FIXME(jamielennox): Add a deprecation warning if no session is passed. # Leaving it as an option until we can ensure nothing break when we switch. if session: if endpoint: kwargs.setdefault('endpoint_override', endpoint) if not version: __, version = utils.strip_version(endpoint) if not version: msg = ("You must provide a client version when using session") raise RuntimeError(msg) else: if version is not None: warnings.warn(("`version` keyword is being deprecated. Please pass" " the version as part of the URL. " "http://$HOST:$PORT/v$VERSION_NUMBER"), DeprecationWarning) endpoint, url_version = utils.strip_version(endpoint) version = version or url_version if not version: msg = ("Please provide either the version or an url with the form " "http://$HOST:$PORT/v$VERSION_NUMBER") raise RuntimeError(msg) module = importutils.import_versioned_module('glanceclient', int(version), 'client') client_class = getattr(module, 'Client') return client_class(endpoint, *args, session=session, **kwargs)
def get_subcommand_parser(self, version): parser = self.get_base_parser() self.subcommands = {} subparsers = parser.add_subparsers(metavar='<subcommand>', dest='subparser_name') try: submodule = importutils.import_versioned_module('ironicclient', version, 'shell') except ImportError as e: msg = _("Invalid client version '%(version)s'. " "Major part must be one of: '%(major)s'") % { "version": version, "major": ", ".join(self.get_available_major_versions())} raise exceptions.UnsupportedVersion( _('%(message)s, error was: %(error)s') % {'message': msg, 'error': e}) submodule.enhance_parser(parser, subparsers, self.subcommands) utils.define_commands_from_module(subparsers, self, self.subcommands) return parser
def Client(version, endpoint_override=None, session=None, *args, **kwargs): """Create a client of an appropriate version. This call requires a session. If you want it to be created, use ``get_client`` instead. :param endpoint_override: A bare metal endpoint to use. :param session: A keystoneauth session to use. This argument is actually required and is marked optional only for backward compatibility. :param args: Other arguments to pass to the HTTP client. Not recommended, use kwargs instead. :param kwargs: Other keyword arguments to pass to the HTTP client (e.g. ``insecure``). """ module = importutils.import_versioned_module('ironicclient', version, 'client') client_class = getattr(module, 'Client') return client_class(endpoint_override=endpoint_override, session=session, *args, **kwargs)
def get_client(version, endpoint=None, session=None, auth_token=None, fm_url=None, username=None, password=None, auth_url=None, project_id=None, project_name=None, region_name=None, timeout=None, user_domain_id=None, user_domain_name=None, project_domain_id=None, project_domain_name=None, service_type=SERVICE_TYPE, endpoint_type=None, **ignored_kwargs): """Get an authenticated client, based on the credentials.""" kwargs = {} interface = endpoint_type or 'publicURL' endpoint = endpoint or fm_url if auth_token and endpoint: kwargs.update({ 'token': auth_token, }) if timeout: kwargs.update({ 'timeout': timeout, }) elif auth_url: auth_kwargs = {} auth_type = 'password' auth_kwargs.update({ 'auth_url': auth_url, 'project_id': project_id, 'project_name': project_name, 'user_domain_id': user_domain_id, 'user_domain_name': user_domain_name, 'project_domain_id': project_domain_id, 'project_domain_name': project_domain_name, }) if username and password: auth_kwargs.update({'username': username, 'password': password}) elif auth_token: auth_type = 'token' auth_kwargs.update({ 'token': auth_token, }) # Create new session only if it was not passed in if not session: loader = loading.get_plugin_loader(auth_type) auth_plugin = loader.load_from_options(**auth_kwargs) session = loading.session.Session().load_from_options( auth=auth_plugin, timeout=timeout) exception_msg = _('Must provide Keystone credentials or user-defined ' 'endpoint and token') if not endpoint: if session: try: endpoint = session.get_endpoint(service_type=service_type, interface=interface, region_name=region_name) except Exception as e: raise exc.AuthSystem( _('%(message)s, error was: %(error)s') % { 'message': exception_msg, 'error': e }) else: # Neither session, nor valid auth parameters provided raise exc.AuthSystem(exception_msg) kwargs['endpoint_override'] = endpoint kwargs['service_type'] = service_type kwargs['interface'] = interface kwargs['version'] = version fm_module = importutils.import_versioned_module('fmclient', version, 'client') client_class = getattr(fm_module, 'Client') return client_class(endpoint, session=session, **kwargs)
def Client(version, *args, **kwargs): module = importutils.import_versioned_module('vitrageclient', version, 'client') client_class = getattr(module, 'Client') return client_class(*args, **kwargs)
def Client(version, *args, **kwargs): module = importutils.import_versioned_module('ironicclient', version, 'client') client_class = getattr(module, 'Client') return client_class(*args, **kwargs)