54 Commits

Author SHA1 Message Date
Akihiro Motoki
f3bbf52b3c Use flake8-import-order plugin
In reviews we usually check import grouping but it is boring.
By using flake8-import-order plugin, we can avoid this.
It enforces loose checking so it sounds good to use it.
This flake8 plugin is already used in tempest.

Note that flake8-import-order version is pinned to avoid unexpected
breakage of pep8 job.

Setup for unit tests of hacking rules is tweaked to disable
flake8-import-order checks. This extension assumes an actual file exists
and causes hacking rule unit tests.

Change-Id: I12b596820727aeeb379bee16c2bc993dee9eb637
2017-08-17 06:55:00 +00:00
Jenkins
57e7d9fdb3 Merge "Now OSC server create check keys in --nic" 2017-07-20 18:43:18 +00:00
Dean Troyer
2689984ba7 Fix column names for server list --no-name-lookup
When --long is not present change the 'Image Name' column to
'Image' and add the 'Flavor' column.  These columns will contain
Names unless --no-name-lookup is specified when they will contain IDs.

Change-Id: I92cfb22136aee32616894e60e9227b4da185da99
2017-07-17 16:51:10 -05:00
Boris Pavlovic
2c57f7bfb2 Add server list -n and --no-name-lookup arguments
Remove translation of Image ID and Flavor ID to Image and Flavor names

In large environments amount of images can be very large (thousands)
Which requires ~hundreds of requests to Glance to get all images
(by default client request only 20 images)
As a result listing even few servers is going to take minutes

This patch allows to avoid these queries by not doing translation,
which allows one to get information about servers in seconds.

Change-Id: I4ae00e6324a41c4c79bf5b620179dae99aea5431
2017-07-10 16:20:45 -07:00
M V P Nitesh
fcafd987b0 Now OSC server create check keys in --nic
Now OSC command to create server will check all the keys in --nic
and throws an exception if the key is invalid key.

Change-Id: I5482da0ae63d6d4298aa614e4d09bb0547da9ec3
Closes-Bug: #1681411
2017-06-23 13:20:43 +05:30
Vu Cong Tuan
b52bbe1eec Trivial fix typos
Change-Id: I72a1da209df38e226ec02d9dbd0142ed4020c0d2
2017-05-30 16:38:27 +07:00
Jenkins
3fabbe9b39 Merge "Create server with security group ID and name" 2017-05-22 23:09:02 +00:00
Rui Chen
45496feee6 Create server with security group ID and name
Both resource ID and name are supported to identify an object
in openstackclient to make user easy to input, for security group,
nova only support security group name in API when launch a new server,
this patch convert ID to name, then pass name to nova API, and check
the security group exist before creating server.

Change-Id: I1ed4a967fb9de3f91c8945a1ef63f6c7b6b2dfb2
Closes-Bug: #1687814
2017-05-22 20:32:01 +00:00
Rui Chen
7a7bb06377 Make block-device-mapping more stable and clear
The patch fix the following issues:

1. ValueError is raised if input don't contain "=". Sometimes the whole
"server create" command is very complex, it's difficult to find out root
reason directly.
2. Don't support to add block device from snapshot, like:
--block-device-mapping
vdb=0c8ae9d8-cadc-4a23-8337-4254614d277e:snapshot:1, it's supported by
novaclient, but not in osc.
3. If input "vdb=", not add any mapping information, the server will be
launched successfully, not raise error message to let use add
volume/snapshot id, just ignore "--block-device-mapping" option.
4. The help message of "block-device-mapping" option is so simple, need
to add some details about how to add <type>, <delete_on_terminate>
contains.

Change-Id: Ib7f7a654c3dc2a8272545f168b4c4ced230ce39e
Depends-On: Ib37913891bbf7a31b570404c4668c490d5ac859b
Closes-Bug: #1667266
2017-05-17 01:42:12 +00:00
Jenkins
bf1f47c1be Merge "Make test_server.py more elegant and simple" 2017-04-25 15:24:07 +00:00
Jenkins
7977f7df18 Merge "Add --network and --port to server create" 2017-04-25 13:54:46 +00:00
David Rabel
6dc17bb1fb Make test_server.py more elegant and simple
Use only one line for mocking network resources like ports
and networks in test_server.py.

Change-Id: I451a504c3afdd365e64d66079516ec6308c206db
Depends-On: I624b1bc557a195bdf8a7c5a32dc0e72a6fa8b075
2017-04-21 13:06:20 +02:00
Dean Troyer
107cad200a Low-level Compute v2 API: floating ip pool
api.compute.APIv2 floating ip pool function.

novaclient 8.0 is now released without support for the previously
deprecated nova-net functions, so include a new low-level REST
implementation of the removed APIs.

Also includes a handful of cleanups that the previous security group and
floating IP reviews missed.

Change-Id: I20116ec4fc1113857d8d917bfb30fa3170d05b9f
2017-04-18 08:57:34 -05:00
Dean Troyer
b2783dc3c4 Low-level Compute v2 API: network
api.compute.APIv2 network functions.

novaclient 8.0 is now released without support for the previously
deprecated nova-net functions, so include a new low-level REST
implementation of the removed APIs.

Change-Id: If230f128e91cda44461fe93c976cac2aecec2252
2017-04-17 19:45:21 -05:00
Jenkins
b0ce95745d Merge "Low-level Compute v2 API: floating ip" 2017-04-17 21:14:05 +00:00
Dean Troyer
e6ea45b283 Low-level Compute v2 API: floating ip
api.compute.APIv2 floating ip functions.

novaclient 8.0 is now released without support for the previously
deprecated nova-net functions, so include a new low-level REST
implementation of the removed APIs.

Change-Id: Ic461b8d15e072e0534dcd73fff6857581d83c89b
2017-04-11 02:10:26 -05:00
Dean Troyer
1bf6706ad1 Low-level Compute v2 API: security group rules
api.compute.APIv2 security group rule functions.

novaclient 8.0 is now released without support for the previously
deprecated nova-net functions, so include a new low-level REST
implementation of the removed APIs.

Change-Id: Ieabd61113bc6d3562738686f52bb06aa84fca765
2017-04-11 02:08:57 -05:00
Dean Troyer
4289ddd47a Low-level Compute v2 API: security group
api.compute.APIv2 starts with security group functions.

novaclient 8.0 is now released without support for the previously
deprecated nova-net functions, so include a new low-level REST
implementation of the removed APIs.

Change-Id: Id007535f0598226a8202716232313e37fe6247f9
2017-04-11 02:08:04 -05:00
David Rabel
8549071363 Add --network and --port to server create
--nic option is quite unhandy. It is better to have
two seperate options --network and --port to add a
network to a new server.

Change-Id: I523abdc83ca2dd4c5dd3871f8f109c2bf57c2e02
Closes-Bug: #1612898
2017-04-07 16:36:18 +02:00
Cedric Brandily
7f9814860a Enable to specify which fixed-ip to add to a vm.
This change enables to specify which fixed-ip will be added to a vm using:

 openstack server add fixed ip <vm> <network> --fixed-ip-address <ip>

This change uses interface_attach instead of add_fixed_ip[1] which is
less flexible and uses a deprecated API.

[1] https://review.openstack.org/384261

Closes-Bug: #1678140
Change-Id: I7fe4621439ef0d8dca080551ffaeb614c5a91174
2017-04-04 11:15:29 -05:00
Jenkins
d0f368ba0e Merge "Enable to add/remove port to/from a server" 2017-04-03 20:51:20 +00:00
Cedric Brandily
21510ac1a9 Enable to add/remove port to/from a server
This change enables to add/remove a specific port to/from a server using
the new commands:

 openstack server add port <vm> <port>
 openstack server remove port <vm> <port>

Closes-Bug: #1678137
Change-Id: I6ee57df089235ccc1fb9d38316bd484956b1134d
2017-04-03 20:19:40 +02:00
Jens Rosenboom
61cde9c8e8 Fix block-device-mapping when volume_size is empty
The Nova API responds with an validation error when a bdm is submitted
containing an empty volume_size. So instead omit that attribute when it
is empty.

Change-Id: Iba905fca8c440a03e828c20922f3b813bba3fa3a
Closes-Bug: 1677236
2017-04-03 11:26:35 +00:00
Jenkins
6329c04297 Merge "OSC Quota List" 2017-03-21 03:56:05 +00:00
Jenkins
49e866174f Merge "Enable to specify which vm fixed-ip to publish" 2017-03-21 01:55:51 +00:00
Cedric Brandily
f5527877bb Enable to specify which vm fixed-ip to publish
This change enables to specify which vm fixed-ip will be associated to a
floating ip using:

 openstack server add floating ip <vm> <fip> --fixed-ip-address <ip>

Closes-Bug: #1624524
Change-Id: I2ddb68c5873bfed7293b0e661d1adbe111681136
2017-03-20 22:33:51 +01:00
Jenkins
495d013431 Merge "Adds missing flavor information in the server list long command" 2017-03-20 17:57:38 +00:00
Jenkins
6cae88fa2b Merge "Add a validation about options for server migrate command" 2017-03-16 15:52:50 +00:00
Jose Castro Leon
429b43a331 Adds missing flavor information in the server list long command
Closes-Bug: #1672396

Change-Id: Ie2a664fd1c3db1b8269ea079df181f87afc702a7
2017-03-13 16:32:15 +01:00
Sindhu Devale
58591d3c37 OSC Quota List
Implement Neutron feature of Quota List into
OpenStack Client.

Change-Id: Idf941acf8d00b136776b7381b877c56d82622f57
Partially-Implements: blueprint neutron-client-quota
2017-03-10 14:59:47 +00:00
Jenkins
dcb2de9db2 Merge "Add "--private-key" option for "keypair create"" 2017-03-08 02:51:48 +00:00
Rui Chen
c03b9a871c Add server event list and show commands
OSC server event is similar to nova's instance action commands.

Server event is the event record that had been done on a server,
include: event type(create, delete, reboot and so on),
event result(success, error), start time, finish time and so on.
These are important information for server maintains.

Change-Id: I8111091f46a0d2755728d8f9d43cc0dfe8842d13
Closes-Bug: #1642030
2017-03-07 15:25:43 +08:00
Rui Chen
dee22d8faa Add "--private-key" option for "keypair create"
Aim to specify the private key file to save when keypair
is created. That is a convenient way to save private key
in OSC interactive mode, avoid to copy CLI output, then
paste it into file.

Change-Id: I119d2f2a3323d17ecbe3de4e27f35e1ceef6e0a5
Closes-Bug: #1549410
2017-03-06 08:34:28 +00:00
Rikimaru Honjo
7063ffb3ca Add a validation about options for server migrate command
The behavior of server migrate command are different depending on
whether user specify --live option or not.
server migrate command will call live migration API if user specify
--live option.
Ohterwise server migrate command will call migration(cold migration)
API.

Now then, "--block-migraiton" option and "--disk-overcommit" option
only affect live-migration.
But, openstackclient doesn't warn user if user specify these options
without "--live".
But, user can't recognize that specifying options are ignored.

This patch adds a validation that checks whether or not user specify
these options without "--live".

Change-Id: Ifa278abb23ecdba4b13f3742998359ac74eb7ad4
Closes-bug: #1662755
2017-03-01 17:37:39 +09:00
Jenkins
477694db49 Merge "Use public and unified method get_console_url()" 2017-02-20 19:46:15 +00:00
Rui Chen
c051c5f090 Fix "server create" command failed when --nic auto or none
"auto" and "none" options was added into --nic argument of server create
command in patch https://review.openstack.org/#/c/412698/ , but that
don't work and raise internal error when execute command. The patch
fix that issue and add unit and functional tests.

Change-Id: Ia718c3bac0a5172a0cdbe9f0d97972a9346c1172
Co-Authored-By: Kevin_Zheng <zhengzhenyu@huawei.com>
Closes-Bug: #1663520
2017-02-15 14:25:37 +08:00
huangtianhua
f891b6862f Use public and unified method get_console_url()
Novaclient has provided a public and unified method
get_console_url() to get console urls of server.
This change switches to use it.

Change-Id: Ie6b9d8cfc57a6943b5d64a4064e4bdd372cd8cd3
Depends-on: I36c6209b17ef453e1c2e47841daf41f81af471dc
Closes-Bug: #1654913
2017-02-14 03:22:03 +00:00
Jenkins
655e73683a Merge "Overwrite/Clear Flavor property" 2017-02-13 18:19:26 +00:00
Reedip
6a3c7c2a68 Overwrite/Clear Flavor property
This patch adds support to overwrite/clear the flavor's
property using the new ``--no-property`` option in the
``flavor set`` command.

Change-Id: I873c96fcf223bbd638a19b908766d904a84e8431
Implements: blueprint allow-overwrite-set-options
Co-Authored By: zhiyong.dai@easystack.cn
2017-02-13 15:16:09 +00:00
Jenkins
d189e807fd Merge "Add options to "server list" command" 2017-01-26 06:38:27 +00:00
Nikita Gerasimov
95c8661f86 Switch server create to block_device_mapping_v2
Current compute_client.servers.create() relies on block_device_mapping
arg which is legacy[1]. "block_device_mapping" format require
device_name which is leads to hard-coded hack in --volume key handler
to KVM specific. "block_device_mapping_v2" format is more friendly
to hypervisiors.
Support of block_device_mapping_v2 appear in python-novaclient 2.16.0,
openstackclient require at least 2.29.0

Makes options --volume and --block-device-mapping work simultaneously.
Appends --block-device-mapping data even if --volume used.
After bug 1383338 only --volume was taken when both are used.

[1]http://docs.openstack.org/developer/nova/block_device_mapping.html

NOTE(dtroyer): I moved the new test_boot_from_volume() functional
test to Ie51b1c375c5940856ec76a5770df3c6bd18a3eba to test our
previous behaviour.  The only changes required to support the new
behaviour should be that the empty_volume is now attached in that test.

Change-Id: I7bac3d870dd9ca404093142f8bce22a62e49180d
Closes-Bug: 1647406
Closes-Bug: 1497845
2017-01-26 02:02:30 +00:00
jiahui.qiang
c46f9dc501 Add options to "server list" command
Add "--deleted" and "--changes-since" options to "server list" command.

Change-Id: Id94f6e5831a60b172b6cfcfca29b1d89de8db621
Closes-Bug:#1647242
2017-01-25 21:31:45 +00:00
Artom Lifshitz
98f803e0f0 Use image client for images instead of compute
With the deprecation of the Nova proxy APIs in microversion 2.36 [1],
any operation that uses a microversion higher than 2.36 and works with
images will fail because the /images endpoint will return 404. This
patch updates openstackclient to query images using the image client
in places where previously the compute client was used.

[1] http://docs.openstack.org/developer/nova/api_microversion_history.html#id33

Change-Id: Ia66e44e530799ce6531922dcf6a84e38528c8725
Closes-bug: 1630161
2017-01-24 16:56:35 +00:00
Jens Rosenboom
d8749f9148 Fix creating a private flavor with ID auto
When a private flavor is created with ID auto (=default) and a project
is specified for it, instead of trying to add the project to the flavor
called "auto" the ID of the newly created project should be used.

Change-Id: I19f7a0ec26bd5d147f00ecba3312240e3601567e
Closes-Bug: 1654221
2017-01-05 15:58:47 +01:00
jiahui.qiang
7b1febf47f Add unit tests for usage commands in compute v2
Add unit tests and fakes for command below in compute v2:
usage list
usage show

Change-Id: Ie533e23375ca6b8ba4cb7e865d39fac652cc0195
2016-12-26 03:05:37 +00:00
jiahui.qiang
747ec5b897 Add unit tests for server create in computev2
Unit tests for server create is not completed. Some of the code in
take_action has not been tested.

Change-Id: Ifd3f42400408d3437e0bc6cd42acbb6db861b1f3
2016-11-28 23:24:22 +08:00
zhiyong.dai
26a74d4596 Add choices for option '--policy'
When creating server group, the '--policy' option is required, but
valid choice is 'affinity' or 'anti-affinity', adding multiple
policies will produce an error. This patch add choices and default
value for option '--policy', and remove the former help message.

Change-Id: I312680af384363b3e9a7de9aa1f0946643e193e2
Closes-Bug: #1662771
2016-11-27 15:32:28 +08:00
Yan Xing'an
8ca1cc6370 Add --long option and more columns to the hypervisor list command
Support --long option and more columns in output of hypervisor
list command, including 'Hypervisor Type', 'Host IP', 'State',
and 'vCPU Used', 'vCPUs', 'Memory MB Used', 'Memory MB' with
--long option.

Change-Id: I0c790c7835309dded03e230cf497168e19404537
Closes-Bug: #1637074
2016-10-27 04:33:47 -07:00
Anne Gentle
5055074db0 Adds information about private key generation for instance access
- Also updated the help text in the command itself.

Change-Id: Ib3d4f94ef415a3f12024d0d7c000d2de20de001b
Partial-Bug: 1549410
2016-10-25 08:51:20 +02:00
Rui Chen
6371556916 Support "--no" option in aggregate set
Supporting "--no-property" option will apply user a convenience
way to clean all properties of aggregate in a short command,
and this kind of behavior is the recommended way to devref.
The patch add "--no-property" option in "aggregate set" command,
and update related test cases and devref document.

Change-Id: I7614a23c0db05144562330dc600dbab7d003d5d8
Implements: blueprint support-no-property-in-aggregate
2016-09-24 15:59:13 +08:00