65 Commits

Author SHA1 Message Date
Amey Bhide
5361652d8f Add support for volume v2 API
Added following commands for volume V2 API:
volume show
volume delete
volume type show
volume type delete
snapshot show
snapshot delete
backup show
backup delete

Implements: blueprint volume-v2
Change-Id: I68bd303c194f304ad15f899d335b72a8bf3ebe10
2015-05-30 11:26:14 -07:00
Dag Stenstad
2ee904cb2d Adds support for container selection for backup
Changed argument from parsed_args.volume to parsed_args.container as per what
is expected in python-cinderclient.

If not defined, defaults to "backup_swift_container" in cinder.conf.

Stops there being a container for every volume you take backups off.

Change-Id: I4a34894222f71b0f207d007c32427040589406aa
Closes-Bug: 1446751
2015-04-21 18:45:54 +02:00
Dean Troyer
f43c1f7655 Defer client imports
So we really weren't deferring the loading of client libs dadgummit,
do that for real where possible.  This shaves a couple of tenths off
the static import times.

Also defer as much import-time procesing as possible.  This is a little
ugly in api.auth but this also eliminates import of the auth plugins
until they are needed.

Change-Id: Ia11d4b9cf98231d37449103fc29101dc17afb009
2015-04-15 22:40:52 -05:00
lin-hua-cheng
60ef8b08fe Change volume create --snapshot-id to --snapshot
Keeping the option --snapshot-id hidden for backward compatibility.

Change-Id: Iefa0aed9be255a5626a9bbb7db77911ef5ca8595
Closes-Bug: #1418742
2015-02-06 16:45:08 -08:00
lin-hua-cheng
8968bc0979 Check volume status before extending size
Added test for Volume Set as well.

Change-Id: I8e6794f67b160ca328fcafa8f1d67138b4f3becd
Closes-Bug: #1415182
2015-02-06 09:05:41 -08:00
Steve Martinelli
4ff020006e 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
2015-01-27 14:16:03 -05:00
Steve Martinelli
5e43120d43 Add region name for identity and volume clients
We do not take into account region names for identity and volume
clients.

Change-Id: I4263e9013226b0adc6b9ad7540d6ad3efb42e809
Co-Authored-By: Eric Helgeson <erichelgeson@gmail.com>
Related-Bug: #1405416
2015-01-21 01:52:20 -05:00
Jenkins
f8d4dd25b4 Merge "Command doc: snapshot" 2015-01-09 09:17:42 +00:00
Jenkins
c7d7866b0c Merge "Fix up snapshot command" 2015-01-09 09:17:34 +00:00
Steve Martinelli
460b530d8b Command doc: snapshot
Change-Id: Ibe5cd0a8422788762e0c52b702b7bd54e6a46813
2015-01-09 03:14:08 -05:00
Steve Martinelli
0170733270 Fix up snapshot command
Several issues with the current snapshot command were resolved:

  * --long for list was added to include volume id/name, and properties
  * changed output from metadata to properties
  * added new option to set properties with 'snapshot set'
  * added new command to unset properties with 'snapshot unset'

Change-Id: I5902cfe876cefada701d4d658a50a4282ff300d6
2015-01-09 03:04:31 -05:00
Jenkins
c1f28bf7ca Merge "Command doc: backup" 2015-01-08 23:04:59 +00:00
Jenkins
e252bae4c7 Merge "Fixup backup list output" 2015-01-08 23:04:51 +00:00
Steve Martinelli
79d0e21a45 Command doc: backup
Change-Id: Iecd4dbddea637bd6540d94b37253a9ba434c9db3
2015-01-08 21:05:19 +00:00
Steve Martinelli
55b8540374 Fixup backup list output
Name and Description were not appearing at all, and we didn't have
a --long alternative, which had a bunch of useful information.

Closes-Bug: #1408585
Change-Id: I7ca42a8d23ad60f6b9cc862799cb08a3e491b6e8
2015-01-08 21:03:47 +00:00
Steve Martinelli
265ca582f0 Command docs: volume
Change-Id: Id1e500d5fb19ffdeb0d1bde9e22c3143c0873d0c
2015-01-07 16:58:12 -05:00
Steve Martinelli
ca92608974 Command doc: volume type
Change-Id: I7e36daa027639d6a782043d4181c1b328335975a
2015-01-05 21:46:32 -05:00
Jenkins
457f4c8998 Merge "Properly format 'attached to' column list when listing volumes" 2014-12-30 21:01:10 +00:00
wanghong
470b7e53a8 add multi-delete support for compute/image/net/volume
This is part1, add support for these objects:
compute.server
imagev1.image
imagev2.image
network.network
volume.volume
volume.backup
volume.snapshot

Closes-Bug: #1400597
Change-Id: Ice21fee85203a8a55417e0ead8b509b8fd6705c1
2014-12-23 09:31:10 +08:00
Steve Martinelli
71d9c8b5b3 Properly format 'attached to' column list when listing volumes
Previously, no data was being returned for the 'attached to' field
when listing volumes. Dig into the the returned array to format
the column.

Change-Id: Iebd79e5ddcb4a335703d9b2675aa7128995de918
Closes-Bug: #1404931
2014-12-22 13:20:41 -05:00
Dean Troyer
39116bf594 Fix volume create --image
'volume create --image' should allow an image name to be used.

Closes-Bug: #1383333
Change-Id: I996d46db321eef2d75c3d19b480319f8a78c09b3
2014-11-18 09:35:08 -06:00
Dean Troyer
0de67016c7 Remove now-unnecessary client creation hacks
Clients that can use ksc Session don't need the old junk to
fake auth anymore:
* compute
* volume

Clients that still need to be fed credentials can pick directly
from the auth object in clientmanager.  The _token attribute is
removed, the token can be retrieved from the auth object:

  openstackclient/tests/common/test_clientmanager.py

This change will break any plugin that relies on getting a token
from instance._token. They should be updated to use the above, or
preferable, to use keystoneclient.session.Session to create its
HTTP interface object.

Change-Id: I877a29de97a42f85f12a14c274fc003e6fba5135
2014-10-18 00:01:45 -05:00
Monty Taylor
3af547a1a6 Fix operation on clouds with availability-zones
In a cloud with AZs, you can get multiple entries back from the service
catalog - one for each AZ and then one that is AZ agnostic that's tied
to the region. If the region_name is plumbed all the way through, this
works as intended.

Change-Id: I3b365ea306e8111fc80830672ae8080a5d1dc8e0
2014-10-11 14:30:04 -07:00
Jenkins
e0cf68f995 Merge "Normalize more help strings" 2014-07-24 22:09:28 +00:00
Dean Troyer
5bb6c72ef7 Normalize more help strings
Change-Id: I2b21bc904e35c1cc50da369d148e607fe3e8cf90
2014-07-24 11:22:29 -05:00
Jenkins
e8f058775e Merge "Add support to list volume extensions" 2014-07-09 06:59:39 +00:00
Dean Troyer
21bd4619ae Clean up make_client() logging
Change-Id: I0b6760a6401b50e3dfb891af75424ae89df42ebc
2014-07-08 01:44:55 -05:00
Steve Martinelli
9b2e264ada Add support to list volume extensions
Since cinderclient has support to list extensions, we should add
some of the logic to our list extensions command.

Change-Id: I7dc7ca325ea9b82194bba6d875e7b8dc1884d77e
Closes-Bug: #1337687
2014-07-04 14:27:16 -04:00
Terry Howe
0b2987fef3 Fix find_resource for keystone and cinder
The find_resource method had two hacks in in to support cinder
and keystone and I have removed those in favor of a monkey patch
for cinder.

The find_resource method used to attempt to UUID parse the id, but
it would do a manager.get anyway.  I changed it to skip the UUID
parsing.  This will make things run minorly faster and it supports
LDAP for keystone.

The find_resource used to attempt to use display_name=name_or_id
when finding.  This was a hack for cinder support, but it breaks
keystone because keystone totally messes up with the bogus filter
and keystone refuses to fix it.

Change-Id: I66e45a6341f704900f1d5321a0e70eac3d051665
Closes-Bug: #1306699
2014-06-17 10:24:26 -06:00
Christian Berendt
3b485de6b0 replace string format arguments with function parameters
There are files containing string format arguments inside
logging messages. Using logging function parameters should
be preferred.

Change-Id: Ic749ac9eb55564ed631d57055a5a4dfc3aebd169
2014-05-20 13:49:56 +02:00
Dean Troyer
870e7ddbcc Change volume create --volume-type to --type
This makes it consistent with the other --type options in OSC.  Also
add a few more volume_create tests.

Change-Id: I50ef927932cabf157ecdfd6c4faa1914b4fdf413
2014-05-15 09:25:07 -05:00
Jenkins
834867b8bf Merge "volume type create should display properties" 2014-05-06 06:27:28 +00:00
Terry Howe
37231b5801 volume type create should display properties
The volume type create command should properly output the
properties.  The code was doing a create on the volume type and
then setting the properties, but it was printing out the volume
object from the create.

Change-Id: I23c8a0182e77bb71903ad87c1b01ba2b62405f3b
Closes-Bug: #1303978
2014-05-05 14:21:50 -06:00
Yejia Xu
2cc3a2fdbd Skip auth in cinderclient
cinderclient can't work well with keystone v3 auth
info. We should do it in openstackclient just like
compute extension.

Closes-Bug: #1315963
Change-Id: I46f794c5315f6a9fe1d9a0e5dc7b84f067d7f792
2014-05-05 17:09:28 +00:00
Jenkins
b7f673cb81 Merge "Fix volume commands with multiple regions" 2014-02-26 23:18:34 +00:00
Terry Howe
eddab62109 Fix volume commands with multiple regions
The region_name was not passed into the the client causing volume
commands to fail if there were multiple regions.

Change-Id: I066dbbc4852f412e017daeeb16a3f186d3f91d2f
Closes-Bug: #1241177
2014-02-21 17:22:26 -07:00
Andreas Jaeger
5043293156 Fix some help strings
This fixes some errors and inconsistencies I found reviewing the
help strings:
* Capitalize help strings
* Add missing space between words (in multi-line strings)
* Improve wording

Change-Id: I2fb31ab4191c330146e31c1a9651115a6657769a
2014-02-21 19:40:41 +01:00
Alexander Ignatov
ad4367839f Remove copyright from empty files
According to policy change in HACKING:
http://docs.openstack.org/developer/hacking/#openstack-licensing
empty files should no longer contain copyright notices.

Change-Id: Iba09a00f24dfbd1cd03c1c9f70ea216788e64d93
Closes-Bug: #1262424
2014-01-20 17:28:13 +04:00
Florent Flament
a5e087e7a9 Displaying curl commands for nova and cinder calls
When using the -v option, displays curl equivalent commands and http
messages exchanged with the nova and cinder API servers. Displays the
same messages as those displayed with the --debug option of
python-novaclient and python-cinderclient.

Implements: blueprint curl-commands-in-debugging-messages for nova and
cinder related calls

Change-Id: Ibc8ef79d874334585b81d652b9c7df9e874fffa9
2014-01-02 11:08:53 +01:00
Dean Troyer
9062811d10 Expand support for command extensions
Allows client libraries to have complete access to the rest of the
OSC ClientManager.  In addition, extension libraries can define
global options (for API version options/env vars) and define
versioned API entry points similar to the in-repo commands.

The changes to ClientManager exposed some issues in the existing
object api tests that needed to be cleaned up.

Change-Id: Ic9662edf34c5dd130a2f1a69d2454adefc1f8a95
2013-11-21 01:27:10 -06:00
Dean Troyer
9137cc304d Do lookups for user, project in volume create
This required https://review.openstack.org/26323 in keystoneclient,
merged long ago...

Also adds some tests for 'volume create'

Change-Id: I55bededbc20b5dcf2833c59eb2b6b069703d8a9a
2013-10-25 12:21:41 -05:00
Dean Troyer
3f9c68f1c6 Add options to support TLS certificate verification
Add --os-cacert and --verify|--insecure options using the same
sematics as the other project CLIs.  --verify is included for
completeness.

Bug: 1236608

Change-Id: I8a116d790db5aa4cb17a2207efedce7cb229eba3
2013-10-07 18:17:48 -05:00
Dean Troyer
7d138b94ec Remove tenant round 3 - other commands
Mostly options and help strings:
* image, server, project usage, volume

Change-Id: I788b0660f8c2daacde53c20a72dd1afc60cf5159
2013-07-31 10:12:20 -05:00
Dean Troyer
0aa3c206a3 Remove tenant round 1 - global options
Change the global auth options to use 'project', leave the original
tenant options in place but silent for compatability with the existing
project CLI auth options.  This is the only compatibility for tenant
usage in this changeover.

Change-Id: I3cce6e552f18822cc9f445ec5f301b0f5d9003f8
2013-07-31 10:07:50 -05:00
Dean Troyer
dfb0e3e3c1 Begin Python 3 compatability
* use six.iteritems()
* replace basestring with six.string_types
* convert print statements to functions (they're all debugging and should
  be removed eventually anyway)

* clean up OpenStack copyright: LLC -> Foundation

Change-Id: Icb14212bcb408e63816bfec3922a697bc1a6c946
2013-07-29 19:12:29 -05:00
Jenkins
e351991d74 Merge "Change volume manager to volume type, unset property for type" 2013-07-23 15:26:29 +00:00
Jenkins
f175d12247 Merge "Clean up properties (metadata) formatting" 2013-07-23 15:25:26 +00:00
Steve Martinelli
8dd9feb643 Change volume manager to volume type, unset property for type
In the unset method in volume_type, it was calling the volume
manager, instead of the volume_type.

Bug: 1203561
Change-Id: Iea1a9214db90f15815a456955040c0c5a795ff3d
2013-07-21 14:45:22 -05:00
Dean Troyer
818c948752 Clean up properties (metadata) formatting
* Reformat default dict output to key='value' using utils.format_dict()
* Changes utils.get_item_properties() to pass the specific field to
  the formatter function rather than the entire resource object, this
  allows the formatter to handle multiple attributes.
* Updates server, volume, volume type commands

Change-Id: I90eebf6b84ae200532f09cd925f371598ea54a64
2013-07-21 13:59:11 -05:00
Dean Troyer
87104a28d7 Add quota commands
* Add quota set and quota show commands; these work on both
  the compute and volume APIs
* Add the --class variation on the above commands

Note: this replaces the existing volume-only quota commands and eliminates quota list

Blueprint: cinder-client
Bug: 1172064

Change-Id: I766d40e410e48f05e36e17e567a4f01a9411b40e
2013-07-17 15:10:22 -05:00