summaryrefslogtreecommitdiff
path: root/cinderclient/client.py
diff options
context:
space:
mode:
authorj-griffith <john.griffith8@gmail.com>2017-05-31 08:44:07 -0600
committerJohn Griffith <john.griffith8@gmail.com>2017-07-26 11:49:03 -0600
commit7547e55bbebfeb4232968780cfed4d9a448594ae (patch)
treed9e96681e2b68748a6c1d47e51a2a5248b82c514 /cinderclient/client.py
parent18381fb872e7280539e2b41ea2673bd230c89518 (diff)
downloadpython-cinderclient-7547e55bbebfeb4232968780cfed4d9a448594ae.tar.gz
cinderclient might not return version for V2 API
The get_server_version call in cidnerclient/client.py relies on either finding v 3.x or encountering an exception to revert back to v 2.0. It's not clear that this call will always raise if a non V3 capable Cinder is called, so just to be safe make sure we return a 2.0 response if there's no V3 reported back. Change-Id: I3b5fb895cad4b85d5f4ea286fb33f7dd0929e691 Closes-Bug: #1694729
Diffstat (limited to 'cinderclient/client.py')
-rw-r--r--cinderclient/client.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/cinderclient/client.py b/cinderclient/client.py
index 16152fb..dabfcd3 100644
--- a/cinderclient/client.py
+++ b/cinderclient/client.py
@@ -78,6 +78,8 @@ def get_server_version(url):
:returns: APIVersion object for min and max version supported by
the server
"""
+ min_version = "2.0"
+ current_version = "2.0"
logger = logging.getLogger(__name__)
try:
@@ -87,12 +89,14 @@ def get_server_version(url):
versions = data['versions']
for version in versions:
if '3.' in version['version']:
- return (api_versions.APIVersion(version['min_version']),
- api_versions.APIVersion(version['version']))
+ min_version = version['min_version']
+ current_version = version['version']
+ break
except exceptions.ClientException as e:
logger.warning("Error in server version query:%s\n"
"Returning APIVersion 2.0", six.text_type(e.message))
- return api_versions.APIVersion("2.0"), api_versions.APIVersion("2.0")
+ return (api_versions.APIVersion(min_version),
+ api_versions.APIVersion(current_version))
def get_highest_client_server_version(url):