summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorRui Chen <chenrui.momo@gmail.com>2017-02-22 16:18:56 +0800
committerRui Chen <chenrui.momo@gmail.com>2017-02-22 16:40:22 +0800
commit10f0300f704ca8dd5928d9a8b41ac6c16732f203 (patch)
tree1f66e3f90def614a4579ad2c47c8476ce41cfa14 /openstackclient
parent62938c02e077049e3e4ebb393045ba0fa783c72d (diff)
downloadpython-openstackclient-10f0300f704ca8dd5928d9a8b41ac6c16732f203.tar.gz
Show openstacksdk version info in "module list"
openstacksdk bug/1588823 exist, no good way to add __version__ for openstack module properly, fix the issue in osc side, make openstacksdk module information be available. Change-Id: I27ff61792443d1aa07f31598bed3aa32f924ff40 Partial-Bug: #1662058
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):