16.0.0
This release indicates end of support for Mitaka in Tempest.
New Features
- Add a new client to handle the OAUTH consumers feature from the identity API.
- Add missing API call, list all role inference rules,
to the roles_client library. This feature enables the
possibility of listing all role inference rules in the
system.
- Add cascade parameter to volumes_client.
This option provides the ability to delete a volume and have Cinder
handle deletion of snapshots associated with that volume by passing
an additional argument to volume delete, “cascade=True”.
- Define the compute server evacuate client method in the servers_client library.
- Add the list auth projects API to the identity client library. This feature
enables the possibility to list projects that are available to be scoped
to based on the X-Auth-Token provided in the request.
- Add versions_client module for image service.
This new module provides list_versions() method which shows API versions
from Image service.
- Add the list security groups by server API to the servers_client
library. This feature enables the possibility to list security
groups for a server instance.
- Add versions_client module for identity service.
This new module provides list_versions() method which shows API versions
from Identity service.
- Add versions_client module for volume service.
This new module provides list_versions() method which shows API versions
from Volume service.
- Interface show_quota_set of compute quotas_client has been extended to include the
argument “detail”, which allows for detailed quota set information for a project to be
retrieved, if set to True.
- Add remote_client under tempest.lib.
This remote_client under tempest.lib is defined as stable
interface, and now this module provides the following
essential methods.
- exec_command
- validate_authentication
- ping_host
- Adds a new cli option to tempest run, –combine, which is used to indicate
you want the subunit stream output combined with the previous run’s in
the testr repository
- Add update encryption type API to the v2 encryption_types_client library.
This feature enables the possibility to update an encryption type for an
existing volume type.
- Add the unmanage volume API service method in v2 volumes_client library.
Define v2 volume_manage_client client for the volume service as library
interfaces, allowing other projects to use this module as stable libraries
without maintenance changes.
- Add server tags APIs to the servers_client library.
This feature enables the possibility of upating, deleting
and checking existence of a tag on a server, as well
as updating and deleting all tags on a server.
- Define volume transfers service clients as libraries.
The following volume transfers service clients are defined as library interface.
Upgrade Notes
- The
JSON_ENC
and TXT_ENC
option in the _error_checker
section have been added with additional content-type which are defined in RFC7231 but missing in the currnt rest_client.py file. The lack of these additional content-type will cause defcore test to fail for OpenStack public cloud which uses tomcat module in the api gateway. The additions are application/json;charset=utf-8
, text/html;charset=utf-8
,“text/plain;charset=utf-8“
- The default value of rand_name()’s prefix argument is changed to ‘tempest’ from None to identify resources are created by Tempest.
- The volume config option ‘api_v1’ default is changed to
False
because the volume v1 API has been deprecated
since Juno release.
- The call_until_true of test module is removed because it was marked as deprecated and Tempest provides it from test_utils as a stable interface instead. Please switch to use test_utils.call_until_true if necessary.
- Remove Cinder v1 API tests. Cinder v1 API has been deprecated since Juno release, and Juno is not supported by current Tempest. Then Cinder v1 API tests are removed from Tempest.
- The deprecated config option ‘allow_port_security_disabled’ from compute_feature_enabled
group has been removed.
- Below deprecated config options from compute group have been removed.
Corresponding config options already been available in validation group.
compute.image_ssh_user
(available as validation.image_ssh_user
)
compute.ssh_user
(available as validation.image_ssh_user
)
scenario.ssh_user
(available as validation.image_ssh_user
)
compute.network_for_ssh
(available as validation.network_for_ssh
)
compute.ping_timeout `` (available as ``validation.ping_timeout
)
- The deprecated config option ‘dvr_extra_resources’ from network group has been removed.
This option was for extra resources which were provisioned to bind a router to Neutron
L3 agent. The extra resources need to be provisioned in Liberty release or older,
and are not required since Mitaka release. Current Tempest doesn’t support Liberty, so
this option has been removed from Tempest.
- The deprecated config option ‘reseller’ from identity_feature_enabled group has been removed.
- The deprecated
volume_services
option in the volume_feature_enabled
section has now been removed.
- Tempest now defaults to using Keystone v3 API for the authentication, because Keystone v3 API is CURRENT and the v2 API is deprecated.
Deprecation Notes
- The
deactivate_image
configuration switch from the config
module
is deprecated. It was added to support the older-than-kilo releases
which we don’t support anymore.
- The
dvr_extra_resources
configuration switch from the config
module
is deprecated. It was added to support the Liberty Release which we don’t
support anymore.
- Glance v1 APIs are deprecated and v2 are current.
Tempest should tests only v2 APIs.
Below API version selection config options
for glance have been deprecated and will be removed in future.
- CONF.image_feature_enabled.api_v2
- CONF.image_feature_enabled.api_v1
- The resources_prefix is marked as deprecated because it is enough to set ‘tempest’ as the prefix on rand_name() to ideintify resources which are created by Tempest and no projects set this option on OpenStack dev community.
- The
skip_unless_attr
decorator in lib/decorators.py has been deprecated, please use the standard testtools.skipUnless
and testtools.skipIf
decorators.
- The
skip_unless_config
and skip_if_config
decorators in the config
module have been deprecated and will be removed in the Queens dev cycle. Use the testtools.skipUnless
(or a variation of) instead.
- Volume v1 API is deprecated and the v3 are CURRENT.
Tempest doesn’t need to test the v1 API as the default.
The volume config option ‘api_v1’ has been marked as
deprecated.
- Deprecate volume v2 transfers resource methods from volumes_client(v2) libraries.
Same methods are available in new transfers service client: transfers_client(v2)
The following methods of volume v2 volumes_clients have been deprecated:
- create_volume_transfer (v2.volumes_client)
- show_volume_transfer (v2.volumes_client)
- list_volume_transfers (v2.volumes_client)
- delete_volume_transfer (v2.volumes_client)
- accept_volume_transfer (v2.volumes_client)
Bug Fixes
- Fix below volume v2 service clients to make v2 API call: Bug#1667354
- SchedulerStatsClient
- CapabilitiesClient
- The ‘sahara’ config option in the ‘service-available’ group has been moved to the sahara plugin
(openstack/sahara-tests) along with tests and service client during the Ocata timeframe.
A ‘sahara’ config option was left over on Tempest side, and it’s removed now.
As long as the sahara plugin is installed, this change as no impact on users of sahara tests.
Other Notes
OpenStack Releases Supported after this release are Newton
and Ocata
The release under current development as of this tag is Pike,
meaning that every Tempest commit is also tested against master branch
during the Pike cycle. However, this does not necessarily mean that
using Tempest as of this tag will work against Pike (or future
releases) cloud.