From b8d570531bb86e9ad5f3d2462e019a4adba19bb3 Mon Sep 17 00:00:00 2001 From: Zhenguo Niu Date: Thu, 14 Sep 2017 13:50:35 +0800 Subject: [PATCH] Add --long parameter to flavor list cmd Change-Id: I3d55b8339d0f5ea107d280117cb15d782f7fb4ad --- moganclient/osc/v1/flavor.py | 67 ++++++++++++++------ moganclient/tests/unit/osc/v1/test_flavor.py | 2 +- 2 files changed, 50 insertions(+), 19 deletions(-) diff --git a/moganclient/osc/v1/flavor.py b/moganclient/osc/v1/flavor.py index fdf6784..ef48a8b 100644 --- a/moganclient/osc/v1/flavor.py +++ b/moganclient/osc/v1/flavor.py @@ -129,30 +129,61 @@ class DeleteFlavor(command.Command): class ListFlavor(command.Lister): """List all baremetal flavors""" + def get_parser(self, prog_name): + parser = super(ListFlavor, self).get_parser(prog_name) + parser.add_argument( + '--long', + action='store_true', + default=False, + help=_("List additional fields in output") + ) + return parser + def take_action(self, parsed_args): bc_client = self.app.client_manager.baremetal_compute + if parsed_args.long: + column_headers = ( + "UUID", + "Name", + "Is Public", + "Description", + "Resources", + "Aggregates", + "Disabled", + ) + columns = ( + "uuid", + "name", + "is_public", + "description", + "resources", + "resource_aggregates", + "disabled", + ) + else: + column_headers = ( + "UUID", + "Name", + "Is Public", + "Description", + "Resources", + ) + columns = ( + "uuid", + "name", + "is_public", + "description", + "resources", + ) + data = bc_client.flavor.list() - - column_headers = ( - "UUID", - "Name", - "Is Public", - "Description", - "Resources", - ) - columns = ( - "UUID", - "Name", - "Is Public", - "Description", - "Resources", - ) - + formatters = {'resources': utils.format_dict, + 'resource_aggregates': utils.format_dict + } return (column_headers, (utils.get_item_properties( - s, columns, - ) for s in data)) + s, columns, formatters=formatters) for s in data)) class ShowFlavor(command.ShowOne): diff --git a/moganclient/tests/unit/osc/v1/test_flavor.py b/moganclient/tests/unit/osc/v1/test_flavor.py index 490571d..e3fe4b4 100644 --- a/moganclient/tests/unit/osc/v1/test_flavor.py +++ b/moganclient/tests/unit/osc/v1/test_flavor.py @@ -231,7 +231,7 @@ class TestFlavorList(TestFlavor): TestFlavor.fake_flavor.name, TestFlavor.fake_flavor.is_public, TestFlavor.fake_flavor.description, - TestFlavor.fake_flavor.resources, + "BAREMETAL_GOLD='1'", ),) def setUp(self):