[release-announce] [quality] tempest 17.1.0 (queens)

no-reply at openstack.org no-reply at openstack.org
Fri Oct 27 00:08:32 UTC 2017


We are satisfied to announce the release of:

tempest 17.1.0: OpenStack Integration Testing

This release is part of the queens release series.

Download the package from:

    https://pypi.python.org/pypi/tempest

For more details, please see below.

17.1.0
^^^^^^


Prelude
*******

This is an intermediate release during the Queens development cycle to
make new functionality available to plugins and other consumers.


New Features
************

* Adds a new cli option to tempest run, --load-list <list-file> to
  specify target tests to run from a list-file. The list-file supports
  the output format of the tempest run --list-tests command.

* Add reset group snapshot status API to v3 group_snapshots_client
  library, min_microversion of this API is 3.19. This feature enables
  the possibility to reset group snapshot status.

* Add reset group status API to v3 groups_client library,
  min_microversion of this API is 3.20. This feature enables the
  possibility to reset group status.

* Add the *validation_resources* module to tempest.lib. The module
  provides a set of helpers that can be used to provision and cleanup
  all the resources required to perform ping / ssh tests against a
  virtual machine: a keypair, a security group with targeted rules and
  a floating IP.

* Add the proxy_url optional parameter to the get_credentials method
  in tempest/lib/auth.py so that that helper can be used when going
  through and HTTP proxy.

* Add a new function called "compare_version_header_to_response" to
  "tempest.lib.common.api_version_utils", which compares the API
  micoversion in the response header to another microversion using the
  comparators defined in
  "tempest.lib.common.api_version_request.APIVersionRequest".

  It is now possible to determine how to retrieve an attribute from a
  response body of an API call, depending on the returned
  microversion.

  Add a new exception type called "InvalidParam" to
  "tempest.lib.exceptions", allowing the possibility of raising an
  exception if an invalid parameter is passed to a library function.

* Adds a new config options, "proxy_url". This options is used to
  configure running tempest through a proxy server.

* The RestClient class in tempest.lib.rest_client has a new kwarg
  parameters, "proxy_url", that is used to set a proxy server.

* A new class was added to tempest.lib.http, ClosingProxyHttp. This
  behaves identically to ClosingHttp except that it requires a proxy
  url and will establish a connection through a proxy

* A new boolean config option "domain_specific_drivers" is added to
  the section "identity-feature-enabled". This option must be enabled
  when testing an environment that is configured to use domain-
  specific identity drivers.

* Define below object storage service clients as libraries. Add new
  service clients to the library interface so the other projects can
  use these modules as stable libraries without any maintenance
  changes.

     * account_client

     * container_client

     * object_client

* Two extra modules are now marked as stable for plugins, test.py
  and clients.py. The former includes the test base class with its
  automatic credentials provisioning and test resource managing
  fixtures. The latter is built on top of ServiceClients and it adds
  aliases and a few custom configurations to it.


Upgrade Notes
*************

* As of the Queens release, tempest no longer tests the identity
  v2.0 API because the majority of the v2.0 API have been removed from
  the identity project. Once the Queens release reaches end-of-life,
  we can remove the v2.0 tempest tests and clean up v2.0 testing
  cruft.

* Remove deprecated APIs from volume v2 volumes_client, and the
  deprecated APIs are re-realized in volume v2 transfers_client.

  * create_volume_transfer

  * show_volume_transfer

  * list_volume_transfers

  * delete_volume_transfer

  * accept_volume_transfer

* Remove two deprecated skip decorators in "config" module:
  "skip_unless_config" and "skip_if_config".

* Remove deprecated get_ipv6_addr_by_EUI64 method from data_utils.
  Use the same method from oslo_utils.netutils.


Bug Fixes
*********

* Allow to specify new domain parameters:

  * *user_domain_name*

  * *user_domain_id*

  * *project_domain_name*

  * *project_domain_id*

  for CLIClient class, whose values will be substituted to "--os-user-
  domain-name", "--os-user-domain-id", "--os-project-domain-name" and
  "--os-project-domain-id" respectively during command execution.

  This allows to prevent possible test failures with authentication in
  Keystone v3. Bug: #1719687

* Fix list_group_snapshots API in v3 group_snapshots_client:
  Bug#1715786. The url path for list group snapshots with details API
  is changed from "?detail=True" to "/detail".

Changes in tempest 17.0.0..17.1.0
---------------------------------

a22794d Add release notes for an queens intermediate release.
b74a207 Fix test case for updating volume type extra specs
bf142fc Make test.py and clients.py as stable for plugins
cb94b5e Add proxy_url to get_credentials in auth
065eb4a Cap compute floating IPs tests
f082079 Don't read config in Manager class definition
1fbad23 Disable testing of the v2.0 identity API
1e446b5 Rename scenario.manager._create_port to create_port
529b7ec Fix "import xx as xx" grammer
986407d Move the object client to tempest.lib
7451440 Add config options to set proxy_url
98fe4ce Remove scenario.manager.rebuild_server
aec0809 Updated from global requirements
b61942d Do not set alias user_client for specific client
e9877c6 Remove _check_remote_connectivity in scenario.manager
b441134 Allow to specify user and project domains in CLIclient
0d4551b Only attempt to detach an in-use volume during cleanup
ba0e553 Rename base.rebuild_server to base.recreate_server
420a019 Refactor of _check_tenant_network_connectivity
75891d8 Setup networking for live migration tests
712dafa Remove method get_ipv6_addr_by_EUI64
ebe4698 Update README to use stestr instead of testr for unit tests
f36476e Fix object_client methods to accept headers and query param
88eadcf Remove wrapper methods from object_client
50688db Fix senario test: test_swift_acl_anonymous_download
cddfdce Move object storage container_client to lib interface
ae0e27b Add release note for --load-list
eed4031 Fix create container method
0dc4f8e Add compare header version to test images oneserver
5d65cd7 Remove _project_network_cidr in security group tests
1056c13 Remove unnecessary global variables
dc6e2a8 Fill microversion doc for implemented volume tests
bd7ef1b Remove unnecessary client alias in AvailabilityZoneTestJson
23df2c0 Add test case for reset group snapshot status
1bac618 Fix volume group test
bbabe54 Remove unnecessary assertIn
fc6280f Remove redundant volume check in nova_volume_detach
e65ec45 Add compare header version to create_image_from_server helper
b0b272e Remove internal helper _default_security_group
6c9ca4e Add missing addCleanup of _delete_group_snapshot
5db1f11 Delete a volume by Non-admin privileges
7351cbd Fix create, update or delete container metadata method
871b1a8 Make list methods consistent for container client
afe96b8 Move internal helpers to the class that uses them
0befe81 Remove deprecated APIs from volume v2 volumes_client
f92e6d4 Remove deprecated skip decorators
ce3bb9b Fix the 'service' decorator path in doc
b1de7a1 Remove unneeded resource_cleanups in compute tests
1fc499e Compute volumes via addClassResourceCleanup
238818c Compute SG via addClassResourceCleanup
0d0a3f3 Compute servers via addClassResourceCleanup
decdcf6 Remove one-line helper _delete_volume
cca9974 Add test case for reset group status
3b2a215 Fix list_group_snapshots API in v3 group_snapshots_client
991d62d Updated from global requirements
fe879ea Fix a typo of a missing letter
d0b8ebd Switch to use stestr for unit tests directly
e1ed695 Move identity_utils to common.identity
ba712ac Add unit tests for not overriding setUpClass
08e42d4 Add unit tests for test class fixtures
9958367 Prepare setup_clients and resource_setup
a6c885a Prepare setup_credentials as stable
b72cf49 Move object storage account_client to lib interface
f78565d Use glance client to delete an image
1b9e59b Updated from global requirements
b17f7a3 Compute images via addClassResourceCleanup
c527df5 Remove unused _add_router_interface_with_subnet_id helper
a5440c8 Prepare skip_checks as stable interface
421dc3c Make skip_checks and setup_creds safe
bcbf1af1 Prepare network_resources as a stable interface
0477acc Make validation_resources a stable interface
9f416dd Stop implicit validation_resources provisioning
d48fc09 Remove unnecessary executable permissions
3be5748 Make resource_cleanup stable
9806f2d Add a validation resources fixture
8f018cb Capture logs when running unit tests
b0dbe4b Fix the redundant use of netaddr.IPNetwork
a54f170 Remove unnecessary class variable
7446709 Remove unused RFCViolation
aeef897 Remove "test_create_with_nonexistent_volume_type"
63ad7b3 Remove unused helper in RoutersTest
e84f818 Remove useless check in AttachInterfacesTestJSON
0a1f6c4 Remove unnecessary back slash
b4ec494 Make validation resources leak safe
ec61bac Get cidr/mask_bits according to ip_version in resource_setup
a1c3af3 [DOC] Fix "Title level inconsistent" warning
1dc2e23 Only choose available compute node as migration dest
6d5a48c Move data directory under doc/source
477fd02 doc migration: update the doc link address
510c0f9 Fix addCleanup in AutoAllocateNetworkTest
0dba54c Add --load-list argument to tempest to accept a non-regex whitelist
4315b63 Fix addCleanup order in test_volume_list_param_tenant
b830fae1d Use create_volume wrapper for volume creation
019ad73 Add cost time printing in wait_for_volume_resource_status
9ff5c28 Add compare header version function to tempest.lib
126f5a1 Fix for resetting snapshot status
af55ae3 Fix the test case for showing host
4f0887c Avoid using v3 volume clients when v3 is disabled
d2eb092 Add release notes page for v17
c9f271d Fix volume microversion link in doc
9cafd3d Fix identity tests when domain specific drivers are enabled
0cc76bf Test size extend for an attached volume
5febd73 [Doc] Remove html_use_smartypants config in doc
5a60991 Unskip test_reassign_port_between_servers


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |   1 +
.stestr.conf                                       |   4 +
HACKING.rst                                        |  12 +-
README.rst                                         |  10 +-
data/tempest-plugins-registry.header               |  23 -
...domain-param-in-cliclient-a270fcf35c8f09e6.yaml |  17 +
.../notes/add-load-list-cmd-35a4a2e6ea0a36fd.yaml  |   7 +
...v3-group-snapshots-client-248d41827daf2a0c.yaml |   6 +
...s-api-to-v3-groups-client-9aa048617c66756a.yaml |   6 +
...lidation-resources-to-lib-dc2600c4324ca4d7.yaml |   7 +
...proxy_url_get_credentials-aef66b085450513f.yaml |   6 +
...mpare-header-version-func-de5139b2161b3627.yaml |  15 +
...sable-identity-v2-testing-4ef1565d1a5aedcf.yaml |   7 +
...-list-group-snapshots-api-969d9321002c566c.yaml |   6 +
.../notes/http_proxy_config-cb39b55520e84db5.yaml  |   9 +
...termediate-queens-release-2f9f305775fca454.yaml |   4 +
...lient-as-stable-interface-d1b07c7e8f17bef6.yaml |  11 +
...is-from-v2-volumes-client-3ca4a5db5fea518f.yaml |  11 +
...eprecated-skip-decorators-f8b42d812d20b537.yaml |   5 +
...ve-get-ipv6-addr-by-EUI64-c79972d799c7a430.yaml |   5 +
...clients-stable-for-plugin-90b1e7dc83f28ccd.yaml |   8 +
releasenotes/source/conf.py                        |   4 -
releasenotes/source/index.rst                      |   1 +
releasenotes/source/v17.0.0.rst                    |   6 +
requirements.txt                                   |  18 +-
.../api/compute/admin/test_aggregates_negative.py  |  13 +-
.../compute/admin/test_auto_allocate_network.py    |   6 +-
tempest/api/compute/admin/test_create_server.py    |  34 +-
.../api/compute/admin/test_flavors_extra_specs.py  |  11 +-
.../admin/test_flavors_extra_specs_negative.py     |  11 +-
tempest/api/compute/admin/test_live_migration.py   |  12 +
tempest/api/compute/admin/test_quotas.py           |  25 +-
tempest/api/compute/admin/test_servers_negative.py |   4 +-
tempest/api/compute/base.py                        | 183 +++---
tempest/api/compute/flavors/test_flavors.py        |  10 +-
tempest/api/compute/floating_ips/base.py           |  18 +
.../floating_ips/test_floating_ips_actions.py      |  56 +-
.../test_floating_ips_actions_negative.py          |  28 +-
.../compute/floating_ips/test_list_floating_ips.py |  29 +-
.../test_list_floating_ips_negative.py             |  18 +-
tempest/api/compute/images/test_image_metadata.py  |   5 +-
.../api/compute/images/test_images_oneserver.py    |   8 +-
.../images/test_images_oneserver_negative.py       |  17 +-
.../api/compute/images/test_list_image_filters.py  |   6 +-
.../security_groups/test_security_groups.py        |   3 +-
.../api/compute/servers/test_attach_interfaces.py  |   4 -
tempest/api/compute/servers/test_create_server.py  |  16 +-
tempest/api/compute/servers/test_device_tagging.py |  12 +-
tempest/api/compute/servers/test_server_actions.py |  51 +-
.../api/compute/servers/test_server_personality.py |  58 +-
tempest/api/compute/servers/test_servers.py        |  40 +-
.../api/compute/servers/test_servers_negative.py   |   4 +-
tempest/api/compute/volumes/test_attach_volume.py  |  51 +-
tempest/api/identity/admin/v3/test_groups.py       |  12 +-
tempest/api/identity/admin/v3/test_list_users.py   |  21 +-
.../api/identity/admin/v3/test_oauth_consumers.py  |   2 +-
tempest/api/identity/admin/v3/test_tokens.py       |   6 +-
tempest/api/identity/v3/test_catalog.py            |   0
tempest/api/identity/v3/test_projects.py           |   3 +-
tempest/api/network/admin/test_quotas.py           |   8 +-
tempest/api/network/admin/test_routers.py          |  21 +-
tempest/api/network/base.py                        |   6 +
tempest/api/network/test_allowed_address_pair.py   |   7 +-
tempest/api/network/test_networks.py               |  26 +-
tempest/api/network/test_ports.py                  |  16 +-
tempest/api/network/test_routers.py                |  38 +-
tempest/api/network/test_routers_negative.py       |   7 +-
tempest/api/network/test_security_groups.py        |   4 +-
.../api/network/test_security_groups_negative.py   |   4 +-
tempest/api/object_storage/base.py                 |   4 +-
tempest/api/object_storage/test_account_bulk.py    |   2 +-
.../api/object_storage/test_account_services.py    |   2 +-
tempest/api/object_storage/test_container_acl.py   |  14 +-
.../object_storage/test_container_acl_negative.py  |  30 +-
.../api/object_storage/test_container_quotas.py    |   4 +-
.../api/object_storage/test_container_services.py  | 119 ++--
.../test_container_services_negative.py            |  53 +-
.../api/object_storage/test_container_staticweb.py |  33 +-
tempest/api/object_storage/test_container_sync.py  |   2 +-
tempest/api/object_storage/test_object_expiry.py   |   8 +-
tempest/api/object_storage/test_object_services.py | 117 ++--
tempest/api/object_storage/test_object_slo.py      |   2 +-
tempest/api/object_storage/test_object_version.py  |   8 +-
tempest/api/volume/admin/test_groups.py            | 157 ++++--
tempest/api/volume/admin/test_multi_backend.py     |  18 +-
tempest/api/volume/admin/test_snapshots_actions.py |  27 +-
tempest/api/volume/admin/test_user_messages.py     |   0
tempest/api/volume/admin/test_volume_hosts.py      |  37 +-
.../api/volume/admin/test_volume_quota_classes.py  |   6 +-
tempest/api/volume/admin/test_volume_quotas.py     |  10 +-
.../volume/admin/test_volume_types_extra_specs.py  |  18 +
.../api/volume/admin/test_volume_types_negative.py |   9 -
tempest/api/volume/admin/test_volumes_list.py      |   2 +-
tempest/api/volume/base.py                         |  19 +-
tempest/api/volume/test_availability_zone.py       |  10 +-
tempest/api/volume/test_volumes_extend.py          | 129 +++++
tempest/api/volume/test_volumes_negative.py        |   3 +-
tempest/clients.py                                 |  27 +-
tempest/cmd/run.py                                 |  14 +
tempest/cmd/verify_tempest_config.py               |   8 +-
tempest/common/compute.py                          |   2 +
tempest/common/identity.py                         |  38 ++
tempest/common/validation_resources.py             | 292 ----------
tempest/common/waiters.py                          |   2 +
tempest/config.py                                  | 109 +---
tempest/exceptions.py                              |   4 -
tempest/lib/auth.py                                |  13 +-
tempest/lib/cli/base.py                            |  24 +-
tempest/lib/common/api_version_utils.py            |  56 ++
tempest/lib/common/dynamic_creds.py                |  74 +--
tempest/lib/common/http.py                         |  41 ++
tempest/lib/common/preprov_creds.py                |  58 +-
tempest/lib/common/rest_client.py                  |  17 +-
tempest/lib/common/utils/data_utils.py             |  33 --
tempest/lib/common/validation_resources.py         | 457 +++++++++++++++
tempest/lib/exceptions.py                          |   4 +
tempest/lib/services/clients.py                    |  44 +-
tempest/lib/services/object_storage/__init__.py    |  25 +
.../lib/services/object_storage/account_client.py  |  78 +++
.../services/object_storage/container_client.py    | 124 ++++
.../lib/services/object_storage/object_client.py   | 165 ++++++
.../services/volume/v1/encryption_types_client.py  |   0
.../services/volume/v2/encryption_types_client.py  |   0
tempest/lib/services/volume/v2/volumes_client.py   |  32 --
.../services/volume/v3/group_snapshots_client.py   |  16 +-
tempest/lib/services/volume/v3/groups_client.py    |  11 +
tempest/scenario/manager.py                        | 139 +----
.../scenario/test_network_advanced_server_ops.py   |   2 +-
tempest/scenario/test_network_basic_ops.py         |  39 +-
tempest/scenario/test_object_storage_basic_ops.py  |  14 +-
tempest/services/object_storage/__init__.py        |  24 -
tempest/services/object_storage/account_client.py  |  99 ----
.../services/object_storage/container_client.py    | 150 -----
tempest/services/object_storage/object_client.py   | 231 --------
tempest/test.py                                    | 538 +++++++++++++-----
.../services/object_storage/test_object_client.py  | 108 ++++
.../volume/v3/test_group_snapshots_client.py       |  37 +-
.../lib/services/volume/v3/test_groups_client.py   |   9 +
.../services/object_storage/test_object_client.py  |   6 +-
test-requirements.txt                              |   2 +-
tools/generate-tempest-plugins-list.sh             |  12 +-
tools/tempest-plugin-sanity.sh                     |   2 +-
tox.ini                                            |   6 +-
169 files changed, 4282 insertions(+), 2318 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 36b9efa..8a2fa99 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,2 +5,2 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-cliff>=2.8.0 # Apache-2.0
-jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
+cliff!=2.9.0,>=2.8.0 # Apache-2.0
+jsonschema<3.0.0,>=2.6.0 # MIT
@@ -9 +9 @@ paramiko>=2.0.0 # LGPLv2.1+
-netaddr!=0.7.16,>=0.7.13 # BSD
+netaddr>=0.7.18 # BSD
@@ -11,2 +11,2 @@ testrepository>=0.0.18 # Apache-2.0/BSD
-oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0
+oslo.concurrency>=3.20.0 # Apache-2.0
+oslo.config>=4.6.0 # Apache-2.0
@@ -14,2 +14,2 @@ oslo.log>=3.30.0 # Apache-2.0
-oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0
-oslo.utils>=3.20.0 # Apache-2.0
+oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
+oslo.utils>=3.28.0 # Apache-2.0
@@ -22 +22 @@ PrettyTable<0.8,>=0.7.1 # BSD
-os-testr>=0.8.0 # Apache-2.0
+os-testr>=1.0.0 # Apache-2.0
@@ -25 +25 @@ debtcollector>=1.2.0 # Apache-2.0
-unittest2 # BSD
+unittest2>=1.1.0 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 29f0865..37644d0 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +7 @@ sphinx>=1.6.2 # BSD
-openstackdocstheme>=1.16.0 # Apache-2.0
+openstackdocstheme>=1.17.0 # Apache-2.0






More information about the Release-announce mailing list