v20.0.0 Release Notes¶
20.0.0 Release Notes¶
20.0.0¶
Prelude¶
This release is to tag the Tempest for OpenStack Stein release. This release marks the start of Stein release support in Tempest and the end of support for Ocata in Tempest. After this release, Tempest will support below OpenStack Releases:
Stein
Rocky
Queens
Pike
Current development of Tempest is for OpenStack Train development cycle. Every Tempest commit is also tested against master during the Train cycle. However, this does not necessarily mean that using Tempest as of this tag will work against a Train (or future release) cloud. To be on safe side, use this tag to test the OpenStack Stein release.
New Features¶
Add basic read-only Placement client to Tempest to make possible the testing of the placement based bandwidth allocation feature. The following API calls are available for tempest from now:
GET /allocation_candidates
GET /allocations/{consumer_uuid}
Add new config group
placement
, with the config options:endpoint_type
to use for communication with placement service.catalog_type
of the placement service.region
as the placement region name to use.min_microversion
andmax_microversion
as the range between placement API requests are sent.
Add a new config setting
immutable_user_source
in the[identity-feature-enabled]
group that defaults to false. This setting, combined with the usage of the@testtools.skipIf()
decorator, will allow tests that require user creation, deletion, or modification to skip instead of failing in environments that are LDAP-backed. In such environments, the user source is read-only, so this feature flag is needed to allow such tests to gracefully skip without having to blacklist them.
Add support of OSProfiler library for profiling and distributed tracing of OpenStack. A new config option
key
in sectionprofiler
is added, the option sets the secret key used to enable profiling in OpenStack services. The value needs to correspond to the one specified in [profiler]/hmac_keys option of OpenStack services.
A new parameter
follow_redirects
has been added to the classRestClient
, which is passed through toClosingHttp
orClosingProxyHttp
respectively. The default value isTrue
which corresponds to the previous behaviour of following up to five redirections before returning a response. Settingfollow_redirects = False
allows to disable this behaviour, so that any redirect that is received is directly returned to the caller. This allows tests to verify that an API is responding with a redirect.
Adds the new method to AgentsClient that implements agent deletion according to the API [0]. [0] https://developer.openstack.org/api-ref/network/v2/index.html#delete-agent
The
tempest.lib.decorators.attr
decorator now supports acondition
kwarg which can be used to conditionally apply the attr to the test function if the condition evaluates to True.
Add
show_version
function to theNetworkVersionsClient
client. This allows the possibility of getting details for Networking API.
Upgrade Notes¶
Changed the default value of ‘api_v1’ config option in the ‘image-feature-enabled’ group to False from True, because glance v1 APIs are deprecated. Please set True explicitly on the option if still testing glance v1 APIs.
The
tempest-full
,tempest-full-py3
andtempest-slow
zuul v3 job configurations now setENABLE_VOLUME_MULTIATTACH: true
in thedevstack_localrc
variables section. If you have a plugin job configuration that inherits from one of these jobs and the backend cinder volume driver or nova compute driver do not support volume multiattach then you should override and set this variable toENABLE_VOLUME_MULTIATTACH: false
in your job configuration.
Below config option was deprecated for removal since juno release. It’s time to remove it as all supported stable branches and Tempest plugins are good to handle it.
[volume_feature_enabled].api_v1
Also Tempest removes the below corresponding service clients alias from client.py which were being set based on above removed config option.
self.backups_client
self.encryption_types_client
self.snapshots_client
self.volume_availability_zone_client
self.volume_hosts_client
self.volume_limits_client
self.volume_qos_client
self.volume_quotas_client
self.volume_services_client
self.volume_types_client
self.volumes_client
self.volumes_extension_client
tempest.lib.common.utils.misc.find_test_caller
was deprecated during Kilo release cycle in favor oftempest.lib.common.utils.test_utils.find_test_caller
. The deprecated version offind_test_caller
is removed.
CONF.validation.run_validation
default enabled. This option required to be settrue
in order to run api tests stability when the guest cooperation required. For example when the guest needs react on Volume/Interface detach. The ssh test makes sure the VM is alive and ready when the detach needs to happen. The option was enabled on the gate for a long time.
Deprecation Notes¶
The
scheduler_available_filters
option is being deprecated in favor ofscheduler_enabled_filters
. The new name is more indicative of what the option means.scheduler_enabled_filters
’s default value is set to the default value of Nova’senabled_filters
.scheduler_available_filters
’s default was all. There was confusion around this value. Sometimes it was understood to mean the default Nova filters are enabled, other times it was understood to mean all filters are enabled. While all is still allowed forscheduler_enabled_filters
for backwards compatibility, it is strongly recommended to provide an explicit list of filters that matches what’s configured in nova.conf.
Bug Fixes¶
[bug 1616892] Tempest now allows tests to verify that an API responds with a redirect.
Fixed bug #1791007.
tempest workspace register
andtempest workspace rename
CLI will error if None or empty string is passed in –name arguments. Earlier both CLI used to accept the None or empty string as name which was confusing.
Fixed bug #1799883.
tempest workspace register
andtempest workspace move
CLI will now validate the value of the--path
CLI argument and raise an exception if it is None or empty string. Earlier both CLI actions were accepting None or empty path which was confusing.
Fixed bug #1808473.
tempest run
CLI will error if a non-exist config file is input to parameter –config-file. Earlier non-exist config value was silently getting ignored and the default config file was used instead which used to give false behavior to the user on using the passed config file.
Patch https://review.opendev.org/#/c/499575/ introduced support creating Neutron port with certain capabilities. Currently capabilities list interpreted as string this change fix it.
tempest.conf [network] port_profile = capabilities:[switchdev]
result: {‘capabilities’:’[switchdev]’}
expected: {‘capabilities’: [‘switchdev’]}