142 Commits

Author SHA1 Message Date
Cedric Brandily
e6b09eef0c Correct login name deduction in SshServer
Currently SshServer ("server ssh" command) raises an AttributeError if
no explicit login is provided because it uses an attribute which no more
exists.

Change-Id: I86f68230037d51efb41aca62e07e058733ecd67a
Closes-Bug: #1624085
2016-09-15 21:57:17 +02:00
Rajasi Kulkarni
e26eecc12f Pass security group id to novaclient while adding security
group to server

In AddServerSecurityGroup, we currently pass the security group
name to novaclient. If multiple security groups with same name
exist, then even while passing secuity group using id to
command 'openstack server add security group <server> <group>'
it results in error 'Multiple security_group matches found'.
Added unit test case to test the command.

Change-Id: I6097eb36e1545c85209cfd767c477e10f82c6999
Closes-Bug: 1604076
2016-07-28 21:39:02 +05:30
Jenkins
719c5d79ce Merge ""server list": "Image Name", "Image ID" columns" 2016-07-22 20:38:20 +00:00
Rajasi Kulkarni
8405db900f Pass security group id to novaclient
In RemoveServerSecurityGroup we currently pass the entire security
group object, which results in TypeError in novaclient.
Added unit test case to test command 'openstack server remove
security group -h <server> <group>'

Change-Id: I6d486403a83804c3a30d6f89d2cf7f64f09797c6
Closes-Bug: 1590883
2016-07-11 22:34:35 +05:30
Marc Abramowitz
b74be57300 "server list": "Image Name", "Image ID" columns
The `Image Name` column is shown by default (i.e.: without passing `--long`). E.g.:

```
$ openstack server list
WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils
+--------------------------------------+-----------------+---------+----------------------+----------------------+
| ID                                   | Name            | Status  | Networks             | Image Name           |
+--------------------------------------+-----------------+---------+----------------------+----------------------+
| abe67035-b14f-4541-b436-e0e778ec4227 | n9anonw302mgm1  | ACTIVE  | mnky3-3000=10.3.0.55 | Koala.2016-07-01-175 |
| 8f6a2d12-2bc3-4d89-ba94-8916ce9cdf92 | n9anonw301mgm1  | ACTIVE  | mnky3-3000=10.3.0.37 | Koala.2016-07-01-175 |
| b316d6d1-67cf-4f75-94a4-4c9a2b03f6a4 | n9dobby301mgm0  | ACTIVE  | mnky3-3000=10.3.0.36 | Koala.2016-05-04-130 |
+--------------------------------------+-----------------+---------+----------------------+----------------------+
```

The `Image ID` column is only available with `--long`. E.g.:

```
$ openstack server list --long -c Name -c "Image Name" -c "Image ID"
WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils
+-----------------+----------------------+--------------------------------------+
| Name            | Image Name           | Image ID                             |
+-----------------+----------------------+--------------------------------------+
| n9anonw302mgm1  | Koala.2016-07-01-175 | f587c6fc-1df3-42cd-ac86-8cd2c995a8d9 |
| n9anonw301mgm1  | Koala.2016-07-01-175 | f587c6fc-1df3-42cd-ac86-8cd2c995a8d9 |
| n9dobby301mgm0  | Koala.2016-05-04-130 | 37ff47a6-3e51-4986-bfa5-62afbfad5dfc |
+-----------------+----------------------+--------------------------------------+
```

Closes-Bug: #1599304

Change-Id: I477995b840eb9520b285948926ebbfe1777dd86c
2016-07-06 07:11:17 -07:00
Tang Chen
179ebe6d64 Transfer "ip fixed add/remove" to "server add/remove fixed ip"
This patch does the following things to transfer
"ip fixed add/remove" to "server add/remove fixed ip":
* Add new command "server add/remove fixed ip", and unit
  tests and doc.
* Deprecate "ip fixed add/remove" command.

compute/v2/fixedip.py is not removed because the arguments'
positions are different between the new and old commands.
* ip fixed add <network> <server>
  server add fixed ip <server> <network>
* ip fixed remove <ip-address> <server>
  server remove fixed ip <server> <ip-address>

Change-Id: Ica07ccf92a76c21fd5608ecaff86ff7c4d96f5a0
Implements: blueprint rework-ip-commands
Partial-bug: 1555990
Co-Authored-By: Dean Troyer <dtroyer@gmail.com>
2016-07-04 10:41:30 +08:00
Tang Chen
d1f9ea3f75 Transfer "ip floating add/remove" to "server add/remove
floating ip"

This patch does the following things to transfer
"ip floating add/remove" to "server add/remove floating ip":
* Add new command "server add/remove floating ip", and unit
  tests and doc.
* Deprecate "ip floating add/remove" command.

compute/v2/floatingip.py is not removed because the arguments'
positions are different between the new and old commands.
* ip floating add <ip-address> <server>
  server add floating ip <server> <ip-address>
* ip floating remove <ip-address> <server>
  server remove floating ip <server> <ip-address>

Change-Id: Ic0dd22ca6fb7b7bc3e820fd5a14d7c551e7ab963
Implements: blueprint rework-ip-commands
Partial-bug: 1555990
Co-Authored-By: Dean Troyer <dtroyer@gmail.com>
2016-07-04 10:40:59 +08:00
Tang Chen
047cb68493 Standardize logger usage
Use file logger for all command specific logs.

This patch also fixes some usage that doesn't
follow rules in:
http://docs.openstack.org/developer/oslo.i18n/guidelines.html

After this patch, all self.log and self.app.log
will be standardized to LOG().

NOTE: In shell.py, we got the log in class OpenStackShell,
      which is also known as self.app.log in other classes.
      This logger is used to record non-command-specific logs.
      So we leave it as-is.

Change-Id: I114f73ee6c7e84593d71e724bc1ad00d343c1896
Implements: blueprint log-usage
2016-06-20 15:16:51 +00:00
Jenkins
b9a318156c Merge "Move server image create command to its own resource file." 2016-06-16 13:05:18 +00:00
Dean Troyer
9e2b8e6730 osc-lib: command
Leave command.py and test_command.py as a sanity check during the
deprecation period.

Change-Id: I24e1b755cbfbcbcaeb5273ec0c9706b82384fc85
2016-06-13 11:00:22 -05:00
Dean Troyer
be192676bd osc-lib: parseractions
Leave parseractions.py and test_parseractions.py as a sanity check during the
deprecation period.

Change-Id: I1a7469b6d872284e0276502a1a287bc0b87f8f83
2016-06-13 10:55:44 -05:00
Dean Troyer
e5e29a8fef osc-lib: utils
Use osc-lib directly for utils.

Leave openstackclient.common.utils for deprecation period.

Change-Id: I5bd9579abc4e07f45219ccd0565626e6667472f7
2016-06-13 10:50:44 -05:00
Dean Troyer
d20c863ebc osc-lib: exceptions
Use osc-lib directly for exceptions.

Leave openstackclient.common.exceptions for deprecation period.

Change-Id: Iea3e862302372e1b31ccd27f69db59b4953ca828
2016-06-13 10:50:01 -05:00
Lu lei
54e81a9984 Add newline to strings in stdout/stderr.write()
Function stdout/stderr.write() can't break line automatically.

Change-Id: I903c2d1cc1a669adb6be5aa4eb783d3b9943e685
2016-06-06 13:54:55 +08:00
Dean Troyer
eef2054109 Move server image create command to its own resource file.
Change-Id: If37e82072bd7a32b81bfb1a8bb048f018dd5b04f
2016-06-03 09:19:57 -05:00
Jenkins
21924f55b9 Merge "Fix output and error log in server.py" 2016-05-31 13:42:14 +00:00
Rui Chen
1a7284f63a Support to set server state
When a server is unexpected state, OSC don't support reset
the server to active or error state, that's supported by
novaclient, and it's an important command for operators, the
patch implement this function.

Change-Id: I3e7800feb192832b0719ef9a353945beb6bfd509
Implements: blueprint server-reset-state
2016-05-28 18:55:50 +08:00
Tang Chen
97162ecd22 Fix output and error log in server.py
This patch fixes 2 problems:

1. The '\n' should be in the end of a message,
   not the beginning.

i.e.:
   The original code was:
       sys.stdout.write(_('\nError deleting server'))
   It will make the output look like this:

   [root@tangchen /]# openstack server delete aaa bbb

   Error deleting server
   Error deleting server[root@tangchen /]#

   We change it to:
       sys.stdout.write(_('Error deleting server\n'))
   Then the output will become:

   [root@tangchen /]# openstack server delete aaa bbb
   Error deleting server
   Error deleting server
   [root@tangchen /]#

   which is much better.

2. Record the error in log for those who didn't.

Change-Id: I38b00c2321014757970183205f95f026e20a8090
2016-05-28 15:46:32 +08:00
Tang Chen
5398c96e2a Fix i18n support for help and error messages in compute
Change-Id: Id6eebcb48d1b7b49b6636524506294edbc44a83f
Partial-bug: #1574965
2016-05-24 11:03:49 +08:00
Steve Martinelli
ebcbd6ba71 remove #noqa from i18n imports
hacking checks no longer fail on `import _`

Change-Id: Idd60f0a0e71e5081691eacb39e5091ab08fcce6d
2016-05-13 13:14:02 -07:00
Jenkins
b60ff95edf Merge "Use find_resource() instead of get() in _prep_server_detail()" 2016-05-11 13:26:30 +00:00
Tang Chen
d58280a279 Use find_resource() instead of get() in _prep_server_detail()
There is such a comment in test_server.py:

    # Call .get() to retrieve all of the server information
    # as findall(name=blah) and REST /details are not the same
    # and do not return flavor and image information.

This is an out of date comment. There is no function named
findall() in OSC now. So use find_resource() instead of get(),
and remove this comment.

Change-Id: I8d79afc5f341fb5caf771d905506b7f1c7a41ae8
2016-05-09 14:59:39 +08:00
Tang Chen
809239ca1e Map server power state num to meanful string
In _prep_server_detail(), power_state is not formatted
by _format_servers_list_power_state(). So when executing
"server show" or "server create", the power state is
represented by number. This patch map the numbers to
meanful strings.

This patch also adds power_state attribute to FakeServer,
and improves unit tests for this attribute.

Change-Id: I2ec674327de4e5133b8712ba6bb53fa5ce55e3f4
2016-05-07 14:54:44 +08:00
Tang Chen
32c627eaf0 Doc: Unify repeatable option comments
There are lots of "this option can be repeated" comments
in the doc, which are not consistent to other similar
docs.

This patch changes them to the following format:

"repeat option to do something"

Change-Id: I54e01053091c428bf87bb36bb95f73a0b80ab6e7
2016-04-12 15:57:17 +08:00
Rui Chen
ee621509be Fix "server unset" document issue
Fix "--property" option describe issue in "server unset"
document, and update the help message to keep consistent.

Change-Id: I68022a187e83fad6320365400ad2a1b0c8cf9a61
2016-03-23 14:45:04 +08:00
Stephen Finucane
13e2bb9b96 Trivial: Use 'SSH' rather than 'Ssh'
This is reflected in the '--help' screen.

Change-Id: Ic22a65ff6a56b069b37a0ea8365cce2b3f93621c
2016-03-09 14:55:55 +00:00
Jenkins
67969e438c Merge "" openstack server image create " doesn't print proper info" 2016-03-06 08:33:44 +00:00
Jenkins
fa3a34322c Merge "[compute] Support restore server" 2016-03-04 23:41:42 +00:00
Jenkins
d763acdf1c Merge "Add test cases to test some commands with '--wait' and fix bug" 2016-03-04 01:29:56 +00:00
Mohan Muppidi
e354d17d2c " openstack server image create " doesn't print proper info
After creating a snapshot of a running instance, a print out similar
to server create is expected, but it prints out something like "_info"
which is nothing related to created image. _prep_image_detail method
is added to /compute/v2/server.py to enable the priting, while running
the test properly.

Change-Id: I4b06be959768bcdaafd9aa8df497490958bee649
Closes-Bug:1551586
2016-03-03 21:03:14 +00:00
ting.wang
84942bb11c Add test cases to test some commands with '--wait' and fix bug
"server image create"
"server rebuild"
"server resize"
Above 3 commands are not covered by unit test.
So add some unit tests.

Meanwhile, fix bug. Now that image name is an optional argument,
we'd better record error messages with positional arguments
instead of optional argument. So, record server name.

Change-Id: I41bc025d4824dc46f63a3213d82e1528bacbbe12
2016-03-02 09:32:27 +08:00
Tom Cocozzello
3d7a26bdec Defaults are ignored with flake8
If “ignore” is not set under flake8 in the tox.ini
file there there are defaults set to be ignored.

The depended patch fixes many of the problems.

Change-Id: Ieed2fe1c4654e201d3fe6d40ef93e247ee736f8b
Doc: http://flake8.readthedocs.org/en/latest/config.html#default
Depends-On: I935ab48e7c5bac5f88ecdb3a05f73fb44fc9f41d
Closes-Bug: #1548910
2016-02-23 11:08:36 -06:00
jichenjc
6902a288f8 [compute] Support restore server
Server in soft-delete state can be restored, add this command.

Change-Id: Id9d7246f89ae65273505f36dcb664996534ae986
2016-02-23 13:43:37 +08: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
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
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
Jenkins
aa041c5269 Merge "Make --image parameter optional in "server rebuild"" 2016-01-15 17:44:01 +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
Tang Chen
494659fbe4 Trivial: Remove useless return from files in compute.
Change-Id: I9dc6749256fcd53d292d7f658912c032e9ce9df5
2015-12-17 09:34:12 +08: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
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
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
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