Commit graph

77 commits

Author SHA1 Message Date
Jenkins
2402dcfc35 Merge "Refactor TestVolumeShow with FakeVolume" 2016-05-24 23:30:56 +00:00
Huanxuan Ao
5f69894753 Add FakeType class and update volumetype test in VolumeV2
This patch adds FakeType class and update unit tests for
volume type with FakeType class

Change-Id: I86ecc68dd1a1e919f3325cd9456974a0cfadbe61
2016-05-23 14:16:39 +08:00
Huanxuan Ao
dc71d16529 Add FakeSnapshot class and update snapshot test in VolumeV2
Add FakeSnapshot class and update unit tests for snapshot
commands with the FakeSnapshot class.

Change-Id: If039a48b9d5f8430cc3d041b8c7ec30af8ff0e03
2016-05-21 17:34:04 +08:00
Jenkins
7a0845ec11 Merge "Add support of setting snapshot state" 2016-05-18 16:49:07 +00:00
ting.wang
0fa2e8df92 Refactor TestVolumeShow with FakeVolume
In the meantime, add some static methods in FakeVolume for ease of use
and add info() method with "property" decorator in FakeResource to allow
those static methods to get fake information.

Change-Id: I98ad520f32afd529fda77a4592f645130282537f
Co-Authored-By: xiexs <xiexs@cn.fujitsu.com>
Implements: blueprint improve-volume-unittest-framework
2016-05-17 20:14:18 +08:00
Huanxuan Ao
4956c354b2 Add FakeBackup class and updata backup unittest in volumeV2
Change-Id: I39762bedaeaaf1894f48912ca1b7d59ab50f9f78
2016-05-17 09:58:05 +08:00
ting.wang
553e154960 Refactor TestVolumeList with FakeVolume
Change-Id: Idbe7ee1d9688ea5937852cce1a746016bf98fa74
Co-Authored-By: xiexs <xiexs@cn.fujitsu.com>
Implements: blueprint improve-volume-unittest-framework
2016-05-11 17:25:48 +08:00
Jenkins
941217a5f3 Merge "Support for volume service list" 2016-04-28 16:13:46 +00:00
Sheel Rana
4072554608 Support for volume service list
OSC does not support to list volume services.
This patch will provide support for adding volume service related
support.

Closes-bug:#1550999

Implements: bp cinder-command-support

Change-Id: I50ac14aeb96c4b8ddbf7b33e519feea0d126f752
2016-04-25 17:42:12 +00:00
Tang Chen
09c20b2b5c Fix mutable default arguments in tests
Python’s default arguments are evaluated only once
when the function is defined, not each time the
function is called. This means that if you use a
mutable default argument (like list and dict) and
mutate it, you will and have mutated that object
for all future calls to the function as well.

More details about this wrong usage here:
http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments

In unit tests, most FakeXXX classes' methods take
mutable arguments with default values [] or {}.
We should change them to None.

Change-Id: Iea833b66aa1379829511ad5c6d4432b72f3488e2
Closed-bug: #1550320
2016-04-20 11:15:17 +08:00
Tang Chen
cc3a062529 Remove methods argument from vloume/v2/fakes.py
methods argument in FakeAvailabilityZone class
is not necessary. Remove it.

Change-Id: Idf136bf90bd94e7045b0d471b8e03cd843693251
2016-04-18 15:20:17 +08:00
Sheel Rana
92950b6f5f Add support for removing volume-type-access
OSC does not support to remove volume type access to project.
This feature will provide support to remove volume type access
from project.

Closes-Bug:#1554890

Implements: bp cinder-command-support

Change-Id: I029a4292da05f028e8937962cb845ec6e00b0279
2016-04-16 23:01:19 +05:30
Jirayut Nimsaeng
e128370676 Fix wrong attribute name and add functional test for --snapshot
Change-Id: I91f2091ef06a55bcf5373d1beeea2dd81e9f1334
Closes-Bug: #1567895
2016-04-15 16:13:02 +00:00
Jenkins
85c47b76fb Merge "Add support for setting volume-type-access" 2016-04-12 22:27:07 +00:00
Sheel Rana
be2d2a1b8d Add support for setting volume-type-access
OSC does not support to set volume type access to project.
This patch will provide support for adding volume type access
to existing project.

Closes-Bug:#1554889

Implements: bp cinder-command-support

Change-Id: Ie36e202bdde7de36eb263a476eb66699d82f7565
2016-04-11 12:53:15 +00:00
Jenkins
418793edbe Merge "Make snapshot and backup name optional" 2016-04-07 16:20:49 +00:00
Ivan Kolodyazhny
311e775c81 Make snapshot and backup name optional
Cinder does not require snapshot and backup name. These arguments are
optional.

Change-Id: I05d59efc9642205a25684bf0b77758328296d959
2016-04-06 23:25:38 +03:00
root
9bafea555d Add support for deleting Image-property
OSC does not support to delete volume's image property.
This patch will provide support for deleting image property
to existing volume.

Closes-Bug:#1554879
Change-Id: I9256913948fae9e9a03fed173b826dfa918f78e9
Implements: bp cinder-command-support
2016-03-16 10:22:00 -04:00
root
4d5c5d9dcb Add support for setting Image-property
OSC does not support to set volume's image property.
This patch will provide support for adding image property
to existing volume.

Closes-Bug:#1554877

Implements: bp cinder-command-support

Change-Id: I4ff5532c228f010789b81c7587dd4a2838a90f20
2016-03-16 14:17:34 +00:00
Fang Zhen
4208f02a20 Enhance list extension unit test
Extension list involves identity, compute, volume and network.
Current test covers only identity and network. This patch added test
against compute and volum. Also refactored current implentation.

Change-Id: If9b36cba24c50a817a17f685801e418fb898596a
2016-03-11 10:39:15 +08:00
Xi Yang
189e4774f8 Add support of setting snapshot state
This patch is going to add the functionality of
setting snapshot state which OSC currently lacks.

Closes-Bug:#1535239
Change-Id: I2afd6567416e75ba0c70b73351cf1eb5394b3373
2016-03-09 00:13:55 +08:00
Tang Chen
eb1574281b Test take_action() instead of run() in unit tests
Some of the unit tests test run(), but not take_action().

For example, in openstackclient/tests/volume/v1/test_volume.py, there is:

    def test_volume_set_size_smaller(self):
        ......

        result = self.cmd.run(parsed_args)

        self.assertEqual(0, result)
        ......

run() is defined in class Command in cliff. We don't need to test it in OSC
unit tests. On the contrary, we should test take_action(), which is
overwritten in each command classes in OSC.

Change-Id: If07e89953d40ac530f08cbb1ec05f5805171364b
Closes-bug: #1553468
2016-03-05 17:12:42 +08:00
Tang Chen
b58dd4f17f [Volume] Check return value is None in volume unit tests
take_action() in commands inheriting from Command returns nothing.
So we should assert the return is None in the unit tests of these
commands.

Change-Id: Idd961a5fa3db825353700837a559621d17f782c5
Partial-Bug: #1550636
2016-03-03 21:07:08 +08:00
Tang Chen
f2ef9f2044 Trivial: Reorder unit tests in alphabetical order in volume tests
Change-Id: I622123f68e2bb53f8767069e4a717fcc34e37b5c
2016-03-02 16:48:16 +08:00
Tang Chen
a253217fc2 Trivial: Reorder unit tests in test_type.py
Unit test classes should be in alphabetical order.

Change-Id: Ie741e1c170d8cc361d95d036115d0952e5108088
2016-02-29 16:58:14 +08:00
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