summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorTerryHowe <terrylhowe@gmail.com>2015-05-08 13:14:15 -0600
committerTerryHowe <terrylhowe@gmail.com>2015-07-18 06:28:09 -0600
commitb3335b3474e559d8afb0b7f86796fbb68a0687a8 (patch)
tree7fb6af85a7ae7f77c97af02012471984b4d77f3c /openstackclient
parentfcadb16470832cdde2d090a19ebd20a3ad0d1476 (diff)
downloadpython-openstackclient-b3335b3474e559d8afb0b7f86796fbb68a0687a8.tar.gz
Do not set default versions in parsed args
Setting default versions in parsed args makes it so OCC cannot tell if the argument was parsed, an environment variable was set or it is just defaulted. In order to set api versions from OCC, it will have to be defaulted after processing OCC. Closes-Bug: #1453229 Change-Id: I4d065919397b783f3bdd4022c986c0234a7a16e6
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/client.py8
-rw-r--r--openstackclient/identity/client.py8
-rw-r--r--openstackclient/image/client.py8
-rw-r--r--openstackclient/network/client.py8
-rw-r--r--openstackclient/object/client.py8
-rw-r--r--openstackclient/shell.py4
-rw-r--r--openstackclient/tests/test_shell.py26
-rw-r--r--openstackclient/volume/client.py8
8 files changed, 35 insertions, 43 deletions
diff --git a/openstackclient/compute/client.py b/openstackclient/compute/client.py
index 6ae87b79..9dda32d6 100644
--- a/openstackclient/compute/client.py
+++ b/openstackclient/compute/client.py
@@ -19,7 +19,7 @@ from openstackclient.common import utils
LOG = logging.getLogger(__name__)
-DEFAULT_COMPUTE_API_VERSION = '2'
+DEFAULT_API_VERSION = '2'
API_VERSION_OPTION = 'os_compute_api_version'
API_NAME = 'compute'
API_VERSIONS = {
@@ -68,10 +68,8 @@ def build_option_parser(parser):
parser.add_argument(
'--os-compute-api-version',
metavar='<compute-api-version>',
- default=utils.env(
- 'OS_COMPUTE_API_VERSION',
- default=DEFAULT_COMPUTE_API_VERSION),
+ default=utils.env('OS_COMPUTE_API_VERSION'),
help='Compute API version, default=' +
- DEFAULT_COMPUTE_API_VERSION +
+ DEFAULT_API_VERSION +
' (Env: OS_COMPUTE_API_VERSION)')
return parser
diff --git a/openstackclient/identity/client.py b/openstackclient/identity/client.py
index d7b663dd..b8bb33f4 100644
--- a/openstackclient/identity/client.py
+++ b/openstackclient/identity/client.py
@@ -21,7 +21,7 @@ from openstackclient.common import utils
LOG = logging.getLogger(__name__)
-DEFAULT_IDENTITY_API_VERSION = '2'
+DEFAULT_API_VERSION = '2'
API_VERSION_OPTION = 'os_identity_api_version'
API_NAME = 'identity'
API_VERSIONS = {
@@ -63,11 +63,9 @@ def build_option_parser(parser):
parser.add_argument(
'--os-identity-api-version',
metavar='<identity-api-version>',
- default=utils.env(
- 'OS_IDENTITY_API_VERSION',
- default=DEFAULT_IDENTITY_API_VERSION),
+ default=utils.env('OS_IDENTITY_API_VERSION'),
help='Identity API version, default=' +
- DEFAULT_IDENTITY_API_VERSION +
+ DEFAULT_API_VERSION +
' (Env: OS_IDENTITY_API_VERSION)')
return auth.build_auth_plugins_option_parser(parser)
diff --git a/openstackclient/image/client.py b/openstackclient/image/client.py
index 8fbf8c0f..8dd146e9 100644
--- a/openstackclient/image/client.py
+++ b/openstackclient/image/client.py
@@ -20,7 +20,7 @@ from openstackclient.common import utils
LOG = logging.getLogger(__name__)
-DEFAULT_IMAGE_API_VERSION = '1'
+DEFAULT_API_VERSION = '1'
API_VERSION_OPTION = 'os_image_api_version'
API_NAME = "image"
API_VERSIONS = {
@@ -81,10 +81,8 @@ def build_option_parser(parser):
parser.add_argument(
'--os-image-api-version',
metavar='<image-api-version>',
- default=utils.env(
- 'OS_IMAGE_API_VERSION',
- default=DEFAULT_IMAGE_API_VERSION),
+ default=utils.env('OS_IMAGE_API_VERSION'),
help='Image API version, default=' +
- DEFAULT_IMAGE_API_VERSION +
+ DEFAULT_API_VERSION +
' (Env: OS_IMAGE_API_VERSION)')
return parser
diff --git a/openstackclient/network/client.py b/openstackclient/network/client.py
index 0ef68852..5f72782b 100644
--- a/openstackclient/network/client.py
+++ b/openstackclient/network/client.py
@@ -18,7 +18,7 @@ from openstackclient.common import utils
LOG = logging.getLogger(__name__)
-DEFAULT_NETWORK_API_VERSION = '2'
+DEFAULT_API_VERSION = '2'
API_VERSION_OPTION = 'os_network_api_version'
API_NAME = "network"
API_VERSIONS = {
@@ -83,10 +83,8 @@ def build_option_parser(parser):
parser.add_argument(
'--os-network-api-version',
metavar='<network-api-version>',
- default=utils.env(
- 'OS_NETWORK_API_VERSION',
- default=DEFAULT_NETWORK_API_VERSION),
+ default=utils.env('OS_NETWORK_API_VERSION'),
help='Network API version, default=' +
- DEFAULT_NETWORK_API_VERSION +
+ DEFAULT_API_VERSION +
' (Env: OS_NETWORK_API_VERSION)')
return parser
diff --git a/openstackclient/object/client.py b/openstackclient/object/client.py
index 0359940d..e7587802 100644
--- a/openstackclient/object/client.py
+++ b/openstackclient/object/client.py
@@ -22,7 +22,7 @@ from openstackclient.common import utils
LOG = logging.getLogger(__name__)
-DEFAULT_OBJECT_API_VERSION = '1'
+DEFAULT_API_VERSION = '1'
API_VERSION_OPTION = 'os_object_api_version'
API_NAME = 'object_store'
API_VERSIONS = {
@@ -52,10 +52,8 @@ def build_option_parser(parser):
parser.add_argument(
'--os-object-api-version',
metavar='<object-api-version>',
- default=utils.env(
- 'OS_OBJECT_API_VERSION',
- default=DEFAULT_OBJECT_API_VERSION),
+ default=utils.env('OS_OBJECT_API_VERSION'),
help='Object API version, default=' +
- DEFAULT_OBJECT_API_VERSION +
+ DEFAULT_API_VERSION +
' (Env: OS_OBJECT_API_VERSION)')
return parser
diff --git a/openstackclient/shell.py b/openstackclient/shell.py
index edeffdfb..55b93b7a 100644
--- a/openstackclient/shell.py
+++ b/openstackclient/shell.py
@@ -297,7 +297,9 @@ class OpenStackShell(app.App):
# Loop through extensions to get API versions
for mod in clientmanager.PLUGIN_MODULES:
- version_opt = getattr(self.options, mod.API_VERSION_OPTION, None)
+ default_version = getattr(mod, 'DEFAULT_API_VERSION', None)
+ option = mod.API_VERSION_OPTION.replace('os_', '')
+ version_opt = self.cloud.config.get(option, default_version)
if version_opt:
api = mod.API_NAME
self.api_version[api] = version_opt
diff --git a/openstackclient/tests/test_shell.py b/openstackclient/tests/test_shell.py
index e2f0580b..0e0cc50b 100644
--- a/openstackclient/tests/test_shell.py
+++ b/openstackclient/tests/test_shell.py
@@ -41,17 +41,17 @@ DEFAULT_SERVICE_URL = "http://127.0.0.1:8771/v3.0/"
DEFAULT_AUTH_PLUGIN = "v2password"
DEFAULT_INTERFACE = "internal"
-DEFAULT_COMPUTE_API_VERSION = "2"
-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"
-LIB_IMAGE_API_VERSION = "1"
-LIB_VOLUME_API_VERSION = "1"
-LIB_NETWORK_API_VERSION = "2"
+DEFAULT_COMPUTE_API_VERSION = ""
+DEFAULT_IDENTITY_API_VERSION = ""
+DEFAULT_IMAGE_API_VERSION = ""
+DEFAULT_VOLUME_API_VERSION = ""
+DEFAULT_NETWORK_API_VERSION = ""
+
+LIB_COMPUTE_API_VERSION = ""
+LIB_IDENTITY_API_VERSION = ""
+LIB_IMAGE_API_VERSION = ""
+LIB_VOLUME_API_VERSION = ""
+LIB_NETWORK_API_VERSION = ""
CLOUD_1 = {
'clouds': {
@@ -203,7 +203,9 @@ class TestShell(utils.TestCase):
initialize_app().
"""
- self.occ_get_one = mock.Mock("Test Shell")
+ cloud = mock.Mock(name="cloudy")
+ cloud.config = {}
+ self.occ_get_one = mock.Mock(return_value=cloud)
with mock.patch(
"os_client_config.config.OpenStackConfig.get_one_cloud",
self.occ_get_one,
diff --git a/openstackclient/volume/client.py b/openstackclient/volume/client.py
index 093178e3..d4800b8d 100644
--- a/openstackclient/volume/client.py
+++ b/openstackclient/volume/client.py
@@ -19,7 +19,7 @@ from openstackclient.common import utils
LOG = logging.getLogger(__name__)
-DEFAULT_VOLUME_API_VERSION = '1'
+DEFAULT_API_VERSION = '1'
API_VERSION_OPTION = 'os_volume_api_version'
API_NAME = "volume"
API_VERSIONS = {
@@ -72,10 +72,8 @@ def build_option_parser(parser):
parser.add_argument(
'--os-volume-api-version',
metavar='<volume-api-version>',
- default=utils.env(
- 'OS_VOLUME_API_VERSION',
- default=DEFAULT_VOLUME_API_VERSION),
+ default=utils.env('OS_VOLUME_API_VERSION'),
help='Volume API version, default=' +
- DEFAULT_VOLUME_API_VERSION +
+ DEFAULT_API_VERSION +
' (Env: OS_VOLUME_API_VERSION)')
return parser