Allow openstack flavor set to update flavor description using name

Modified take_action() method for SetFlavor to use
flavor id instead of flavor name when setting description

Closes-Bug: #1844708 
Story: #2007781
Task: #40019

Change-Id: If6798c89fef4c9feb4ebb460722b891f5655037d
This commit is contained in:
Gabriel Ramirez 2020-06-04 12:46:25 -07:00
parent 26b3b30853
commit 176907f70e
2 changed files with 37 additions and 1 deletions

View File

@ -402,7 +402,7 @@ class SetFlavor(command.Command):
if compute_client.api_version < api_versions.APIVersion("2.55"):
msg = _("--os-compute-api-version 2.55 or later is required")
raise exceptions.CommandError(msg)
compute_client.flavors.update(flavor=parsed_args.flavor,
compute_client.flavors.update(flavor=flavor.id,
description=parsed_args.description)

View File

@ -749,6 +749,42 @@ class TestFlavorSet(TestFlavor):
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
def test_flavor_set_description_using_name_api_newer(self):
arglist = [
'--description', 'description',
self.flavor.name,
]
verifylist = [
('description', 'description'),
('flavor', self.flavor.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.app.client_manager.compute.api_version = 2.55
with mock.patch.object(novaclient.api_versions,
'APIVersion',
return_value=2.55):
result = self.cmd.take_action(parsed_args)
self.flavors_mock.update.assert_called_with(
flavor=self.flavor.id, description='description')
self.assertIsNone(result)
def test_flavor_set_description_using_name_api_older(self):
arglist = [
'--description', 'description',
self.flavor.name,
]
verifylist = [
('description', 'description'),
('flavor', self.flavor.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.app.client_manager.compute.api_version = 2.54
with mock.patch.object(novaclient.api_versions,
'APIVersion',
return_value=2.55):
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
class TestFlavorShow(TestFlavor):