216 Commits

Author SHA1 Message Date
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
Akihiro Motoki
258c1102cc log take_action parameters in a single place
Previously each command logs take_action parameters explicitly
by using @utils.log_method decorator or log.debug().
Some commands have no logging.

This commit calls a logger in the base class and
drops all logging definition from individual commands.

Closes-Bug: #1532294
Change-Id: I43cd0290a4353c68c075bade9571c940733da1be
2016-02-02 09:58:32 +09:00
Jenkins
09be6a439a Merge "Refactor "os availability zone list"" 2016-01-22 19:22:42 +00:00
Akihiro Motoki
50d54bb007 log_method: get logger from decorated method if unspecified
This commit makes 'log' optional.
'log' attribute of each command class does not exist
when the class is defined because 'log' is now setup
dynamically when a class is instantiated. Instead log_method
looks for a logger from a decorating method.

compute.v2.server is changed in this commit as an example.

Change-Id: Ic4d128f8e027d3b8e6f884f31369e9085c0f0871
Partial-Bug: #1532294
2016-01-20 22:02:19 +09:00
Akihiro Motoki
0e6b86ad94 Set up logger of each command by metaclass
compute.v2.flavor is changed in this commit as an initial example.

Partial-Bug: #1532294
Change-Id: I262af6ade0ae03fbe1cd2ad198faf4ebb4ecf7ce
2016-01-20 22:02:19 +09:00
Jenkins
aa041c5269 Merge "Make --image parameter optional in "server rebuild"" 2016-01-15 17:44:01 +00:00
Richard Theis
84174440fc Refactor "os availability zone list"
Refactor the "os availability zone list" command to make it a common
command instead of a compute-only command. Since availability zones
are common to compute, volume and network (new), this refactoring
allows availability zone support to be added for volume and network.

In addition to the refactor, unit and functional tests were added.

Change-Id: I63e9d41d229b21cd38e5a083493042c096d65e05
Partial-Bug: #1532945
2016-01-14 11:43:31 -06:00
Jenkins
fa3077d51a Merge "Refactor network endpoint enablement checking" 2016-01-14 00:45:04 +00:00
Richard Theis
5ff660f718 Further improve output for "os security group show"
Improve the security group rules output when running the
"os security group show" command. Empty and duplicate
information for each security group rule is now removed.
This will ensure that the rules remain readable when
direction and ethertype information is returned as part
of the transition to neutron networking.

Change-Id: Ib49c27a9d7f4d5d38ceb2b0d785ddf94d88b2d89
Partial-Bug: #1519511
Related-To: blueprint neutron-client
2016-01-06 08:21:57 -06:00
Jenkins
401164939e Merge "Add support to list all security group rules" 2016-01-04 21:41:06 +00:00
Richard Theis
57dac0bc3a Refactor network endpoint enablement checking
Move the network endpoint enablement checking from the 'server create'
command to the common client manager. This allows future network
commands to use either nova or neutron networking based on the cloud
environment.

This patch set also includes related unit test enhancements to the
common client manager to trigger authentication on the tests.

Change-Id: Ia37e81d4fb05a1e2fceb3e5d367bda769ab8e64b
Related-Bug: #1519511
Related-to: blueprint neutron-client
2016-01-04 13:49:49 -06:00
Rushi Agrawal
eeeb9f729f Docstring should say 'default' if option is default
Change-Id: I59d83e7a0a590fa537f509f7f19940640f555679
2015-12-31 09:36:26 +05:30
Richard Theis
0e38ef8484 Improve output for "os security group show"
Improve the security group rules output when running the
"os security group show" command. Each security group rule
is now displayed on a separate line.

Current output example:
$ openstack security group show default
+-------------+------------------------- ... ---+
| Field       | Value                    ...    |
+-------------+------------------------- ... ---+
| description | Default security group   ...    |
| id          | 048a5fc3-3be1-407d-ae47-9...    |
| name        | default                  ...    |
| project_id  | 3b96bb2020c1459da76963f9e...    |
| rules       | [u"id='5d812367-9829-4340...t"] |
+-------------+------------------------- ... ---+

New output example:
+-------------+------------------------- ... ---+
| Field       | Value                    ...    |
+-------------+------------------------- ... ---+
| description | Default security group   ...    |
| id          | 048a5fc3-3be1-407d-ae47-9...    |
| name        | default                  ...    |
| project_id  | 3b96bb2020c1459da76963f9e...    |
| rules       | id='5d812367-9829-4340-95...lt' |
|             | id='ee451d1c-ade3-4975-8e...lt' |
+-------------+------------------------- ... ---+

Change-Id: I1386075310896c58a2b776e2bbec3603bd00eff1
Partial-Bug: #1519511
Related-To: blueprint neutron-client
2015-12-23 13:44:22 -06:00
Jenkins
b220f4b667 Merge "Remove list output from "compute service set"" 2015-12-18 21:40:22 +00:00
Richard Theis
96cc5eb354 Add support to list all security group rules
Both nova and neutron allow security group rules to be listed without
specifying the owning security group. This patch set makes the
group argument on 'os security group rule list' optional. Behavior
is unchanged when the argument is specified. When the argument is
not specified then all accessible security group rules will be listed.
The listing will include the owning security group for each rule.

Change-Id: I6914baecf70a65354e1e82dad92c6afbd32b4973
Related-Bug: #1519512
2015-12-17 12:49:13 -06:00
Jenkins
251939fb36 Merge "Trivial: Remove useless return from files in compute." 2015-12-16 14:56:41 +00:00
Tang Chen
494659fbe4 Trivial: Remove useless return from files in compute.
Change-Id: I9dc6749256fcd53d292d7f658912c032e9ce9df5
2015-12-17 09:34:12 +08:00
Richard Theis
079123bb0b Remote security group name not displayed for rule
The 'security group rule list' command was updated to display the
remote security group name for a security group rule. This was done
via a new 'Remote Security Group' column. The output of the
'security group rule create' and 'security group show' commands was
also updated to include 'remote_security_group' information instead
of the raw 'group' information returned from the API layer.

Change-Id: I5f9600338c8331966d2c658109a24b502c538106
Closes-Bug: #1520003
2015-12-14 14:48:19 -05:00
Jenkins
785caf503f Merge "Add source security group support to create rule" 2015-12-11 17:40:11 +00:00
David Moreau Simard
a526777218 Make --image parameter optional in "server rebuild"
The command will now default to the image currently in-use by
the server, effectively making the --image parameter optional.

This commit also adds basic tests for ServerRebuild since there
wasn't any. Will add more full tests for it.

Change-Id: I733fd3ad5a825f06563c72aa430122e1a0e3b3b0
Closes-bug: #1524406
Co-Authored-By: David Moreau Simard <dms@redhat.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
2015-12-11 15:34:26 +08:00
Terry Howe
7aa6e5e36c SDK integration extensions and server create networks
Finish up the SDK integration with server create network and port
find and extension list.

Change-Id: I18dbada784d8aa92a45a937f251023ddf899c53e
2015-12-09 11:39:20 -07:00
Richard Theis
566388ab1e Add source security group support to create rule
The 'security group rule create' command was updated to support a
source security group. Now either a source IP address block or source
security group can be specified when creating a rule. The default
remains the same.

Change-Id: If57de2871810caddeeaee96482eb34146968e173
Closes-Bug: #1522969
2015-12-07 12:42:10 -06:00
Jenkins
0cafffa4b2 Merge "Trivial: Import network.common as network_common in server.py" 2015-12-05 23:24:18 +00:00
Tang Chen
dd1ca68f56 Trivial: Import network.common as network_common in server.py
In server.py, identity.common is imported as identity_common.
But network.common is imported as common, which is confuseing.
This patch imports network.common as network_common.

Change-Id: I74295bc88b22de398ab64fe556aedaca2453d17d
2015-12-06 01:18:13 +08:00
Jenkins
e93e1493b6 Merge "Trivial: Improve doc for "server create" command" 2015-12-05 09:14:43 +00:00
Tang Chen
ca76260bf8 Trivial: Improve doc for "server create" command
The following options of "server create" command support searching
by both name and ID. So add this info into doc.

--image, --volume, --flavor, --security.

Change-Id: I93b167da58144e5de6c9996009b7ea2449fb4cd8
2015-12-04 11:51:15 +08:00
Jenkins
4ed9e88078 Merge "Support "server list" searching by both image name and ID." 2015-12-03 20:36:59 +00:00
Jenkins
c39b720f00 Merge "Support "server list" searching by both flavor name and ID." 2015-12-03 20:36:48 +00:00
Dean Troyer
bf090c69c2 Switch to ksa Session
* Change session imports to keystoneauth1
* Change keystoneclient.exception imports to keystoneauth1
* Change exceptions raised from internal API from keystoneclient to openstack.common

Change-Id: I046d89f561d6fe04baae53726f9749d2e7fe2056
2015-12-02 01:55:14 +00:00
Tang Chen
106f928cb6 Support "server list" searching by both image name and ID.
Nova API only supports list servers searching by image ID.
In OSC, we can support both image name and ID by mapping
the name to ID.

This patch also fix the inconsistent doc in .py and .rst files.

Closes-Bug: 1521492

Change-Id: I70613843f82d74732bd32a457cd4a31aba57825f
2015-12-01 06:59:22 +00:00
Tang Chen
0069a01967 Support "server list" searching by both flavor name and ID.
Nova API only supports list servers searching by flavor ID.
In OSC, we can support both flavor name and ID by mapping
the name to ID.

This patch also fix the inconsistent doc in .py and .rst files.

Partial-Bug: 1521492

Change-Id: I1d1a6aa91aef4e2846745babe8382481185fa96e
2015-12-01 06:59:08 +00:00
xiexs
fad7126e79 Remove list output from "compute service set"
Replace the super class from lister.Lister to command.Command,
as no need to display the status for the "set" command.

Change-Id: Ibaf3c1e349633223fca19937bbd9060d4f9ecbda
Closes-Bug: #1517804
2015-12-01 06:18:13 +00:00
Jenkins
b221f2ceac Merge "Add --limit option to "server list" command." 2015-12-01 03:00:52 +00:00
Tang Chen
43c11c356b Add --limit option to "server list" command.
This option will limit the total amount of items the command will list up.

Change-Id: I46af0d479d795ebb6a74585d0f76629dd940b117
2015-12-01 10:12:58 +08:00
Tang Chen
b36b477e81 Add --marker option to "server list" command.
This option will give user a chance to display the server list
from wherever they want.

Change-Id: I92cca5e98cd473f1113a9106eb9d1f490694b1fe
2015-12-01 09:30:43 +08:00
Jenkins
e63de0db2d Merge "Add --marker option to "server list" command." 2015-11-30 18:58:14 +00:00
xiexs
af5dbf72c4 Add "openstack server unshelve" into OSC
The unshelve operation is not supported by OSC,
and this patch tries to add it.

Change-Id: Ic60a4616cb63ad21c1a3c8e02611da8bad3a8bd0
Implements: blueprint introduce-shelve-into-osc
2015-11-28 11:21:05 +08:00
Richard Theis
74f84f32f5 Refactor: Order of security group class names
Per comment in [1], refactor the security group class names to
be in alphabetical order.

[1] https://review.openstack.org/#/c/249223

Change-Id: If28a153cdab57c0659ff5c78b276766d4043467f
2015-11-25 08:54:52 -06:00
Jenkins
13dfacc5ff Merge "Add "openstack server shelve" into OSC" 2015-11-24 23:23:30 +00:00
Jenkins
b42396d445 Merge "Doc: Update and add IP address" 2015-11-24 23:08:55 +00:00
Jenkins
11ea5b31af Merge "Doc: Add security group and security group rule" 2015-11-24 21:21:20 +00:00
Richard Theis
325420f6d1 Doc: Update and add IP address
Fix the 'ip floating' command documentation file name.
Add missing command list documentation for the 'ip fixed'
and 'ip floating pool' commands.  In addition, update the
command description and argument help to fix minor issues
and use consistent terminology.  And finally, cleanup the
Network command object formatting.

Change-Id: I0168891bc674c9f0d4df4062f7e93f497dc8fe6f
2015-11-24 14:03:51 -06:00
Richard Theis
41133fb82e Doc: Add security group and security group rule
Add missing command list documentation for the 'security group'
and 'security group rule' commands.  In addition, update the
command description and argument help to fix minor issues and
use consistent terminology.

Change-Id: I9f4a3fbac5637289f19511874e16391d3fe27132
2015-11-24 12:49:57 -06:00
Tang Chen
bfa223f615 Enable "openstack server resume" command to take multiple servers.
Current "openstack server resume" command could only resume one server.
Improve it to be able to handle more than one servers. Also improve
the doc to reflect the new feature.

Change-Id: I726eb86bfa3df3a9911f45770e6641264dbc1e0b
Implements: blueprint cmd-with-multi-servers
2015-11-24 18:54:03 +08:00
Tang Chen
4955117dff Enable "openstack server suspend" command to take multiple servers.
Current "openstack server suspend" command could only suspend one server.
Improve it to be able to handle more than one servers. Also improve
the doc to reflect the new feature.

Change-Id: Ic0417ee28f46c9198a35744c0180342e61966b26
Implements: blueprint cmd-with-multi-servers
2015-11-24 18:47:26 +08:00
xiexs
a41a8c42af Add "openstack server shelve" into OSC
Currently, the shelve operation is not supported by OSC.
So, this patch attempts to add it into OSC.

Change-Id: I92545300bef006a069338168d2de800e8a58af69
Implements: blueprint introduce-shelve-into-osc
2015-11-24 00:40:26 -05:00
Dean Troyer
1a8020cc1b Remove deprecated 'project usage list' command
Remove the 'project usage list' command that was deprecated in version
1.0.2 in review Ie08d4f88d71a660fca1862405351109cd0aa86b6.

Note that the removed command class is a good example of how to wrap a
command and show a deprecation message.

Change-Id: I6c750730963615895f5d9953487d2d5a905885a8
2015-11-18 15:37:55 -06:00
Jenkins
74d53cdd50 Merge "Enable "openstack server unlock" command to take multiple servers." 2015-11-17 02:26:15 +00:00
Jenkins
5dffc9d860 Merge "Enable "openstack server lock" command to take multiple servers." 2015-11-16 03:28:01 +00:00
Jenkins
f177160991 Merge "Enable "openstack server unpause" command to take multiple servers." 2015-11-16 02:28:41 +00:00