summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/volume/v1/volume.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py
index e59331fa..9e548977 100644
--- a/openstackclient/volume/v1/volume.py
+++ b/openstackclient/volume/v1/volume.py
@@ -328,6 +328,12 @@ class SetVolume(command.Command):
help='New volume description',
)
parser.add_argument(
+ '--size',
+ metavar='<size>',
+ type=int,
+ help='Extend volume size in GB',
+ )
+ parser.add_argument(
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
@@ -341,6 +347,13 @@ class SetVolume(command.Command):
volume_client = self.app.client_manager.volume
volume = utils.find_resource(volume_client.volumes, parsed_args.volume)
+ if parsed_args.size:
+ if parsed_args.size <= volume.size:
+ self.app.log.error("New size must be greater than %s GB" %
+ volume.size)
+ return
+ volume_client.volumes.extend(volume.id, parsed_args.size)
+
if parsed_args.property:
volume_client.volumes.set_metadata(volume.id, parsed_args.property)
@@ -352,7 +365,7 @@ class SetVolume(command.Command):
if kwargs:
volume_client.volumes.update(volume.id, **kwargs)
- if not kwargs and not parsed_args.property:
+ if not kwargs and not parsed_args.property and not parsed_args.size:
self.app.log.error("No changes requested\n")
return