1351 Commits

Author SHA1 Message Date
Tang Chen
e1feed5221 Trivial: Fix "abstractmethod" to "abstract method"
As Richard <rtheis@us.ibm.com> has pointed out, "abstractmethod"
should be "abstract method". This is a small typo I have made
when I fix DisplayCommandBase comment bug.

Change-Id: I84f1a3158896257686a0a7efa1123eef1b85139f
Partial-bug: #1477199
2016-02-10 19:01:52 +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
e69b88ef52 Fix DisplayCommandBase comments for cliff Lister 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 2 in all but identity tests. There are too many
such comments in identity tests. So fix them all in another patch.

Change-Id: I00f38d12f55abe20fa708f6349073da658622f8d
Partial-bug: #1477199
2016-02-09 20:28:18 +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
624c39ab1b Merge "Compute: Fix DisplayCommandBase comments for cliff ShowOne subclass tests" 2016-02-08 16:21:01 +00:00
Jenkins
f781349974 Merge "Compute: Fix DisplayCommandBase comments for cliff Lister subclass tests" 2016-02-08 08:25:39 +00:00
Jenkins
124f21d0a3 Merge "Compute: Fix DisplayCommandBase comments for cliff Command subclass tests" 2016-02-08 08:25:32 +00:00
Jenkins
3d04c78cb9 Merge "Add unit tests for "hypervisor show" command" 2016-02-08 08:10:03 +00:00
Tang Chen
fc708c4991 Add unit tests for "hypervisor show" command
Change-Id: Ib75e5eb5b197e9d58fb87a595a43b8774b7b1987
2016-02-07 02:38:09 +08:00
Tang Chen
23faa33b1b Compute: 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 compute tests.

Change-Id: I4df224ec82b5d82a3d6d3f366c0f68a7ea0d87cd
Partial-bug: #1477199
2016-02-06 10:47:56 +08:00
Tang Chen
3c67e8dd6e Compute: Fix DisplayCommandBase comments for cliff Lister 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 2 in compute tests.

Change-Id: Idc54ad21eaa1371ebd601327b8d962c7039f2de0
Partial-bug: #1477199
2016-02-06 10:30:34 +08:00
Tang Chen
b9de23d906 Compute: 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 compute tests.

Change-Id: I99ab42a7de69af0e5de802a1bb5aac647245a200
Partial-bug: #1477199
2016-02-06 09:34:51 +08:00
Tang Chen
90a4cf23aa Remove identity_client.projects definition in TestSecurityGroup
projects mock has been defined in FakeIdentityv2Client as
tenants, and in FakeIdentityv3Client as projects. No need
to define them again.

Change-Id: Ieb97b32d7be6bd95c8621092b218ebfd8bc5b78d
2016-02-06 08:44:05 +08:00
Tang Chen
1740218728 Define security_group_rules mock in FakeComputev2Client
security_group_rules mock should be defined in
FakeComputev2Client, and used in each test class.

Change-Id: I44bb6379b2c1b6cb277296e08e25dd4d7255c276
2016-02-06 08:43:55 +08:00
Tang Chen
553631a5d4 Move security_groups mock definition to FakeComputev2Client
All compute client related mocks should be defined in
FakeComputev2Client.

Change-Id: Ie75385af772ca23286c4cf131d3d54cc14f20a30
2016-02-06 08:43:01 +08:00
Jenkins
fb4240a4b5 Merge "Add support for triggering an crash dump" 2016-02-05 22:49:36 +00:00
Jenkins
546398c14b Merge "Add recursive object delete for containers" 2016-02-05 22:49:33 +00:00
TerryHowe
514a168656 Add recursive object delete for containers
Change-Id: Ib291e79864c218464e842a08efd3742193ba5ff0
2016-02-05 11:18:46 -07:00
xiexs
6b3583ab06 Add support for triggering an crash dump
The triggering crash dump feature is supported by nova [1] and
novaclient [2] now, it's time to introduce this feature into
OSC correspondingly.

[1]The change id is: I6ed777ff637254b4b79417008f9055dd19fc7405
[2]The change id is: If03b1864bbe7074c720b946fc2700bd5d07debc3

Change-Id: I5a411f283fdf0fc3c00380d069848a332c799cdd
Closes-Bug: #1538372
Co-Authored-By: Tang Chen <chen.tang@easystack.cn>
2016-02-05 21:48:41 +08:00
Tang Chen
05b18749ef Add unit tests for "hypervisor list" command
There is no unit tests for "hypervisor" command. This patch
introudces a new class FakeHypervisor to fake one or more
hypervisors, and a base class TestHypervisor. Also adds
hypervisors mock to fake compute client.

And also, this patch adds unit tests for "hypervisor list"
command.

Change-Id: I18733eae1a8f4fff72e830d9a060fb8f0f58fbf5
2016-02-05 21:40:28 +08:00
Jenkins
42b607edf1 Merge "Use assert_not_called() in common tests" 2016-02-04 22:56:57 +00:00
Jenkins
b861d21d14 Merge "Refactor TestVolumeCreate to use FakeVolume" 2016-02-04 05:30:03 +00:00
Jenkins
95263a0b8c Merge "Minor typo in help text" 2016-02-04 00:43:09 +00:00
Jenkins
48697de28f Merge "Support listing network availability zones" 2016-02-04 00:40:09 +00:00
Jenkins
e4c0d8583d Merge "Allow wait_for_delete to work for all clients" 2016-02-04 00:39:47 +00:00
Jenkins
78d51125ac Merge "Fix wrong type of volume attachments in FakeVolume" 2016-02-03 22:45:49 +00:00
Dean Troyer
38ff51baef Use assert_not_called() in common tests
In https://review.openstack.org/#/c/273653/ Bryan Jones made
a point about using mock_sleep.assert_not_called() rather than
self.assertFalse(mock_sleep.called), so let's make that change
throughout these tests.

Change-Id: I826d608836955383891b303355edcca7b62faa16
2016-02-03 15:47:07 -06:00
Jenkins
7903e53971 Merge "Refactor security group delete to use SDK" 2016-02-03 21:01:31 +00:00
Jenkins
3763d75dba Merge "Network: Abstract get_body() out to be a private helper." 2016-02-03 21:01:23 +00:00
Jenkins
65f8845ea8 Merge "Add "os port show" command" 2016-02-03 21:01:17 +00:00
Jenkins
66df8d1413 Merge "Add availability zone support for router commands" 2016-02-03 21:00:48 +00:00
Jas
962389f404 Minor typo in help text
fix misspelled 'project' in router-create help text

Change-Id: I4874563c0dd7ca35ef153cf24b99e357c0c076b9
2016-02-03 14:38:04 -06:00
Jenkins
ca1eeaf207 Merge "Fix a spell typos" 2016-02-03 14:29:20 +00:00
Jenkins
0d8b986ddb Merge "Add --marker option to "image list" command" 2016-02-03 11:38:06 +00:00
Jenkins
feb71897fb Merge "Add limit option to "image list" command" 2016-02-03 11:34:25 +00:00
Jenkins
34e4e1ac3e Merge "Remove marker and loop from "image list" command" 2016-02-03 11:34:19 +00:00
venkatamahesh
65007432dc Fix a spell typos
Change-Id: I422fc8086af83efa4c04fd1951b4738404c1a1b7
2016-02-03 15:47:25 +05:30
Tang Chen
499369329c Add --marker option to "image list" command
Users could specify the last image (name or ID) of the previous page with
--marker option to control the start image of the output.

Change-Id: Idca0235ee83b1226b00c89cf3d38500fa898b7d0
Closes-Bug: #1540988
2016-02-03 14:04:50 +08:00
xiexs
5812803865 Add limit option to "image list" command
This option is quite useful if there are too many images.

Change-Id: If6a901c27c5da2d1f4412e8fa9ba3bed3b72fdd9
Co-Authored-By: Tang Chen <chen.tang@easystack.cn>
Partial-Bug: #1540988
2016-02-03 13:42:57 +08:00
Tang Chen
0b6fdcbe4c Remove marker and loop from "image list" command
Since --page-size has never worked, there is no paginate logic needs
to be implemented in "image list" command. So remove the unnecessary
loop.

And also, the marker is not necessary because --marker option has not
been implemented. Will add it back when implementing --marker option.

Change-Id: I71fea1502f92f447a49697edb52e8e82f336772f
Partial-Bug: #1540988
2016-02-03 13:42:49 +08: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
Jenkins
4b2c66447d Merge "Drop log_method decorator" 2016-02-02 21:21:30 +00: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
Richard Theis
580b0aff88 Refactor security group delete to use SDK
Refactored the 'os security group delete' command to use the SDK
when neutron is enabled, but continue to use the nova client when
nova network is enabled.

This patch set introduces a new NetworkAndComputeCommand class
to be used for commands that must support neutron and nova network.
The new class allows both the parser and actions to be unique.
The current DeleteSecurityGroup class is now a subclass of this
new class and has moved under the network v2 commands.

This patch set also introduces a new FakeSecurityGroup class for
testing security groups.

And finally, this patch set updates the command documentation
for security group and security group rule to indicate that
Network v2 is also used.

Change-Id: Ic21376b86b40cc6d97f360f3760ba5beed154537
Partial-Bug: #1519511
Related-to: blueprint neutron-client
2016-02-02 09:04:51 -06:00
Richard Theis
981621e984 Add "os port show" command
Add "os port show" command.

Change-Id: Id87c81640e74c60ae8f247c722c64fdadff022a2
Partial-Bug: #1519909
Partially-Implements: blueprint neutron-client
2016-02-02 08:40:05 -06:00
Richard Theis
4d332defbc Support listing network availability zones
Update the "os availability zone list" command to support listing
network availability zones along with the currently listed compute
and volume availability zones. This adds the --network option to
the command in order to only list network availability zones. By
default, all availability zones are listed. The --long option
was also updated to include a "Zone Resource" column which is
applicable to network availability zones. Example zone resources
include "network" and "router".

If the Network API does not support listing availability zones
then a warning message will be issued when the --network option
is specified.

This support requires an updated release of the SDK in order
to pull in [1].

[1] https://bugs.launchpad.net/python-openstacksdk/+bug/1532274

Change-Id: I78811d659b793d9d2111ea54665d5fe7e4887264
Closes-Bug: #1534202
2016-02-02 08:08:25 -06:00
Tang Chen
f36177ebdd Trivial: Fix wrong comment in test_image.py
Code in test_image.py has nothing to do with server.

Change-Id: Ia73d7b99effb394c5db9635fee6da350b0b1086b
2016-02-02 15:22:40 +08:00
Jenkins
e628d5202c Merge "Consume openstackclient.common.command in subnet/port" 2016-02-02 06:31:02 +00:00
Tang Chen
a83c1f0a42 Network: Abstract get_body() out to be a private helper.
get_body() is needed in each network files to construct a dict
to pass to sdk proxy. And it is also used by several functions
in each file. So define it as a file level private helper function.

The unified prototype should be:

    def _get_attrs(client_manager, parsed_args):

1. The name, in sdk, the parameter passed to proxy is named "attrs".
   And it is a private method. So let's call it _get_attrs().
2. The parameters, besides parsed_args, when we deal with project
   and project_domain, we have to make use of identity_client. So
   let's pass in the client manager.

Change-Id: Ib044ebd4ddedbcd805f46334a7fe99e4ebb5b249
2016-02-02 13:58:43 +08:00