diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-05-06 14:07:54 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-05-06 14:07:54 +0000 |
| commit | 467ed54d6d55dbb50c8e4c8964e5baa5b8854bde (patch) | |
| tree | 088614abf3e62bd0ec1bfdf611b468613e03a5e2 /openstackclient/compute | |
| parent | 5df18843b7aeb2f9254f55e4127c44d6fbf66efb (diff) | |
| parent | 681d6dc2de83ef13b4fb2fb4abe70f3c1ccb0e10 (diff) | |
| download | python-openstackclient-467ed54d6d55dbb50c8e4c8964e5baa5b8854bde.tar.gz | |
Merge "Make "flavor show" command to show a private flavor properly"
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/flavor.py | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/openstackclient/compute/v2/flavor.py b/openstackclient/compute/v2/flavor.py index 04674614..4b918369 100644 --- a/openstackclient/compute/v2/flavor.py +++ b/openstackclient/compute/v2/flavor.py @@ -18,10 +18,29 @@ import six from openstackclient.common import command +from openstackclient.common import exceptions from openstackclient.common import parseractions from openstackclient.common import utils +def _find_flavor(compute_client, flavor): + try: + return compute_client.flavors.get(flavor) + except Exception as ex: + if type(ex).__name__ == 'NotFound': + pass + else: + raise + try: + return compute_client.flavors.find(name=flavor, is_public=None) + except Exception as ex: + if type(ex).__name__ == 'NotFound': + msg = "No flavor with a name or ID of '%s' exists." % flavor + raise exceptions.CommandError(msg) + else: + raise + + class CreateFlavor(command.ShowOne): """Create new flavor""" @@ -132,8 +151,7 @@ class DeleteFlavor(command.Command): def take_action(self, parsed_args): compute_client = self.app.client_manager.compute - flavor = utils.find_resource(compute_client.flavors, - parsed_args.flavor) + flavor = _find_flavor(compute_client, parsed_args.flavor) compute_client.flavors.delete(flavor.id) @@ -239,8 +257,7 @@ class SetFlavor(command.Command): def take_action(self, parsed_args): compute_client = self.app.client_manager.compute - flavor = utils.find_resource(compute_client.flavors, - parsed_args.flavor) + flavor = _find_flavor(compute_client, parsed_args.flavor) flavor.set_keys(parsed_args.property) @@ -258,8 +275,7 @@ class ShowFlavor(command.ShowOne): def take_action(self, parsed_args): compute_client = self.app.client_manager.compute - resource_flavor = utils.find_resource(compute_client.flavors, - parsed_args.flavor) + resource_flavor = _find_flavor(compute_client, parsed_args.flavor) flavor = resource_flavor._info.copy() flavor.pop("links", None) @@ -290,6 +306,5 @@ class UnsetFlavor(command.Command): def take_action(self, parsed_args): compute_client = self.app.client_manager.compute - flavor = utils.find_resource(compute_client.flavors, - parsed_args.flavor) + flavor = _find_flavor(compute_client, parsed_args.flavor) flavor.unset_keys(parsed_args.property) |
