summaryrefslogtreecommitdiff
path: root/openstackclient/volume
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2015-01-25 00:13:26 -0500
committerSteve Martinelli <stevemar@ca.ibm.com>2015-01-27 14:16:03 -0500
commit4ff020006ebc96348822f50c5b484ee45e5f1b41 (patch)
tree29ad7f56416722ce563aee00bddc1f986b9efe7a /openstackclient/volume
parent71e0e5332ab0cbe4a582cfb4fba3e5bbec04fdc5 (diff)
downloadpython-openstackclient-4ff020006ebc96348822f50c5b484ee45e5f1b41.tar.gz
Add the ability to extend volumes in `osc volume set`
Create a --size option for volume set, so the user may extend a volume's size. Change-Id: Ic8d3396d788a14ea1e10bf1da73edfd7f5d85070 Closes-Bug: #1413954
Diffstat (limited to 'openstackclient/volume')
-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