52 Commits

Author SHA1 Message Date
Brandon Palm
f49f0fead2 Fixed a bunch of spacing
Nothing too complicated here.  I fixed a bunch of spacing issues
that I saw in OSC.

Change-Id: I935ab48e7c5bac5f88ecdb3a05f73fb44fc9f41d
2016-02-23 10:38:58 -06:00
Tang Chen
acc0297fa6 Add functional tests for "volume" commands v2
The tests for v2 "volume" commands are quite similar to v1.

This patch also map 'metadata' to 'properties', 'volume_type' to 'type'
to align to the v1 output.

Change-Id: Icf2c5463b186fc78c890ccd96453090c4a2c2eb6
Partial-bug: #1519503
2016-02-21 09:10:15 +08:00
Tang Chen
35833f7bd8 Fix DisplayCommandBase comments for cliff ShowOne subclass tests
As bug #1477199 describes, the wrong comment below is all over the
unit test code of OSC.

    # DisplayCommandBase.take_action() returns two tuples

There is no such class named DisplayCommandBase in OSC. It is in cliff.

All OSC command classes inherit from the base classes in cliff,
class Command, class Lister and class ShowOne. It is like this:

Object
|--> Command
     |--> DisplayCommandBase
          |--> Lister
          |--> ShowOne

take_action() is an abstract method of class Command, and generally is
overwritten by subclasses.
* Command.take_action() returns nothing.
* Lister.take_action() returns a tuple which contains a tuple of columns
  and a generator used to generate the data.
* ShowOne.take_action() returns an iterator which contains a tuple of
  columns and a tuple of data.

So, this problem should be fixed in 3 steps:
1. Remove all DisplayCommandBase comments for tests of classes inheriting
   from class Command in cliff as it returns nothing.
2. Fix all DisplayCommandBase comments for tests of classes inheriting
   from class Lister in cliff. Lister.take_action() returns a tuple and
   a generator.
3. Fix all DisplayCommandBase comments for tests of classes inheriting
   from class ShowOne in cliff. ShowOne.take_action() returns two tuples.

This patch finishes step 3 in all but identity tests. There are too many
such comments in identity tests. So fix them all in another patch.

Change-Id: I1afe4852069d25d562a9448ec2bf2cff58955052
Partial-bug: #1477199
2016-02-10 13:31:38 +08:00
Tang Chen
43f80505cb Fix DisplayCommandBase comments for cliff Command subclass tests
As bug #1477199 describes, the wrong comment below is all over the
unit test code of OSC.

    # DisplayCommandBase.take_action() returns two tuples

There is no such class named DisplayCommandBase in OSC. It is in cliff.

All OSC command classes inherit from the base classes in cliff,
class Command, class Lister and class ShowOne. It is like this:

Object
|--> Command
     |--> DisplayCommandBase
          |--> Lister
          |--> ShowOne

take_action() is an abstract method of class Command, and generally is
overwritten by subclasses.
* Command.take_action() returns nothing.
* Lister.take_action() returns a tuple which contains a tuple of columns
  and a generator used to generate the data.
* ShowOne.take_action() returns an iterator which contains a tuple of
  columns and a tuple of data.

So, this problem should be fixed in 3 steps:
1. Remove all DisplayCommandBase comments for tests of classes inheriting
   from class Command in cliff as it returns nothing.
2. Fix all DisplayCommandBase comments for tests of classes inheriting
   from class Lister in cliff. Lister.take_action() returns a tuple and
   a generator.
3. Fix all DisplayCommandBase comments for tests of classes inheriting
   from class ShowOne in cliff. ShowOne.take_action() returns two tuples.

This patch finishes step 1 in all but identity tests. There are too many
such comments in identity tests. So fix them all in another patch.

Change-Id: I9849baa8141ea8af2042a69afd540b77ce6ae6bd
Partial-bug: #1477199
2016-02-09 18:27:48 +08:00
Jenkins
b861d21d14 Merge "Refactor TestVolumeCreate to use FakeVolume" 2016-02-04 05:30:03 +00:00
Jenkins
78d51125ac Merge "Fix wrong type of volume attachments in FakeVolume" 2016-02-03 22:45:49 +00:00
Tang Chen
e0969655ac Trivial: Reorder test class in test_volume.py into alphabetical order
TestVolumeDelete should be after TestVolumeCreate.

Change-Id: I764543a0e0723633aec6b18c2d50a01931465e6b
2016-02-03 12:04:34 +08:00
Tang Chen
d324aa652b Fix wrong type of volume attachments in FakeVolume
The volume attachments should be a list of dict, not a single dict.

Change-Id: I3cec62bcb3953e4f38f9d3dd23f3eb6ef984464c
2016-02-02 23:47:23 +08:00
xiexs
aba3fd9689 Refactor TestVolumeCreate to use FakeVolume
Class FakeVolume should be used in volume tests.

Change-Id: Idf7d3e2a0654cd7d7993f169c4743b1d38902f1b
Implements: blueprint improve-volume-unittest-framework
Co-Authored-By: Tang Chen <chen.tang@easystack.cn>
2016-02-02 23:21:08 +08:00
Jenkins
ee78fb2f78 Merge "Support listing volume availability zones" 2016-01-22 19:23:20 +00:00
SaiKiran
604d8589ee Refactor: Abstract columns and datalist out in volume test cases
columns and datalist has been set in each test case in volume,
which is not necessary. This patch abstract it out and remove
all redundant code.

Change-Id: I3a09d5d2db86da986bdcfbf2310978ced181017d
2016-01-20 10:49:43 +05:30
Richard Theis
a8ec2ac494 Support listing volume availability zones
Update the "os availability zone list" command to support listing
volume availability zones along with the currently listed compute
availability zones. This adds a --compute and --volume option to
the command in order to select the availability zones to list. By
default, all availability zones are listed.

If the Block Storage API does not support listing availability
zones then an warning message will be issued.

Change-Id: I8159509a41bd1fb1b4e77fdbb512cf64a5ac11a9
Closes-Bug: #1532945
2016-01-14 15:47:19 -06:00
xiexs
6e747629ad Add multi deletion testcase for openstack volume delete
Change-Id: Id8e6e8311e46e4c8644d41d773aeb27416ca6a7e
2015-12-02 16:02:10 +08:00
Jenkins
cb73e781e0 Merge "Introduce FakeVolume class" 2015-12-01 04:20:45 +00:00
Jean-Philippe Evrard
9168373b3d Consistency of the --all argument for snapshots
This change is inspired by the volume.py.
It allow the user to use openstack snapshot list --all.

Closes-Bug: #1517386

Change-Id: I72a53fcd0c5c5af539cd88b37e71b4331fa67473
2015-11-30 12:54:19 +00:00
xiexs
31c6957362 Introduce FakeVolume class
Introduce FakeVolume to improve the current volume unittest framework
with following two advantages:
1. generate more than one faking volumes
2. all faking volumes generated by random

Change-Id: I9d56efa4fd4f03c82cd4e29622b6312566dbc453
Implements: blueprint improve-volume-unittest-framework
2015-11-30 04:23:47 -05:00
Xi Yang
d1a58653ab Use is_public to set access of volume type
Currently the 'public' and 'private' keys does not work
when creating volume type, 'is_public' should be used.

Change-Id: If34a66053ea6c192882a1b9d8bbb1d3666be3f83
Closes-bug: 1520115
2015-11-26 16:30:05 +08:00
Dean Troyer
195a0edeb7 Follow-on for volume list - add tests, clean help
* Add volume list tests for v1 (a copy of the v2 tests)
* Converts volume v2 tests to use Identity v3 so domains can be tested
* Add volume list (v2) tests for new options
* Re-orders volume list options (both v1 and v2) to match
* MArks the new volume list (v2) options as v2-only in doc

Change-Id: I2181b2c48cfde2147d7d0ef135322df8a81e7ce8
2015-10-16 16:08:27 -05:00
TerryHowe
14a714f2a2 Volume v2 list does not show server name
The volume v2 list was using the volume id rather than
the server id.

Change-Id: Ibe03d34b5b503af2d00202dabd640f796449cf9a
Closes-Bug: #1489954
2015-08-28 11:11:37 -06:00
Jenkins
35833c94ef Merge "Add set feature to volume type v2" 2015-08-07 05:00:18 +00:00
heha
429ceef0c6 Add set feature to volume type v2
"volume type set" and "volume type unset" is not in the v2.

Co-Authored-By: Lin Hua Cheng <os.lcheng@gmail.com>

implements bp: volume-v2

Change-Id: Ia804787d76d2029726c030b43c61eac3b411f66a
2015-08-06 19:35:01 -07:00
heha
dc6fe04895 Add list feature to volume v2
"volume list" is not in the v2.

Co-Authored-By: Lin Hua Cheng <os.lcheng@gmail.com>

implements bp: volume-v2

Change-Id: I9f4585202f5f9ec5f4c091278fc6c4036efb1290
2015-08-06 17:02:46 -07:00
Amey Bhide
96afb8b1b7 Add support for volume v2 commands
Adds the following commands:
openstack volume create
openstack volume set
openstack volume unset

Implements: blueprint volume-v2
Change-Id: Icb7404815763aa88550112fb42f5200ce05c2486
2015-07-24 13:16:38 -07:00
Jenkins
26ea98b30e Merge "Add create and list for volume type v2" 2015-07-20 22:28:10 +00:00
chengkunye
659abf4928 Add create and list for volume type v2
Volume API v2 is missing create and list features.

implements bp: volume-v2

Change-Id: I34a1ae440e9620b1c65546f4f43b369c8661250d
2015-07-20 12:59:57 -07:00
Steve Martinelli
a6d5f3f94c Format volume type properties when showing
Currently, the properties of a volume type are unformatted.
Use the formatter to keep things consistent with the way
properties are represented in OSC.

Change-Id: I81c6bd3fdbc30568c269e501c740473b2a1ffb4e
2015-07-19 17:36:34 -07:00
TerryHowe
abfb011527 Support multiple volume qos delete
Also make sure that we are using the singular qos_spec when
we should and the plural qos_specs otherwise.

Change-Id: If4bbeb6fc245d7d80dc3d7dccfe9f949e802653c
2015-07-17 14:14:56 +00:00
lin-hua-cheng
f807f0a66e Fix wrong mock method call
There is no assert_called() method in mock, replace it with
assert_called_with() method. The old method used to work with
mock 1.0.1 because it was a noop in magicmock.

Needs https://review.openstack.org/#/c/200583 to pass the requirements check.

https://review.openstack.org/#/c/193935/ changed the OS_* vars
we source by forcing v2password as the auth method.
change our identity v3 test setup by setting v3password

Co-Authored-By: Steve Martinelli <stevemar@ca.ibm.com>

Closes-Bug: 1473454

Depends-on: I0cfab6d13e5d9e744cb302c86a2c21269923e75d

Change-Id: Id22765c7e044797e03d19ad1b103fadec2726aa2
2015-07-11 18:57:20 -04:00
Jenkins
50a80ab97e Merge "Add tests for 'list' and 'show' for volume qos v1" 2015-07-01 19:40:43 +00:00
Jenkins
730b26e349 Merge "Add support for volume API v2 QoS commands" 2015-06-30 20:43:15 +00:00
David Moreau Simard
974c9d5793 Add support for volume API v2 QoS commands
This commit adds the following commands:
  volume qos associate
  volume qos create
  volume qos delete
  volume qos disassociate
  volume qos list
  volume qos set
  volume qos show
  volume qos unset

Change-Id: If3c679557ac9abb0dfc75d290b96fb9c8d46c7b7
Partial-Bug: #1467967
2015-06-29 17:24:35 -04:00
David Moreau Simard
4d832e7beb Add tests for 'list' and 'show' for volume qos v1
Change-Id: I1b4d998f3ec1bd5cb8dd4c9e0d04fd3b3049e9d7
2015-06-29 17:15:31 -04:00
David Moreau Simard
1051a46944 Alphabetize tests for v1 qos_specs
As a follow up of sorting the methods for volume v1
qos_specs.

Change-Id: I428167297e7110e586d139bf38fd22d321836e80
2015-06-29 12:25:30 -04:00
David Moreau Simard
7bb038c4a7 Add support for volume API v1 QoS commands
This commit adds the following commands:
  volume qos associate
  volume qos create
  volume qos delete
  volume qos disassociate
  volume qos list
  volume qos set
  volume qos show
  volume qos unset

Change-Id: I72ea1b9a4d0bd0e35eda03071ea438b75439fce9
Partial-Bug: #1467967
2015-06-26 23:19:08 -04:00
Jenkins
6147409c7d Merge "Add support for volume backup v2 command" 2015-06-18 19:53:06 +00:00
Amey Bhide
2fce863411 Add support for volume backup v2 command
openstack backup create
openstack backup list
openstack backup restore

Implements: blueprint volume-v2
Change-Id: I77965730065dd44f256c46bcc43c1e6a03b63145
2015-06-04 17:34:50 -07:00
Amey Bhide
c88b433abb Add support for volume snapshot v2 command
openstack snapshot create
openstack snapshot set
openstack snapshot unset
openstack snapshot list

Implements: blueprint volume-v2
Change-Id: Ia1d9f4426baa0099281a9931f4eec99ebe1969b1
2015-06-04 20:13:19 +00:00
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
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
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
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
Terry Howe
dc68d3f5cf assertEquals order wrong
Change-Id: I822b6ac5b8e8c3009d1ee2d647376eff84559c11
Partial-Bug: #1277104
2014-09-04 14:47:28 +00:00
wanghong
ddb7e18974 test_find_resource fails if run alone
Currently, we set 'NAME_ATTR' attribute for Volume and Snapshot
class in volume.client.py. When we test test_find_resource alone,
the Volume and Snapshot class do not have 'NAME_ATTR' attribute since
we do not import volume.client, which causes the tests to fail.

Change-Id: I06f727ffa8d37afe1a1191c36574887fecc7a733
Closes-Bug: #1353788
2014-08-07 13:22:25 -04:00
Dean Troyer
11f3654f6e Fix PEP8 E265 errors
Change-Id: Ieb9a9af1da27d3935d1a4d3cfb61b0ccb03d099a
2014-06-27 09:12:55 -05: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
Matt Fischer
4ae4dc35bd Add support for extension list
- Add support in the common section for extension list. This only
   supports Identity for now. Once the APIs for volume and compute
   are supported in the respective APIs, they will be added. Once
   network is added to this client, it will be added (the API already
   supports it).
 - Include extension fakes for volume and compute for pre-enablement.

Change-Id: Iebb0156a779887d2ab06488a2a27b70b56369376
Closes-Bug: #1319115
2014-06-11 13:40:30 -06: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
Shane Wang
8aa0b07fbc Fix misspellings in python openstackclient
Fix misspellings detected by:
* pip install misspellings
* git ls-files | grep -v locale | misspellings -f -

Change-Id: Ic0d3efa26eb9a05ce16a8319c142f5bd1ce23821
Closes-Bug: #1257295
2014-02-07 13:26:48 +08: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
Dean Troyer
6460f1eb35 Complete basic test infrastructure
This finally gets all of the API tests into a common framework regarding
test classes and so forth.

Change-Id: If675347129c50dcba0bfc5b6c58f5a2ca57ff46c
2013-11-18 22:11:10 -06:00