diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-01-28 05:11:29 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-01-28 05:11:29 +0000 |
| commit | c3aad41341ac2d5f22fa85655c42ea3a4adedd06 (patch) | |
| tree | 8a67e812f164634ff494dbe34fcc5070fceda33b | |
| parent | 2c03f6f42fc17ca145e527cc87a7c2e7043e32c7 (diff) | |
| parent | 4ff020006ebc96348822f50c5b484ee45e5f1b41 (diff) | |
| download | python-openstackclient-c3aad41341ac2d5f22fa85655c42ea3a4adedd06.tar.gz | |
Merge "Add the ability to extend volumes in `osc volume set`"
| -rw-r--r-- | doc/source/command-objects/volume.rst | 5 | ||||
| -rw-r--r-- | openstackclient/volume/v1/volume.py | 15 |
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 |
