summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/common/module.py10
-rw-r--r--openstackclient/tests/functional/common/test_module.py3
-rw-r--r--openstackclient/tests/unit/fakes.py3
3 files changed, 14 insertions, 2 deletions
diff --git a/openstackclient/common/module.py b/openstackclient/common/module.py
index f471b2aa..ba911ecb 100644
--- a/openstackclient/common/module.py
+++ b/openstackclient/common/module.py
@@ -86,7 +86,15 @@ class ListModule(command.ShowOne):
# Handle xxxclient and openstacksdk
(k.endswith('client') or k == 'openstack')):
try:
- data[k] = mods[k].__version__
+ # NOTE(RuiChen): openstacksdk bug/1588823 exist,
+ # no good way to add __version__ for
+ # openstack module properly, hard code
+ # looks bad, but openstacksdk module
+ # information is important.
+ if k == 'openstack':
+ data[k] = mods[k].version.__version__
+ else:
+ data[k] = mods[k].__version__
except Exception:
# Catch all exceptions, just skip it
pass
diff --git a/openstackclient/tests/functional/common/test_module.py b/openstackclient/tests/functional/common/test_module.py
index b56c83ad..f4f2e952 100644
--- a/openstackclient/tests/functional/common/test_module.py
+++ b/openstackclient/tests/functional/common/test_module.py
@@ -23,7 +23,8 @@ class ModuleTest(base.TestCase):
CLIENTS = ['openstackclient',
'keystoneclient',
- 'novaclient']
+ 'novaclient',
+ 'openstack']
LIBS = ['osc_lib',
'os_client_config',
diff --git a/openstackclient/tests/unit/fakes.py b/openstackclient/tests/unit/fakes.py
index 626b466d..f28f9103 100644
--- a/openstackclient/tests/unit/fakes.py
+++ b/openstackclient/tests/unit/fakes.py
@@ -161,6 +161,9 @@ class FakeModule(object):
def __init__(self, name, version):
self.name = name
self.__version__ = version
+ # Workaround for openstacksdk case
+ self.version = mock.Mock()
+ self.version.__version__ = version
class FakeResource(object):