diff --git a/moganclient/osc/v1/flavor.py b/moganclient/osc/v1/flavor.py index ef48a8b..df61948 100644 --- a/moganclient/osc/v1/flavor.py +++ b/moganclient/osc/v1/flavor.py @@ -87,6 +87,15 @@ class CreateFlavor(command.ShowOne): is_public=is_public, disabled=parsed_args.disabled, ) + + data._info.update( + { + 'resources': utils.format_dict( + data._info.get('resources', {})), + 'resource_aggregates': utils.format_dict( + data._info.get('resource_aggregates', {})), + }, + ) info.update(data._info) return zip(*sorted(info.items())) @@ -204,6 +213,15 @@ class ShowFlavor(command.ShowOne): bc_client.flavor, parsed_args.flavor, ) + + data._info.update( + { + 'resources': utils.format_dict( + data._info.get('resources', {})), + 'resource_aggregates': utils.format_dict( + data._info.get('resource_aggregates', {})), + }, + ) info = {} info.update(data._info) return zip(*sorted(info.items())) diff --git a/moganclient/tests/unit/fakes.py b/moganclient/tests/unit/fakes.py index 280c4a0..0a67322 100644 --- a/moganclient/tests/unit/fakes.py +++ b/moganclient/tests/unit/fakes.py @@ -182,6 +182,7 @@ class FakeFlavor(object): "created_at": "2016-09-27T02:37:21.966342+00:00", "description": "fake_description", "resources": {"BAREMETAL_GOLD": 1}, + "resource_aggregates": {"dev": 1}, "is_public": False, "disabled": False, "name": "flavor-name-" + uuidutils.generate_uuid(dashed=False), diff --git a/moganclient/tests/unit/osc/v1/test_flavor.py b/moganclient/tests/unit/osc/v1/test_flavor.py index e3fe4b4..f170bb9 100644 --- a/moganclient/tests/unit/osc/v1/test_flavor.py +++ b/moganclient/tests/unit/osc/v1/test_flavor.py @@ -34,6 +34,7 @@ class TestFlavor(test_base.TestBaremetalComputeV1): 'disabled', 'is_public', 'name', + 'resource_aggregates', 'resources', 'updated_at', 'uuid', @@ -45,7 +46,8 @@ class TestFlavor(test_base.TestBaremetalComputeV1): fake_flavor.disabled, fake_flavor.is_public, fake_flavor.name, - fake_flavor.resources, + "dev='1'", + "BAREMETAL_GOLD='1'", fake_flavor.updated_at, fake_flavor.uuid, ) @@ -66,7 +68,7 @@ class TestFlavorCreate(TestFlavor): ('name', 'flavor1'), ('resources', {'k1': 'v1'}), ] - mock_create.return_value = self.fake_flavor + mock_create.return_value = copy.deepcopy(self.fake_flavor) parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) mock_create.assert_called_once_with('/flavors', @@ -89,7 +91,7 @@ class TestFlavorCreate(TestFlavor): ('public', True), ('name', 'flavor1'), ] - mock_create.return_value = self.fake_flavor + mock_create.return_value = copy.deepcopy(self.fake_flavor) parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) mock_create.assert_called_once_with('/flavors', @@ -111,7 +113,7 @@ class TestFlavorCreate(TestFlavor): ('private', True), ('name', 'flavor1'), ] - mock_create.return_value = self.fake_flavor + mock_create.return_value = copy.deepcopy(self.fake_flavor) parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) mock_create.assert_called_once_with('/flavors', @@ -133,7 +135,7 @@ class TestFlavorCreate(TestFlavor): ('description', 'test description.'), ('name', 'flavor1'), ] - mock_create.return_value = self.fake_flavor + mock_create.return_value = copy.deepcopy(self.fake_flavor) parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) mock_create.assert_called_once_with( @@ -159,7 +161,7 @@ class TestFlavorCreate(TestFlavor): ('resources', {'k1': 'v1'}), ('name', 'flavor1'), ] - mock_create.return_value = self.fake_flavor + mock_create.return_value = copy.deepcopy(self.fake_flavor) mock_get.return_value = {'resources': {'k1': 'v1'}} parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args)