remove redundant code
Change-Id: I4e2cc07355e01463032edf1b4e6bda6a4d2d3a0a
This commit is contained in:
parent
5a8dca2264
commit
a203e4ada2
@ -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 '<no-token-needed>'
|
||||
|
||||
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
|
@ -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='<endpoint>',
|
||||
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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user