Change noauth strategy for plugin loading
Don't do it. os-client-config's plugin loading has been causing this pain for a long time, removing the KSC hack-around in o-c-c unmasked this again. So when auth is not reuired, just don't let o-c-c do any plugin loading at all. Ever. Of course, this shouldn't be in OSC either, but we have to do this until the equivalent fix lands in osc-lib, is released and makes it into the global requirements minimum version. Depends-on: Ie68c82f7b073012685f0513b615ab1bf00bc0c3a Change-Id: Ifdf65f3bb90fb923947a2cbe80a881d71a3fee56
This commit is contained in:
parent
dd81ca0692
commit
1c3cb0a3b5
@ -175,24 +175,17 @@ class OpenStackShell(shell.OpenStackShell):
|
|||||||
def prepare_to_run_command(self, cmd):
|
def prepare_to_run_command(self, cmd):
|
||||||
"""Set up auth and API versions"""
|
"""Set up auth and API versions"""
|
||||||
|
|
||||||
# TODO(dtroyer): Move this to osc-lib
|
# TODO(dtroyer): Move this to osc-lib, remove entire method when 1.4.0
|
||||||
# NOTE(dtroyer): If auth is not required for a command, force fake
|
# release is minimum version is in global-requirements
|
||||||
# token auth so KSA plugins are happy
|
# NOTE(dtroyer): If auth is not required for a command, skip
|
||||||
|
# get_one_Cloud()'s validation to avoid loading plugins
|
||||||
kwargs = {}
|
validate = cmd.auth_required
|
||||||
if not cmd.auth_required:
|
|
||||||
# Build fake token creds to keep ksa and o-c-c hushed
|
|
||||||
kwargs['auth_type'] = 'token_endpoint'
|
|
||||||
kwargs['auth'] = {}
|
|
||||||
kwargs['auth']['token'] = 'x'
|
|
||||||
kwargs['auth']['url'] = 'x'
|
|
||||||
|
|
||||||
# Validate auth options
|
# Validate auth options
|
||||||
self.cloud = self.cloud_config.get_one_cloud(
|
self.cloud = self.cloud_config.get_one_cloud(
|
||||||
cloud=self.options.cloud,
|
cloud=self.options.cloud,
|
||||||
argparse=self.options,
|
argparse=self.options,
|
||||||
validate=True,
|
validate=validate,
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
# Push the updated args into ClientManager
|
# Push the updated args into ClientManager
|
||||||
self.client_manager._cli_options = self.cloud
|
self.client_manager._cli_options = self.cloud
|
||||||
|
Loading…
Reference in New Issue
Block a user