diff options
| author | Jenkins <jenkins@review.openstack.org> | 2017-03-06 03:47:49 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-03-06 03:47:49 +0000 |
| commit | 69b7b9b0592d3699a02bb8d17539c20749281b8d (patch) | |
| tree | c24d94aa0a38aac10347735ae8d256649ffe0bf8 /openstackclient/volume | |
| parent | f97a33b971eb5cff06b7f84202f2de2449e5028e (diff) | |
| parent | 40ec7a9c96f4ce4071e47e5bf0c249aa77b5b2ee (diff) | |
| download | python-openstackclient-69b7b9b0592d3699a02bb8d17539c20749281b8d.tar.gz | |
Merge "Support --no-property in "volume set" command"
Diffstat (limited to 'openstackclient/volume')
| -rw-r--r-- | openstackclient/volume/v1/volume.py | 18 | ||||
| -rw-r--r-- | openstackclient/volume/v2/volume.py | 19 |
2 files changed, 36 insertions, 1 deletions
diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py index 739484df..8e1097f5 100644 --- a/openstackclient/volume/v1/volume.py +++ b/openstackclient/volume/v1/volume.py @@ -440,6 +440,15 @@ class SetVolume(command.Command): help=_('Extend volume size in GB'), ) parser.add_argument( + "--no-property", + dest="no_property", + action="store_true", + help=_("Remove all properties from <volume> " + "(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, @@ -489,6 +498,15 @@ class SetVolume(command.Command): except Exception as e: LOG.error(_("Failed to set volume size: %s"), e) result += 1 + + if parsed_args.no_property: + try: + volume_client.volumes.delete_metadata( + volume.id, volume.metadata.keys()) + except Exception as e: + LOG.error(_("Failed to clean volume properties: %s"), e) + result += 1 + if parsed_args.property: try: volume_client.volumes.set_metadata( diff --git a/openstackclient/volume/v2/volume.py b/openstackclient/volume/v2/volume.py index 78db261b..c361d700 100644 --- a/openstackclient/volume/v2/volume.py +++ b/openstackclient/volume/v2/volume.py @@ -524,6 +524,15 @@ class SetVolume(command.Command): help=_('New volume description'), ) parser.add_argument( + "--no-property", + dest="no_property", + action="store_true", + help=_("Remove all properties from <volume> " + "(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, @@ -561,7 +570,7 @@ class SetVolume(command.Command): choices=['never', 'on-demand'], help=_('Migration policy while re-typing volume ' '("never" or "on-demand", default is "never" ) ' - '(available only when "--type" option is specified)'), + '(available only when --type option is specified)'), ) bootable_group = parser.add_mutually_exclusive_group() bootable_group.add_argument( @@ -607,6 +616,14 @@ class SetVolume(command.Command): LOG.error(_("Failed to set volume size: %s"), e) result += 1 + if parsed_args.no_property: + try: + volume_client.volumes.delete_metadata( + volume.id, volume.metadata.keys()) + except Exception as e: + LOG.error(_("Failed to clean volume properties: %s"), e) + result += 1 + if parsed_args.property: try: volume_client.volumes.set_metadata( |
