summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-01-28 05:11:29 +0000
committerGerrit Code Review <review@openstack.org>2015-01-28 05:11:29 +0000
commitc3aad41341ac2d5f22fa85655c42ea3a4adedd06 (patch)
tree8a67e812f164634ff494dbe34fcc5070fceda33b
parent2c03f6f42fc17ca145e527cc87a7c2e7043e32c7 (diff)
parent4ff020006ebc96348822f50c5b484ee45e5f1b41 (diff)
downloadpython-openstackclient-c3aad41341ac2d5f22fa85655c42ea3a4adedd06.tar.gz
Merge "Add the ability to extend volumes in `osc volume set`"
-rw-r--r--doc/source/command-objects/volume.rst5
-rw-r--r--openstackclient/volume/v1/volume.py15
2 files changed, 19 insertions, 1 deletions
diff --git a/doc/source/command-objects/volume.rst b/doc/source/command-objects/volume.rst
index 2eec2d7b..0b2e0db6 100644
--- a/doc/source/command-objects/volume.rst
+++ b/doc/source/command-objects/volume.rst
@@ -134,6 +134,7 @@ Set volume properties
os volume set
[--name <name>]
[--description <description>]
+ [--size <size>]
[--property <key=value> [...] ]
<volume>
@@ -145,6 +146,10 @@ Set volume properties
New volume description
+.. option:: --size <size>
+
+ Extend volume size in GB
+
.. option:: --property <key=value>
Property to add or modify for this volume (repeat option to set multiple properties)
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