Improve no-auth path

The commands that do not require authentication sometimes still need
to call ClientManager.is_network_endpoint_enabled() to see if Neutron
is available.  Optimize the paths a bit to skip auth when it is not
necessary; the upshot is Neutron will be assumed in these cases now.

This gets a LOT cleaner when it appears is a future osc-lib.

Change-Id: Ifaddc57dfa192bde04d0482e2cdcce111313a22a
This commit is contained in:
Dean Troyer
2017-04-24 18:57:05 -05:00
parent db6081fb80
commit ef99f44462
3 changed files with 23 additions and 2 deletions
openstackclient

@ -182,6 +182,12 @@ class OpenStackShell(shell.OpenStackShell):
# get_one_Cloud()'s validation to avoid loading plugins
validate = cmd.auth_required
# Force skipping auth for commands that do not need it
# NOTE(dtroyer): This is here because ClientManager does not have
# visibility into the Command object to get
# auth_required. It needs to move into osc-lib
self.client_manager._auth_required = cmd.auth_required
# Validate auth options
self.cloud = self.cloud_config.get_one_cloud(
cloud=self.options.cloud,