summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2
diff options
context:
space:
mode:
authorReedip <reedip14@gmail.com>2016-12-28 01:45:42 -0500
committerDean Troyer <dtroyer@gmail.com>2017-02-13 15:16:09 +0000
commit6a3c7c2a68dd2aeb8a0a05143de3b14e4beea99d (patch)
tree8557966775e9d0dd2d4484977365dd2b90ffc70c /openstackclient/compute/v2
parent1e3dc48c64304eb378660ceb531aab3d42ac0710 (diff)
downloadpython-openstackclient-6a3c7c2a68dd2aeb8a0a05143de3b14e4beea99d.tar.gz
Overwrite/Clear Flavor property
This patch adds support to overwrite/clear the flavor's property using the new ``--no-property`` option in the ``flavor set`` command. Change-Id: I873c96fcf223bbd638a19b908766d904a84e8431 Implements: blueprint allow-overwrite-set-options Co-Authored By: zhiyong.dai@easystack.cn
Diffstat (limited to 'openstackclient/compute/v2')
-rw-r--r--openstackclient/compute/v2/flavor.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/flavor.py b/openstackclient/compute/v2/flavor.py
index 7cd22ed7..7e213f73 100644
--- a/openstackclient/compute/v2/flavor.py
+++ b/openstackclient/compute/v2/flavor.py
@@ -313,6 +313,14 @@ class SetFlavor(command.Command):
help=_("Flavor to modify (name or ID)")
)
parser.add_argument(
+ "--no-property",
+ action="store_true",
+ help=_("Remove all properties from this flavor "
+ "(specify both --no-property and --property"
+ " to remove the current properties before setting"
+ " new properties.)"),
+ )
+ parser.add_argument(
"--property",
metavar="<key=value>",
action=parseractions.KeyValueAction,
@@ -336,6 +344,15 @@ class SetFlavor(command.Command):
flavor = _find_flavor(compute_client, parsed_args.flavor)
result = 0
+ key_list = []
+ if parsed_args.no_property:
+ try:
+ for key in flavor.get_keys().keys():
+ key_list.append(key)
+ flavor.unset_keys(key_list)
+ except Exception as e:
+ LOG.error(_("Failed to clear flavor property: %s"), e)
+ result += 1
if parsed_args.property:
try:
flavor.set_keys(parsed_args.property)