Format the output image uuid to name
For user friendliness, it is better to show image name than image uuid in CLI. Change-Id: I17767d56d99e10f59de0a3c15be5f6e98add98eb
This commit is contained in:
parent
2faea31cb6
commit
5ea2e2df4d
@ -337,7 +337,7 @@ class ListServer(command.Lister):
|
||||
"Status",
|
||||
"Power State",
|
||||
"Networks",
|
||||
"Image",
|
||||
"Image Name",
|
||||
"Flavor",
|
||||
"Availability Zone",
|
||||
'Properties',
|
||||
@ -359,7 +359,7 @@ class ListServer(command.Lister):
|
||||
"Name",
|
||||
"Status",
|
||||
"Networks",
|
||||
"Image",
|
||||
"Image Name",
|
||||
)
|
||||
columns = (
|
||||
"uuid",
|
||||
@ -371,9 +371,11 @@ class ListServer(command.Lister):
|
||||
|
||||
data = bc_client.server.list(detailed=True,
|
||||
all_projects=parsed_args.all_projects)
|
||||
|
||||
image_client = self.app.client_manager.image
|
||||
formatters = {'addresses': self._addresses_formatter,
|
||||
'metadata': utils.format_dict}
|
||||
'metadata': utils.format_dict,
|
||||
'image_uuid': lambda img: image_client.images.get(
|
||||
img).name}
|
||||
return (column_headers,
|
||||
(utils.get_item_properties(
|
||||
s, columns, formatters=formatters
|
||||
@ -392,6 +394,12 @@ class ShowServer(command.ShowOne):
|
||||
)
|
||||
return parser
|
||||
|
||||
def _format_image_field(self, data):
|
||||
image_client = self.app.client_manager.image
|
||||
image_uuid = data._info.pop('image_uuid')
|
||||
image = image_client.images.get(image_uuid)
|
||||
return '%s (%s)' % (image.name, image_uuid)
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
bc_client = self.app.client_manager.baremetal_compute
|
||||
data = utils.find_resource(
|
||||
@ -407,6 +415,7 @@ class ShowServer(command.ShowOne):
|
||||
'addresses': _addresses_formatter(
|
||||
network_client,
|
||||
data._info.pop('addresses')),
|
||||
'image': self._format_image_field(data)
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -277,6 +277,11 @@ class TestServerList(test_base.TestBaremetalComputeV1):
|
||||
self.app.client_manager.network = mock.Mock()
|
||||
self.app.client_manager.network.find_network = \
|
||||
mock.Mock(return_value=network_obj)
|
||||
mocked_img = mock.Mock()
|
||||
mocked_img.name = 'test-img'
|
||||
image_mock = mock.MagicMock()
|
||||
image_mock.images.get.return_value = mocked_img
|
||||
self.app.client_manager.image = image_mock
|
||||
fake_return_net = {
|
||||
"private": [
|
||||
{
|
||||
@ -298,7 +303,7 @@ class TestServerList(test_base.TestBaremetalComputeV1):
|
||||
"Name",
|
||||
"Status",
|
||||
'Networks',
|
||||
'Image'
|
||||
'Image Name'
|
||||
)
|
||||
|
||||
self.list_columns_long = (
|
||||
@ -307,7 +312,7 @@ class TestServerList(test_base.TestBaremetalComputeV1):
|
||||
"Status",
|
||||
"Power State",
|
||||
"Networks",
|
||||
"Image",
|
||||
"Image Name",
|
||||
"Flavor",
|
||||
"Availability Zone",
|
||||
"Properties"
|
||||
@ -318,7 +323,7 @@ class TestServerList(test_base.TestBaremetalComputeV1):
|
||||
self.fake_servers[i].name,
|
||||
self.fake_servers[i].status,
|
||||
'private=172.24.4.4, 2001:db8::a',
|
||||
self.fake_servers[i].image_uuid,
|
||||
'test-img',
|
||||
) for i in range(3))
|
||||
|
||||
self.list_data_long = tuple((
|
||||
@ -327,7 +332,7 @@ class TestServerList(test_base.TestBaremetalComputeV1):
|
||||
self.fake_servers[i].status,
|
||||
self.fake_servers[i].power_state,
|
||||
'private=172.24.4.4, 2001:db8::a',
|
||||
self.fake_servers[i].image_uuid,
|
||||
'test-img',
|
||||
self.fake_servers[i].flavor_uuid,
|
||||
self.fake_servers[i].availability_zone,
|
||||
'',
|
||||
@ -421,6 +426,11 @@ class TestServerShow(test_base.TestBaremetalComputeV1):
|
||||
super(TestServerShow, self).setUp()
|
||||
self.cmd = server.ShowServer(self.app, None)
|
||||
self.fake_server = fakes.FakeServer.create_one_server()
|
||||
mocked_img = mock.Mock()
|
||||
mocked_img.name = 'test-img'
|
||||
image_mock = mock.MagicMock()
|
||||
image_mock.images.get.return_value = mocked_img
|
||||
self.app.client_manager.image = image_mock
|
||||
|
||||
def test_server_show_with_uuid_specified(self, mock_get):
|
||||
args = [self.fake_server.uuid]
|
||||
|
Loading…
x
Reference in New Issue
Block a user