842 Commits

Author SHA1 Message Date
Takashi NATSUME
2220c56375 Add wrapper classes for return-request-id-to-caller
Added wrapper classes which are inherited from base data types str,
list, tuple and dict. Each of these wrapper classes and
the Resource class contain a 'request_ids' attribute
which is populated with a 'x-compute-request-id' or
a 'x-openstack-request-id' received in a header from a response body.

This change is required to return 'request_id' from
client to log request_id mappings of cross projects.

This patch is one of a series of patches for implementing
return-request-id-to-caller.

Co-authored-by: Ankit Agrawal <ankit11.agrawal@nttdata.com>
Change-Id: I422c4f4ee59991ca89a0a16f548b537c8b61bb97
Implements: blueprint return-request-id-to-caller
2016-01-26 23:46:10 +00:00
Andrey Kurilin
6cbb22583b [microversions] Add support for 2.17
Description of microversion:
  Add a new API for triggering crash dump in an instance. Different operation
  systems in instance may need different configurations to trigger crash dump.

Note:
 - it is hard to write a functional test for this microversion, since it
   requires instance in error state
 - all possible failed responses already covered by novaclient.exceptions

Nova's change: I6ed777ff637254b4b79417008f9055dd19fc7405

Change-Id: If03b1864bbe7074c720b946fc2700bd5d07debc3
2016-01-25 14:24:49 +02:00
jichenjc
6791a8be69 Allow restore command with name param
when we try to restore an instance, it's already deleted state,
so we need to add 'delete=True' as default to restore command,
otherwise, the search function can't find the instance
whose state is deleted with the given name

Change-Id: I81cdc46897d76333452069a691824264ad504518
Closes-Bug: 1534644
2016-01-23 22:06:48 +08:00
Andrey Kurilin
a54a1d16db [microversions] Extend shell with 2.12
Shell was not extended in original patch[1], which turned on v2.12, since
there was not any support of vif in shell yet.
Since shell entry point for legacy vif was merged[2], we need to add support
for v2.12 in shell too.

[1] - I18cf23847d3b2b01f5a6ffae2ebc4bede54babce
[2] - Ib3078125beb7beaa08a3408486db54e0d10763e6

Change-Id: Ie38d099b2babfd8424c7d15bd3dfe8bd75e51136
2016-01-22 20:26:54 +02:00
Jenkins
44edba9e1c Merge "Added support for Nova microversion 2.16" 2016-01-21 17:23:06 +00:00
Jenkins
8165c771ae Merge "[microversions] Add support for 2.15" 2016-01-21 17:22:59 +00:00
Jenkins
1cf3fa9d77 Merge "[microversions] Add support for 2.14" 2016-01-21 17:22:53 +00:00
Jenkins
c1aaf4431b Merge "Functional tests for flavors with public and non-public access" 2016-01-21 13:06:04 +00:00
Tomi Juvonen
48605fcb43 Added support for Nova microversion 2.16
Added support for new host_status attribute in endpoints
servers/detail and servers/{server_id}.

Partially implements blueprint get-valid-server-state

Change-Id: If72fbcaa02267077dc082a7557c593f35474c4bb
2016-01-19 15:31:22 +00:00
Anna Babich
20c65aac87 Functional tests for os-services
The added tests check functionality of os-services actions
except 'service-delete' (it's hard to recover after test running)

Also 'forced_down' attribute exposed by microversion 2.11
is checked here

Change-Id: I6652bac4ce49d5174592f19b1b4d91ac5bd51500
2016-01-19 16:33:41 +02:00
Anna Babich
f6e0dcd34c Functional tests for flavors with public and non-public access
The added tests check granting access actions for public and
non-public flavors

The test for microversion 2.7 checks that the appropriate
error is returned when attempting to grant an access
to a public flavor for the given tenant

The base TenantTest class has been added to avoid code
duplication in test_keypairs and test_flavor_access tests

Also, test_keypairs code has been modified in accordance with
TenantTestBase class usage

Change-Id: Icf21d8aceaa191aee8b8ffc7c52e97ebe9509b3d
2016-01-19 16:14:55 +02:00
Jenkins
6c37270c4e Merge "Add functional tests launcher for py3 env" 2016-01-16 03:56:26 +00:00
Andrey Kurilin
426f6afb3c Add functional tests launcher for py3 env
It would be nice to check not only unit test on py3 env, but functional
tests too.

Also, this patch fixes usage of xrange in functional tests.

Change-Id: I15ef204022583a40a02b3f2a48771347ddc95f3e
2016-01-15 13:25:33 +00:00
Jenkins
c819132c4c Merge "[microversions] Add support for API microversion 2.13" 2016-01-13 19:32:51 +00:00
Jenkins
f17bbbe95b Merge "Test: Clean v2 client userwarning" 2016-01-13 19:32:43 +00:00
Jenkins
c6c5a60a63 Merge "Add a mechanism to call out deprecated options" 2016-01-13 19:32:16 +00:00
Balazs Gibizer
7cc26eee72 [microversions] Add support for 2.15
With I3f156d5e5df4d9642bb4b0ffac30a6288459ce61 nova introduced
microversion 2.15 which adds two new policies soft-affinty and
soft-anti-affinity for the server-group api.

This patch bumps the nova client microversion support to 2.15.
The novaclient is transparent regarding the policy value of the
server-group api so no further changes are needed. However the
help text of the policies parameter mentioned the possible policies.
This was removed as the current framework does not support providing
different help text for a parameter depending on the microversion.

Implements: blueprint soft-affinity-for-server-group
Change-Id: I739ed1dd3e4c15e28a269c4f980a12a74fb1def0
2016-01-12 17:30:16 +01:00
Chaozhe.Chen
14f63647e9 Test: Clean v2 client userwarning
Problem:
When we run nova client unit test, there are lots of UserWarnings
printed on the screen. These warnings mean to remind users not to
use v2.client directly.

Solution:
1. In top level tests such as some tests in test_auth_plugins.py
test_client.py and fixture_data/client.py, we use updated usage
novaclient.client instead of using novaclient.v2.client directly.
2. In v2 unit tests, we clean those warnings with setting direct_use
False.

Change-Id: I70682e54874860f1d67d29325811c9da616bb705
Closes-Bug: #1532711
2016-01-12 12:05:50 +08:00
Dirk Mueller
fa3a8edf20 Fix W503 line break before binary operator
According to PEP8 the line break should be always after
a binary operator.

Change-Id: I9d0f6909d0e649fe740b748b831894ccb4e80b15
2016-01-09 09:27:38 +01:00
Kevin L. Mitchell
08c4b746b2 Add a mechanism to call out deprecated options
We have had deprecated command line options in novaclient for a long
time, but no warnings about the deprecations were ever emitted, despite
the help text being suppressed.  It would be nice to finally get rid of
those deprecated options.  This change sets up the precondition to
accomplish this, by emitting appropriate warnings when a deprecated
option is used.

Note: The "use" text for the deprecated options has been deliberately
      chosen to reduce the number of translations required.

Change-Id: Ibe13faa56c5abca97f85f9c5172ef5a5591b5f71
2016-01-07 11:07:44 -06:00
LiuNanke
6d023a6bc2 Replace assertTrue(isinstance()) by optimal assert
assertTrue(isinstance(A, B)) or assertEqual(type(A), B) in tests
should be replaced by assertIsInstance(A, B) provided by testtools.

Change-Id: Ie4fe7b40e3f4350db94b350395269340ee6acf11
Related-bug: #1268480
2016-01-07 02:55:45 +08:00
Jenkins
7d05f540ea Merge "Use assertTrue/False instead of assertEqual(T/F)" 2016-01-06 14:55:20 +00:00
Jenkins
802b016a9f Merge "[microversions] share one object for shell arguments" 2016-01-05 15:50:18 +00:00
Jenkins
60997a5997 Merge "Validate the fixed ip address passed with --nic" 2016-01-04 20:11:41 +00:00
Jenkins
6bc5b3ef2a Merge "Fixed test_shell which can't test microversions>=2.4" 2016-01-04 15:27:35 +00:00
yangyapeng
06be50b97a Use assertTrue/False instead of assertEqual(T/F)
The usage of assertEqual(True/False, ***) should be changed
to a meaningful format of assertTrue/False(***).

Change-Id: I66110e5fc1afdf9dd6824b1f7bcb7b2c091a272d
Closes-Bug: #1512207
2016-01-04 09:52:04 -05:00
Jenkins
86a9cc8371 Merge "Fix help strings" 2016-01-04 13:32:43 +00:00
Jenkins
2d96c2c9bb Merge "Cleanup needless code from oslo-incubator" 2016-01-04 13:30:18 +00:00
Balazs Gibizer
5a3956c399 [microversions] Add support for 2.14
In I54bfa1275e188573c1b95d770d89160a86cdf52c the onSharedStorage
flag is removed from the evacuate API. This patch removes it from
the novaclient as well.

Implements: bp remove-shared-storage-flag-in-evacuate-api
Change-Id: I5ae75fdac226f0246f22a4d5245c1e4952571fc1
2015-12-31 12:51:45 +01:00
Andreas Jaeger
8f320313f3 Fix help strings
Reviewing the import of novaclient 3.1.0 into the CLI Reference (change
Ib39cdfdd563a2a53f0e6de1f8d2dc4f8c4678c15), a few inconsistencies where
found and fixed:
* Missing "." at end of help string
* Inconsistent capitalization of "DEPRECATED, use"
* Inconsistent capitalization of "Set or delete"
* It's IPv4 and IPv6
* It's ID

Change-Id: I425cd6575ca31efd92fc7f0be6192031886fcc41
2015-12-28 08:10:44 +01:00
Zhihai Song
dd6b3cd394 Validate the fixed ip address passed with --nic
Currently fixed ip address passed with --nic is not validated.
This patch add the validation to the fixed address.

Change-Id: I032cc9ce9333b723d37e94b81d699cc0d78d36bf
Closes-Bug: #1528455
2015-12-23 15:11:40 +08:00
Kevin_Zheng
b6677ebc03 [microversions] Add support for API microversion 2.13
Nova now supports API microversion 2.13 to
allow return project_id and user_id for
os-server-groups API. Sync this to the
client side.

Change-Id: Ia09ab4bd5c693ed95b0f5dd9bc709b7597f7034e
Closes-Bug: #1526143
2015-12-23 06:39:13 +00:00
Andrey Kurilin
fd450d8c60 [microversions] share one object for shell arguments
I8d599b712b17dcfc0be940a61c537d2dfe1b715b change provides a wrong fix for
an issue with cli arguments.

_find_actions method is designed to find all action methods(do_server_list,
do_server_show and etc). Since one module can include several versions of
one action(after microversion implementation) and only the last one will
be registrated in module, _find_actions method was adopted to handle
versioned methods.
Now it checks that discovered method is related to versioning stuff and
replace it by appropriate(in terms of microversions) functions. In this case,
the substituation is used only to determine function name and that it relates
to versioning methods. That is why the change(see a change-id above) is not
help at all.

We should share list object named "arguments"(it used by all action methods to
store cli arguments) with substitution and original method(which will be used
by _find_action). It will allow to put api_versions.wraps and cliutils.arg
decorators in any order.

Change-Id: Ief316a8597555db6cb02c9f23406b9f1f09f8313
2015-12-22 15:17:12 +02:00
Sergey Nikitin
9cd9adb38c Fixed test_shell which can't test microversions>=2.4
Method run_command() gets max and min API verisons
from FakeHTTPClient.get_versions(). That's why max version
which could be tested by run)command is 2.3 (because it's
hardcoded in get_versions()).

get_versions() should return max and min versions from
novaclient.__init__.py

Closes-Bug: #1528527

Change-Id: I489c4714cacb345d3b45d5987113093c038cf151
2015-12-22 14:08:44 +03:00
Jenkins
7c3ce18e4d Merge "Validation for arguments of list command passed by "--fields"" 2015-12-18 22:44:53 +00:00
Andrey Kurilin
01961d68a2 Cleanup needless code from oslo-incubator
oslo-incubator was deprecated and all modules used by novaclient were
removed from oslo-incubator master branch. This patch removes all unused
code from novaclient's repo.

Change-Id: Ie3c542d19da6ed4d25ec490faf6a86a82f48cd34
2015-12-18 08:46:12 +00:00
Jenkins
36e125a61e Merge "Allow command line for virtual-interface-list" 2015-12-17 19:33:21 +00:00
Jenkins
0c9abf02c9 Merge "[functional-test] add v2.8 functional test" 2015-12-17 18:02:54 +00:00
Mitsuhiro Tanino
bbdedc681d Validation for arguments of list command passed by "--fields"
When user specifies some attributes using "--fields" subcommand for
"nova list" and "nova network-list", these attributes are shown in
the list even if the server or network don't have these attributes
in their object.

Before passing attributes via "--fields", we should validate values
and if non-existent attributes are included, error will be raised.

Change-Id: I3eb4810993259515ee33a72e8bd99f9951721b60
Closes-Bug: #1522989
2015-12-17 12:46:22 -05:00
jichenjc
6b0fe2a424 Allow command line for virtual-interface-list
There is virtual-interface-list API support in nova but no
command line interface in novaclient, this patch adds it.

Closes-Bug: 1522424

Change-Id: Ib3078125beb7beaa08a3408486db54e0d10763e6
2015-12-17 12:41:43 +00:00
Jenkins
ebdcf077eb Merge "Change the logic for the client to retrive resources" 2015-12-16 15:34:17 +00:00
Jenkins
88ef0542dc Merge "Migrate to keystoneauth from keystoneclient" 2015-12-16 15:06:19 +00:00
Jenkins
2e5b08cd63 Merge "[functional-tests] fix version of novaclient instance" 2015-12-16 15:02:39 +00:00
Jenkins
e75a1cfc75 Merge "Enable pass instance name as parameter in nova cli" 2015-12-16 14:08:26 +00:00
Jenkins
29c701b8ad Merge "Fix help message in case of microversions" 2015-12-16 14:04:58 +00:00
Jenkins
aa2687b3f7 Merge "[microversions] Increase max version to 2.12" 2015-12-14 21:11:10 +00:00
Jenkins
55351d0135 Merge "[microversions] Add support for 2.10" 2015-12-14 20:43:16 +00:00
Monty Taylor
1f11840dd8 Migrate to keystoneauth from keystoneclient
As a stepping stone to the os-client-config patch, first switch to
using keystoneauth, its Session and its argparse registration and
plugin loading to sort out any issues with that level of plumbing.
The next patch will layer on the ability to use os-client-config
for argument processing and client construction.

Change-Id: Id681e5eb56b47d06000620f7c92c9b0c5f8d4408
2015-12-12 20:39:57 -08:00
jichenjc
9857dd2523 [functional-test] add v2.8 functional test
add functional test for v2.8 API (webmks console type
enablement).
Also, fixed an issue related to v2.8 microversion
enablement for the console API.

Change-Id: I7660a189cc3051dd7dbc802ad2d40a4995b44960
2015-12-11 21:46:02 +08:00
Jenkins
250c360262 Merge "[microversions] update test_versions with implemented versions" 2015-12-10 23:51:18 +00:00