summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTang Chen <chen.tang@easystack.cn>2016-05-07 14:54:44 +0800
committerTang Chen <chen.tang@easystack.cn>2016-05-07 14:54:44 +0800
commit809239ca1e404c8077dd2499eafc8d12bd21c4cd (patch)
tree74866853c66466504b2795ecc9989ab785df05b5
parent2244915b506b7342e3e2ce6b0b3e88a38d13c390 (diff)
downloadpython-openstackclient-809239ca1e404c8077dd2499eafc8d12bd21c4cd.tar.gz
Map server power state num to meanful string
In _prep_server_detail(), power_state is not formatted by _format_servers_list_power_state(). So when executing "server show" or "server create", the power state is represented by number. This patch map the numbers to meanful strings. This patch also adds power_state attribute to FakeServer, and improves unit tests for this attribute. Change-Id: I2ec674327de4e5133b8712ba6bb53fa5ce55e3f4
-rw-r--r--openstackclient/compute/v2/server.py5
-rw-r--r--openstackclient/tests/compute/v2/fakes.py3
-rw-r--r--openstackclient/tests/compute/v2/test_server.py5
3 files changed, 12 insertions, 1 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index bf9f0985..8c533158 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -155,6 +155,11 @@ def _prep_server_detail(compute_client, server):
if 'tenant_id' in info:
info['project_id'] = info.pop('tenant_id')
+ # Map power state num to meanful string
+ if 'OS-EXT-STS:power_state' in info:
+ info['OS-EXT-STS:power_state'] = _format_servers_list_power_state(
+ info['OS-EXT-STS:power_state'])
+
# Remove values that are long and not too useful
info.pop('links', None)
diff --git a/openstackclient/tests/compute/v2/fakes.py b/openstackclient/tests/compute/v2/fakes.py
index 23957738..b3f3fb49 100644
--- a/openstackclient/tests/compute/v2/fakes.py
+++ b/openstackclient/tests/compute/v2/fakes.py
@@ -472,7 +472,8 @@ class FakeServer(object):
},
'flavor': {
'id': 'flavor-id-' + uuid.uuid4().hex,
- }
+ },
+ 'OS-EXT-STS:power_state': 1,
}
# Overwrite default attributes.
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py
index 17681672..0ba033d2 100644
--- a/openstackclient/tests/compute/v2/test_server.py
+++ b/openstackclient/tests/compute/v2/test_server.py
@@ -89,6 +89,7 @@ class TestServer(compute_fakes.TestComputev2):
class TestServerCreate(TestServer):
columns = (
+ 'OS-EXT-STS:power_state',
'addresses',
'flavor',
'id',
@@ -100,6 +101,8 @@ class TestServerCreate(TestServer):
def datalist(self):
datalist = (
+ server._format_servers_list_power_state(
+ getattr(self.new_server, 'OS-EXT-STS:power_state')),
'',
self.flavor.name + ' (' + self.new_server.flavor.get('id') + ')',
self.new_server.id,
@@ -1476,6 +1479,8 @@ class TestServerGeneral(TestServer):
'image': u'%s (%s)' % (_image.name, _image.id),
'project_id': u'tenant-id-xxx',
'properties': '',
+ 'OS-EXT-STS:power_state': server._format_servers_list_power_state(
+ getattr(_server, 'OS-EXT-STS:power_state')),
}
# Call _prep_server_detail().