diff --git a/vitrageclient/noauth.py b/vitrageclient/noauth.py deleted file mode 100644 index 736b190..0000000 --- a/vitrageclient/noauth.py +++ /dev/null @@ -1,73 +0,0 @@ -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import os - -from keystoneauth1 import loading -from keystoneauth1 import plugin - - -class VitrageNoAuthPlugin(plugin.BaseAuthPlugin): - # noinspection PyMissingConstructor - def __init__(self, user_id, project_id, roles, endpoint): - self._user_id = user_id - self._project_id = project_id - self._endpoint = endpoint - self._roles = roles - - def get_token(self, session, **kwargs): - return '' - - def get_headers(self, session, **kwargs): - return {'x-user-id': self._user_id, - 'x-project-id': self._project_id, - 'x-roles': self._roles} - - def get_user_id(self, session, **kwargs): - return self._user_id - - def get_project_id(self, session, **kwargs): - return self._project_id - - def get_endpoint(self, session, **kwargs): - return self._endpoint - - -class VitrageOpt(loading.Opt): - @property - def argparse_args(self): - return ['--%s' % o.name for o in self._all_opts] - - @property - def argparse_default(self): - # select the first ENV that is not false-y or return None - for o in self._all_opts: - v = os.environ.get('VITRAGE_%s' % o.name.replace('-', '_').upper()) - if v: - return v - return self.default - - -class VitrageNoAuthLoader(loading.BaseLoader): - plugin_class = VitrageNoAuthPlugin - - def get_options(self): - options = super(VitrageNoAuthLoader, self).get_options() - options.extend([ - VitrageOpt('user-id', help='User ID', required=True), - VitrageOpt('project-id', help='Project ID', required=True), - VitrageOpt('roles', help='Roles', default='admin'), - VitrageOpt('vitrage-endpoint', help='Vitrage endpoint', - dest="endpoint", required=True), - ]) - return options diff --git a/vitrageclient/shell.py b/vitrageclient/shell.py index 073c45c..85d49f4 100644 --- a/vitrageclient/shell.py +++ b/vitrageclient/shell.py @@ -27,7 +27,6 @@ from cliff import commandmanager from keystoneauth1 import loading import client -import noauth from v1.cli import alarms from v1.cli import rca @@ -80,6 +79,10 @@ class VitrageShell(app.App): self.register_keyauth_argparse_arguments(parser) + parser.add_argument('--vitrage-api-version', + default=os.environ.get('VITRAGE_API_VERSION', '1'), + help='Defaults to env[VITRAGE_API_VERSION] or 1.') + return parser @staticmethod @@ -99,31 +102,15 @@ class VitrageShell(app.App): help='Select an interface type.' ' Valid interface types: [admin, public, internal].' ' (Env: OS_INTERFACE)') - parser.add_argument('--vitrage-api-version', - default=os.environ.get('VITRAGE_API_VERSION', '1'), - help='Defaults to env[VITRAGE_API_VERSION] or 1.') loading.register_session_argparse_arguments(parser=parser) - plugin = loading.register_auth_argparse_arguments(parser=parser, - argv=sys.argv, - default='password') - - if not isinstance(plugin, noauth.VitrageNoAuthLoader): - parser.add_argument( - '--vitrage-endpoint', - metavar='', - dest='endpoint', - default=os.environ.get('VITRAGE_ENDPOINT'), - help='Vitrage endpoint (Env: VITRAGE_ENDPOINT)') + loading.register_auth_argparse_arguments(parser=parser, argv=sys.argv, + default='password') @property def client(self): if self._client is None: - if hasattr(self.options, 'endpoint'): - endpoint_override = self.options.endpoint - else: - endpoint_override = None auth_plugin = loading.load_auth_from_argparse_arguments( self.options) session = loading.load_session_from_argparse_arguments( @@ -134,8 +121,7 @@ class VitrageShell(app.App): self.options.vitrage_api_version, session=session, interface=self.options.interface, - region_name=self.options.region_name, - endpoint_override=endpoint_override) + region_name=self.options.region_name) return self._client