summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2019-05-17 20:06:44 -0500
committerDean Troyer <dtroyer@gmail.com>2019-08-26 17:50:06 -0500
commit03a2accb2f13f82b1090e1ae6f154bf263e7e252 (patch)
treed9dacd7d7f0896796f47bc63e9870b2bfed8c60c /openstackclient/compute
parent7b7488d51c795fac6b0e1c9c99a895b06bb3a4a8 (diff)
downloadpython-openstackclient-03a2accb2f13f82b1090e1ae6f154bf263e7e252.tar.gz
Format aggregate command fields and de-race functional tests
Rename metadata to property in all aggregate commands Beef up functional tests to reduce street racing Change-Id: I4598da73b85a954f3e6a3981db21891b45d9548c Signed-off-by: Dean Troyer <dtroyer@gmail.com>
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/aggregate.py46
1 files changed, 43 insertions, 3 deletions
diff --git a/openstackclient/compute/v2/aggregate.py b/openstackclient/compute/v2/aggregate.py
index fa646478..3834de1f 100644
--- a/openstackclient/compute/v2/aggregate.py
+++ b/openstackclient/compute/v2/aggregate.py
@@ -18,6 +18,7 @@
import logging
+from osc_lib.cli import format_columns
from osc_lib.cli import parseractions
from osc_lib.command import command
from osc_lib import exceptions
@@ -58,6 +59,15 @@ class AddAggregateHost(command.ShowOne):
info = {}
info.update(data._info)
+
+ # Special mapping for columns to make the output easier to read:
+ # 'metadata' --> 'properties'
+ info.update(
+ {
+ 'hosts': format_columns.ListColumn(info.pop('hosts')),
+ 'properties': format_columns.DictColumn(info.pop('metadata')),
+ },
+ )
return zip(*sorted(six.iteritems(info)))
@@ -101,8 +111,20 @@ class CreateAggregate(command.ShowOne):
parsed_args.property,
)._info)
- # TODO(dtroyer): re-format metadata field to properites as
- # in the set command
+ # Special mapping for columns to make the output easier to read:
+ # 'metadata' --> 'properties'
+ hosts = None
+ properties = None
+ if 'hosts' in info.keys():
+ hosts = format_columns.ListColumn(info.pop('hosts'))
+ if 'metadata' in info.keys():
+ properties = format_columns.DictColumn(info.pop('metadata'))
+ info.update(
+ {
+ 'hosts': hosts,
+ 'properties': properties,
+ },
+ )
return zip(*sorted(six.iteritems(info)))
@@ -186,6 +208,10 @@ class ListAggregate(command.Lister):
return (column_headers,
(utils.get_item_properties(
s, columns,
+ formatters={
+ 'Hosts': format_columns.ListColumn,
+ 'Metadata': format_columns.DictColumn,
+ },
) for s in data))
@@ -220,6 +246,15 @@ class RemoveAggregateHost(command.ShowOne):
info = {}
info.update(data._info)
+
+ # Special mapping for columns to make the output easier to read:
+ # 'metadata' --> 'properties'
+ info.update(
+ {
+ 'hosts': format_columns.ListColumn(info.pop('hosts')),
+ 'properties': format_columns.DictColumn(info.pop('metadata')),
+ },
+ )
return zip(*sorted(six.iteritems(info)))
@@ -326,7 +361,12 @@ class ShowAggregate(command.ShowOne):
# 'metadata' --> 'properties'
data._info.update(
{
- 'properties': utils.format_dict(data._info.pop('metadata')),
+ 'hosts': format_columns.ListColumn(
+ data._info.pop('hosts')
+ ),
+ 'properties': format_columns.DictColumn(
+ data._info.pop('metadata')
+ ),
},
)