diff --git a/openstackclient/compute/client.py b/openstackclient/compute/client.py index c87bbee700..3725350ac1 100644 --- a/openstackclient/compute/client.py +++ b/openstackclient/compute/client.py @@ -27,6 +27,7 @@ API_VERSION_OPTION = 'os_compute_api_version' API_NAME = 'compute' API_VERSIONS = { '1.1': 'novaclient.v1_1.client.Client', + '1': 'novaclient.v1_1.client.Client', '2': 'novaclient.v1_1.client.Client', } diff --git a/openstackclient/identity/client.py b/openstackclient/identity/client.py index 8050d12096..daf24e12a5 100644 --- a/openstackclient/identity/client.py +++ b/openstackclient/identity/client.py @@ -15,23 +15,25 @@ import logging -from keystoneclient.v2_0 import client as identity_client_v2_0 +from keystoneclient.v2_0 import client as identity_client_v2 from openstackclient.api import auth from openstackclient.common import utils LOG = logging.getLogger(__name__) -DEFAULT_IDENTITY_API_VERSION = '2.0' +DEFAULT_IDENTITY_API_VERSION = '2' API_VERSION_OPTION = 'os_identity_api_version' API_NAME = 'identity' API_VERSIONS = { - '2.0': 'openstackclient.identity.client.IdentityClientv2_0', + '2.0': 'openstackclient.identity.client.IdentityClientv2', + '2': 'openstackclient.identity.client.IdentityClientv2', '3': 'keystoneclient.v3.client.Client', } # Translate our API version to auth plugin version prefix AUTH_VERSIONS = { '2.0': 'v2', + '2': 'v2', '3': 'v3', } @@ -66,7 +68,7 @@ def build_option_parser(parser): return auth.build_auth_plugins_option_parser(parser) -class IdentityClientv2_0(identity_client_v2_0.Client): +class IdentityClientv2(identity_client_v2.Client): """Tweak the earlier client class to deal with some changes""" def __getattr__(self, name): # Map v3 'projects' back to v2 'tenants' diff --git a/openstackclient/shell.py b/openstackclient/shell.py index 1198bae18a..ac5556affa 100644 --- a/openstackclient/shell.py +++ b/openstackclient/shell.py @@ -255,7 +255,8 @@ class OpenStackShell(app.App): if version_opt: api = mod.API_NAME self.api_version[api] = version_opt - version = '.v' + version_opt.replace('.', '_') + # Command groups deal only with major versions + version = '.v' + version_opt.replace('.', '_').split('_')[0] cmd_group = 'openstack.' + api.replace('-', '_') + version self.command_manager.add_command_group(cmd_group) self.log.debug( diff --git a/openstackclient/tests/test_shell.py b/openstackclient/tests/test_shell.py index 837a48afd7..8656d089fd 100644 --- a/openstackclient/tests/test_shell.py +++ b/openstackclient/tests/test_shell.py @@ -38,13 +38,13 @@ DEFAULT_AUTH_PLUGIN = "v2password" DEFAULT_COMPUTE_API_VERSION = "2" -DEFAULT_IDENTITY_API_VERSION = "2.0" -DEFAULT_IMAGE_API_VERSION = "v2" +DEFAULT_IDENTITY_API_VERSION = "2" +DEFAULT_IMAGE_API_VERSION = "2" DEFAULT_VOLUME_API_VERSION = "1" DEFAULT_NETWORK_API_VERSION = "2" LIB_COMPUTE_API_VERSION = "2" -LIB_IDENTITY_API_VERSION = "2.0" +LIB_IDENTITY_API_VERSION = "2" LIB_IMAGE_API_VERSION = "1" LIB_VOLUME_API_VERSION = "1" LIB_NETWORK_API_VERSION = "2" diff --git a/setup.cfg b/setup.cfg index c0519d11d6..8ce5e59c64 100644 --- a/setup.cfg +++ b/setup.cfg @@ -131,7 +131,7 @@ openstack.compute.v2 = server_unrescue = openstackclient.compute.v2.server:UnrescueServer server_unset = openstackclient.compute.v2.server:UnsetServer -openstack.identity.v2_0 = +openstack.identity.v2 = catalog_list = openstackclient.identity.v2_0.catalog:ListCatalog catalog_show = openstackclient.identity.v2_0.catalog:ShowCatalog