Commit graph

415 commits

Author SHA1 Message Date
Jenkins
4493740171 Merge "Add server list -n and --no-name-lookup arguments" 2017-07-20 03:43:15 +00:00
Jenkins
894df67c67 Merge "Add 'data_plane_status' option to Port classes" 2017-07-13 02:44:35 +00:00
nidhimittalhada
bca8d57eb3 image-list should support filters 'name','status'
nova api support parameters like 'name', 'server', 'status',
etc in image-list(). So openstackclient should support this too.

DocImpact
Closes-Bug: #1698742
Change-Id: Ice66b409f989e6785aa3b2d42f2fdbf6e23fa0aa
2017-07-12 22:50:17 +00:00
Carlos Goncalves
1ae904a491 Add 'data_plane_status' option to Port classes
Adds 'data_plane_status' option to SetPort and UnsetPort classes.

Closes-Bug: #1684989
Change-Id: I26e23b551afb8c37e6babdea1655efb7c5c6873b
2017-07-12 22:50:09 +00:00
Akihiro Motoki
3cba09e767 Fix unit test failures related to new os-client-config and osc-lib
[breakage related to os-client-config 1.28.0]
os-client-config 1.28.0 add a check if filebased and envvars are
both used. This check causes OSC unit test failure.

OSC now instantiates OpenStackConfig twice as a workaround.
The unit test mocks _load_config_file() and it returns a config dict,
but os-client-config OpenStackConfig.__init__ updates the dict returned.
As a result, when OpenStackConfig is instantiated second time,
the mock of _load_config_file returns a modified version of the config
dict. This hits the new check in os-client-config 1.28.0.

This commit changes the mock to use side_effect rather than return_value
to ensure the original dict is used.

[breakage related to osc-lib 1.7.0]
The change in osc-lib 1.7.0 added "if" logic to avoid calling get() twice.
In tests.unit.volume.test_find_resource, kwargs is empty dict in find_resource(),
so the second call to get() is NOT called now.
Removing the second elements of side_effect addresses the unit failure.

Co-Authored-By: Rui Chen <chenrui.momo@gmail.com>
Change-Id: Ib9d14661b2755bbd6619e15c0d9023fbc9d27d70
Closes-Bug: #1703782
Closes-Bug: #1703783
2017-07-12 12:26:00 +00: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
Jenkins
91cc731187 Merge "Allow objects to be streamed to stdout" 2017-07-06 15:24:31 +00:00
Honza Pokorny
ae35a29169 Allow objects to be streamed to stdout
Change-Id: Icd8de6b2122fe77926d93da9bda08f56c3672a7a
2017-07-05 20:08:18 -03:00
Rodolfo Alonso Hernandez
c17819ab58 Add new parameter "is_default" to Network QoS policy.
Add a set of exclusive parameters to the Network QoS policy:
  --default: makes this policy the default policy for
             the project to which the qos policy belongs.
  --no-default: unset the property.

Closes-Bug: #1639220
Depends-On: If5ff2b00fa828f93aa089e275ddbd1ff542b79d4
Depends-On: Ibe7b7881cb190bfd5582f35b6de51a8bc21135de
Change-Id: I0269b837dc29bbd8ee2089d847cadb72d800fa30
2017-07-05 13:34:33 +00:00
Jenkins
1cb08a099c Merge "Show neutron tags in OSC network show" 2017-06-30 21:21:37 +00:00
Jenkins
19c8cabeca Merge "When creating a trust, send role_ids instead or role_names" 2017-06-22 19:53:03 +00:00
Jenkins
fe82f4b281 Merge "Add direction field to QoS bandwidth limit." 2017-06-22 19:02:35 +00:00
Jenkins
ef25135e7a Merge "Add project purge command to osc" 2017-06-22 18:10:37 +00:00
Jenkins
244ac70ae9 Merge "Don't show hint about vlan transparent in network set" 2017-06-22 17:10:23 +00:00
Kristi Nikolla
da53c2b334 When creating a trust, send role_ids instead or role_names
This changes create a trust to use ids instead of names because of
the possibility of roles sharing a name. Even if the user
uniquely identified a role by inputting the id, the request sent
to the identity service would used the name, therefore the command
would fail in the case that two roles share a name.

This does not change how trusts are displayed during trust list or
trust show, a name will still be shown instead of an id.

Depends-On: I38e0ac35946ee6e53128babac3ea759a380572e0

Change-Id: I5bdf89f1e288954a7f5c2704231f270bc7d196f5
Closes-Bug: 1696111
2017-06-22 17:08:01 +00:00
Rodolfo Alonso Hernandez
ccb743cf0f Add direction field to QoS bandwidth limit.
This patch enables the direction ('ingress'/'egress') field
on the QoS bandwidth limit rule object and CRUD commands.

Closes-Bug: #1614121
Depends-On: Ia13568879c2b6f80fb190ccafe7e19ca05b0c6a8
Depends-On: I90c412a5c8757b3ffe8abfc1165a70bdb8744702
Change-Id: Ic6981474f22efbf294ac11c2e0304b04494a1bbe
2017-06-22 15:59:37 +00:00
M V P Nitesh
4c2eb2bd8b Show neutron tags in OSC network show
Now tag information of the network is displayed when the user
tries to see the network details using the command
openstack network show <net-id>

Change-Id: I587d2bca37b8dbef4400db3d8ace3c81d87e2db3
Closes-Bug: #1695783
2017-06-22 12:58:18 +05:30
Steve Martinelli
227d4c64ef Add project purge command to osc
See the initial implementation:
  https://github.com/openstack/ospurge/blob/master/ospurge/client.py

Partial-Bug: 1584596

Change-Id: I3aa86af7c85e7ca3b7f04b43e8e07125f7d956d1
2017-06-13 10:26:35 -04:00
Hong Hui Xiao
2b66c71a7c Don't show hint about vlan transparent in network set
Update this attribute is not allowed in neutron.

Change-Id: I38010b26e116246c13dbb6cc6a777d2f22f6dc30
Closes-Bug: #1691776
2017-06-12 19:20:30 +08:00
Reedip
eb793dc8c6 Add default-quota to subnet pool commands
Add --default-quota option to subnet pool create and set commands.

Setting default-quota back to None may break the current Neutron
behavior, therefore support for Unset command is not provided in
this patch.

Neutron API:
a0e0e8b668/neutron/api/v2/attributes.py (L239)

Closes-Bug: #1667294
Change-Id: Ia4e7c23a49e91a090133c729353cdb8e62bc5674
2017-06-12 02:52:28 +00:00
Jenkins
c5524c80be Merge "Replace "Display Name" by "Name" in volume list" 2017-06-05 20:10:56 +00:00
Jenkins
3707717f8f Merge "To display image size in human friendly format" 2017-06-01 17:48:11 +00:00
Vu Cong Tuan
b52bbe1eec Trivial fix typos
Change-Id: I72a1da209df38e226ec02d9dbd0142ed4020c0d2
2017-05-30 16:38:27 +07:00
Rui Chen
6aceca218a Replace "Display Name" by "Name" in volume list
Current "volume list --name" command use "display_name" as search_opts
to send to cinder API, and show the result table with "Display Name"
column title in osc, cinder list API support "name" as search opts too,
and there is "name" attribute in volume response body, so we can replace
all "Display Name" by "Name" in order to keep "volume list" command
consistent with other commands, like: server list, network list and so
on, only use "Name" attribute for all objects.

Support a mapping for volume list -c "Display Name" (Volume v1 and v2)
and volume create/show -c "display_name" (Volume v1) for minimal
backward compatibility until R release.

Change-Id: I120be0118e7bb30093b4237c5eeb69a9eedef077
Closes-Bug: #1657956
Depends-On: I1fb62219b092346ea380099811cbd082cae5bafe
2017-05-26 11:37:09 +08:00
Jenkins
205d6e408a Merge "Refactor Extension show and list command" 2017-05-22 23:35:59 +00: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
Ankur Gupta
acc2d106ab Refactor Extension show and list command
1.keep the column display order consist in extension list with
  and without "--long" option.
2.rework for network extentsion list, openstacksdk return object,
  so the logic should be same with other service.
3.add some unit test cases, like: extension list --network --long,
  extension list --network --compute, to cover regular use cases.
4.raise exact exception when network extension don't exist, avoid
  internal TypeError in "extension show" commands.

Change-Id: I2e23ced80d8da8aa1106b22472db850367b351ce
Closes-Bug: #1689233
2017-05-18 11:33:45 +08: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
Dean Troyer
e8f3103cc1 Ignore more exceptions in quota list
Additional exceptions can be thrown here, ignore additional project
lookup exceptions, but still not all.  Server failures are still
interesting, for example.

Change-Id: I9a750ae8e8efa29a36bbd1e34b50b6ace0658260
2017-05-11 08:47:37 -05:00
Dean Troyer
d930b043ee Funcional tests: quota list
The quota list tests have a race in them where occasionally a project is
deleted in another test between the time that quota list gets a list of all
projects and it gets the quota for the projects from the service; the get
quota call fails on the non-existant project.

The quota list functional tests have been substantially re-written to
properly test the exception handling.

Change-Id: I71e6bbb5d46fcea4718a5a870f9a66a2c20fff0f
2017-05-02 14:09:16 -05:00
Jenkins
524b2b36ff Merge "Fix volume qos spec list" 2017-04-29 03:25:55 +00:00
Dean Troyer
2c5405ed5e Fix volume qos spec list
This has been sporadically failing in functional tests due to the way
the volume qos spec list command calls get_associations() for each spec.
When tests run in parallel occasionally a spec from another test is present
in the list returned and is deleted before the get_associations() call is
made, causing a NotFound exception.  We should just keep going when this
occurs.

* make v1 match v2
* add tests to ensure the exception is being caught and handled

Closes-Bug: #1687083
Change-Id: If2d17c1deb53d293fc2c7f0c527a4e4ef6f69976
2017-04-28 16:06:00 -05:00
Dean Troyer
589a65c3fe Fix Nova-net netowrk commands
In cleaning up functional tests for nova-net, I discovered some
problems in network create:
* --subnet option is required in network create command
* Switch API to use /os-networks rather than /os-tenant-networks as this
  is what we were actually using via novaclient
* Fix functional tests for nova-net
* Normalize some private function names in network/v2/network.py

Change-Id: I426b864406756d58d140575a3a45ee9aee67ce84
2017-04-27 20:36:00 +00:00
Jenkins
a28364a37a Merge "Fix NoneType error for volume snapshot create command" 2017-04-26 19:08:11 +00:00
Jenkins
95736cebc3 Merge "SDK refactor: Set "is_admin_state_up" for network agent" 2017-04-26 18:50:35 +00:00
Huanxuan Ao
1c49a1f01d Fix NoneType error for volume snapshot create command
In volume snapshot command, <volume> is the same
as <snapshot-name> when --volume is not specified,
but <volume> cannot be None, so when <snapshot-name>
is not specified (<snapshot-name> is None), a NoneType
error appears.
So make <snapshot-name> no longer optional, it should
be always present.

Change-Id: I3d9f10753a8ef601e70816421c160598e2cc811f
Closes-bug: #1659894
2017-04-26 11:07:08 -05: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
Dean Troyer
ef99f44462 Improve no-auth path
The commands that do not require authentication sometimes still need
to call ClientManager.is_network_endpoint_enabled() to see if Neutron
is available.  Optimize the paths a bit to skip auth when it is not
necessary; the upshot is Neutron will be assumed in these cases now.

This gets a LOT cleaner when it appears is a future osc-lib.

Change-Id: Ifaddc57dfa192bde04d0482e2cdcce111313a22a
2017-04-24 18:57:10 -05: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
Dean Troyer
6f473be588 Split network tests
Split up the network unit tests between compute and network APIs
into separate files in preparation for reworking the compute (nova-net)
implementations to deal with the removal of deprecated nova-net
support in novaclient 8.0.0.

No code changes are intended here, just splitting two files into four.

Change-Id: I2d001118af436f95025d2851341f8ca802e78830
2017-04-17 17:11:43 -05:00
Jenkins
b0ce95745d Merge "Low-level Compute v2 API: floating ip" 2017-04-17 21:14:05 +00:00
Jenkins
18206a9224 Merge "Low-level Compute v2 API: security group rules" 2017-04-17 19:40:34 +00:00
Jenkins
9a1c9cabd4 Merge "Low-level Compute v2 API: security group" 2017-04-17 17:35:33 +00:00
Jenkins
62d71aa243 Merge "Allow override of distributed router flag" 2017-04-17 15:18:20 +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