diff options
| author | Huanxuan Ao <huanxuan.ao@easystack.cn> | 2016-06-28 14:39:00 +0800 |
|---|---|---|
| committer | Huanxuan Ao <huanxuan.ao@easystack.cn> | 2016-06-29 19:16:35 +0800 |
| commit | dbed97a24df2fb74e4989fb15c912252f8a8bb07 (patch) | |
| tree | b1a5bbc4881e23dafc9290c37bf7cc8644134a8b /openstackclient/compute | |
| parent | 9e47688e5eb2d3e4ee8fe0e15d49b34fe7c5512d (diff) | |
| download | python-openstackclient-dbed97a24df2fb74e4989fb15c912252f8a8bb07.tar.gz | |
Add "--property" option to "flavor create" command
Add "--property" option to "flavor create" command to support
adding properties to a new falvor.
Change-Id: I4f06b364375d5a81584fe41122d48e9568fa712a
Closes-Bug: #1596798
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/flavor.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/openstackclient/compute/v2/flavor.py b/openstackclient/compute/v2/flavor.py index 01d7da75..000df598 100644 --- a/openstackclient/compute/v2/flavor.py +++ b/openstackclient/compute/v2/flavor.py @@ -122,6 +122,13 @@ class CreateFlavor(command.ShowOne): help=_("Flavor is not available to other projects") ) parser.add_argument( + "--property", + metavar="<key=value>", + action=parseractions.KeyValueAction, + help=_("Property to add for this flavor " + "(repeat option to set multiple properties)") + ) + parser.add_argument( '--project', metavar='<project>', help=_("Allow <project> to access private flavor (name or ID) " @@ -150,8 +157,7 @@ class CreateFlavor(command.ShowOne): parsed_args.public ) - flavor = compute_client.flavors.create(*args)._info.copy() - flavor.pop("links") + flavor = compute_client.flavors.create(*args) if parsed_args.project: try: @@ -166,8 +172,17 @@ class CreateFlavor(command.ShowOne): msg = _("Failed to add project %(project)s access to " "flavor: %(e)s") LOG.error(msg % {'project': parsed_args.project, 'e': e}) + if parsed_args.property: + try: + flavor.set_keys(parsed_args.property) + except Exception as e: + LOG.error(_("Failed to set flavor property: %s"), e) - return zip(*sorted(six.iteritems(flavor))) + flavor_info = flavor._info.copy() + flavor_info.pop("links") + flavor_info['properties'] = utils.format_dict(flavor.get_keys()) + + return zip(*sorted(six.iteritems(flavor_info))) class DeleteFlavor(command.Command): |
