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
This commit is contained in:
Tang Chen 2016-05-07 14:54:44 +08:00
parent 2244915b50
commit 809239ca1e
3 changed files with 12 additions and 1 deletions
openstackclient
compute/v2
tests/compute/v2

@ -155,6 +155,11 @@ def _prep_server_detail(compute_client, server):
if 'tenant_id' in info: if 'tenant_id' in info:
info['project_id'] = info.pop('tenant_id') 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 # Remove values that are long and not too useful
info.pop('links', None) info.pop('links', None)

@ -472,7 +472,8 @@ class FakeServer(object):
}, },
'flavor': { 'flavor': {
'id': 'flavor-id-' + uuid.uuid4().hex, 'id': 'flavor-id-' + uuid.uuid4().hex,
} },
'OS-EXT-STS:power_state': 1,
} }
# Overwrite default attributes. # Overwrite default attributes.

@ -89,6 +89,7 @@ class TestServer(compute_fakes.TestComputev2):
class TestServerCreate(TestServer): class TestServerCreate(TestServer):
columns = ( columns = (
'OS-EXT-STS:power_state',
'addresses', 'addresses',
'flavor', 'flavor',
'id', 'id',
@ -100,6 +101,8 @@ class TestServerCreate(TestServer):
def datalist(self): def datalist(self):
datalist = ( 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.flavor.name + ' (' + self.new_server.flavor.get('id') + ')',
self.new_server.id, self.new_server.id,
@ -1476,6 +1479,8 @@ class TestServerGeneral(TestServer):
'image': u'%s (%s)' % (_image.name, _image.id), 'image': u'%s (%s)' % (_image.name, _image.id),
'project_id': u'tenant-id-xxx', 'project_id': u'tenant-id-xxx',
'properties': '', 'properties': '',
'OS-EXT-STS:power_state': server._format_servers_list_power_state(
getattr(_server, 'OS-EXT-STS:power_state')),
} }
# Call _prep_server_detail(). # Call _prep_server_detail().