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
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
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
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>
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
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
This change is inspired by the volume.py.
It allow the user to use openstack snapshot list --all.
Closes-Bug: #1517386
Change-Id: I72a53fcd0c5c5af539cd88b37e71b4331fa67473
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
Currently the 'public' and 'private' keys does not work
when creating volume type, 'is_public' should be used.
Change-Id: If34a66053ea6c192882a1b9d8bbb1d3666be3f83
Closes-bug: 1520115
* 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
"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
"volume list" is not in the v2.
Co-Authored-By: Lin Hua Cheng <os.lcheng@gmail.com>
implements bp: volume-v2
Change-Id: I9f4585202f5f9ec5f4c091278fc6c4036efb1290
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
Also make sure that we are using the singular qos_spec when
we should and the plural qos_specs otherwise.
Change-Id: If4bbeb6fc245d7d80dc3d7dccfe9f949e802653c
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
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
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
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
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
- 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
This makes it consistent with the other --type options in OSC. Also
add a few more volume_create tests.
Change-Id: I50ef927932cabf157ecdfd6c4faa1914b4fdf413
This finally gets all of the API tests into a common framework regarding
test classes and so forth.
Change-Id: If675347129c50dcba0bfc5b6c58f5a2ca57ff46c