Following stestr's example where arguments such as --blacklist-file,
--black-regex and --whitelist-file are deprecated since its
3.1.0 release, let's do the change here as well in order to
get tempest consumers some time for the transition.
This change deprecates the following arguments and replaces them
by new ones which are functionally equivavelnt:
* --black-regex is replaced by --exclude-regex
* --blacklist-file is replaced by --exclude-list
* --whitelist-file is replaced by --include-list
For now, Tempest will accept both (new and old) arguments to make
the transition smoother for all consumers.
The patch also bumps min version of tox to 3.18.0 in order to
replace tox's whitelist_externals by allowlist_externals option:
This change adds support for the nine default personas for the
pre-provisioned credentials provider, as well as a sample accounts.yaml
file. With this, service projects should be able to use either dynamic
or pre-provisioned credentials for testing new policy defaults that use
system, domain, or project scope and the admin, member or reader default
It's not used anymore. There was general consensus in Feb 2016
to deprecate it (see ) and remove it in Newton.
 [qa] deprecating Tempest stress framework
Javelin CLI utilities has been deprecated in Jan 2016
which is over 6 months of Tempest deprecation period.
This patch removes the javelin CLI and corresponding doc/sample
This commit moves the oslo config generator config file from living as
a data file, which makes it very difficult to rely on, to just living
in the package. By including it in the package we have a guaranteed
relative path we can rely on for building utilities on it, like the
tempest init command.
Partially-implements: bp tempest-run-cmd
Fixing V3 credential behavior so that contradicting parameter combinations
do not result in unpredictable behavior. Updating accounts.yaml.sample
file to reference the correct location of the credentials
classes and to describe the updated behavior of Identity V3 attributes.
Init command was not working properly as it could not locate the
configuration sample file.
- Move config-generator.tempest.conf to etc so it will be installed
- Update all files with new path to config-generator-tempest.conf as
- Refactor init command so if it detects we are not in a virtual
environment, try to find the global config directory /etc/tempest.
If that fails fallback to [sys.prefix]/etc/tempest.
This removes the check on in tree sample generation to ensure the file
matches the config options. However, to counter the loss of the in-tree
the tempest init command will now automatically generate a new sample
config in the local etc dir when run. This will include all of the oslo
options that were previously included in the in-tree sample file.
Additionally, the docs now contain the complete text of the generated
sample output. These also get published on docs.openstack.org on each
commit to tempest. Between this 2 alternatives there shouldn't be a need
to keep the file in tree anymore, especially given the weekly headaches
with new oslo releases changing the config option help breaking the job.
This commit refreshes the sample config in-tree to unbreak the gate
once again. This weekly exercise is becoming tiring, hopefully we can
land the changes to stop gating on this before the next release that
The problem was that the value of admin_domain_name was required in order to
use identity v3 even if no admin was being used.
A new option auth.default_credentials_domain_name
is used instead of admin_domain_name except when requesting admin creds.
This defaults to 'Default' which is the name keystone uses for compatibility
Because tenant_isolation and pre-provisioned credentials are mutually
exclusive, and to avoid having too many config options, the new option is
used instead of tenant_isolation_domain_name as well.
The 2.1.0 release of oslo.config changed another default config value.
This causes the sample config job to break because the config options
not defined in the tempest repo to change. This commit fixes this for
the time being. However, as a long term fix the job must be changed to
only generate a sample config for in tree options, and leverage tempest
init to generate a full config for tempest plus the oslo libs.
Nova commit 322cc9336fe6f6fe9b3f0da33c6b26a3e5ea9b0c added the
neutron.allow_duplicate_networks config option in Juno and it defaults
to False. To test it, we need a feature toggle in Tempest so anything
testing against a default Nova setup doesn't fail.
Separate changes will be made to devstack.
Also note Nova change Ideeb3c137ff68a4497189670be33f6edbb0ccb76 which
deprecated the option in Kilo and change
Icb3510bcf0c30e11d0304a86ead91a43f37602ec which removed it in Liberty,
Once kilo-eol happens this is the default behavior in Nova and we can
remove the config option from Tempest.
Related devstack change: Ifd075420f57c9b60746f4a6af6520c0ef04800db
Co-Authored-By: Racha Ben Ali <firstname.lastname@example.org>
This commit contains 2 unrelated fixes, updates the sample config to
reflect changes in a recent oslo.log release and remove direct calls
to fixtures cleanUp(). Normally we don't want to do this and should
have only 1 fix per patch. However, because they are both breaking the
tempest gate at the same time and preventing anything from landing if
we don't land them in a single patch neither fix will be able to land.
The fixtures 1.3.0 release started enforcing that manually calling the
cleanUp() function for a fixture that was created using useFixture()
was a bad idea. It's basically saying we don't want to manage the
fixture lifecycle but at the same time want to manually run cleanUp().
This enforcement included in the new release has been causing several
unit test failures when running with that release. This commit
addresses this by removing all the uses of this call straightup as it
turns out it was unecessary, or changing the tests to not rely on it
When running tempest several resources are created and afterwards
deleted. On systems where the cloud under tests is not destroyed
after the tests, it is useful to be able to associated resources
to specific test jobs and test runs.
The 'rand_name' function in tempest-lib exposes a prefix option,
which tempest does not use at the moment.
Adding a new configuration option to make the prefix configurable.
Creating a local version of the rand_name util, which passes the
prefix from configuration. Eventually all calls of rand_name
shall be redirected from tempest_lib to the local version.
In this patch, only the credentials provider is change to
validate that the mechanism is working. Follow-up patches will
migrate the rest of the code base.
Co-Authored-By: Fei Long Wang (email@example.com)
This patch implements changes needed to remove the usage of
deprecated tempest ssh configuration parameters and replace it
with the parameters set by ssh auth strategy blueprint
Partially implements: blueprint ssh-auth-strategy
Ic2e5bd127c9f3a0f2807a25f29d8693baf3d65f2 of oslo.log has changed
the description of use_syslog, but current tempest.conf.sample does
not contain this change. As the result, the pep8 test continuously
fails on the gate now.
This patch fixes this description.
In addition, this patch adds fake body message to NotFound in
javelin test for avoiding the gate problem.
These gate problems happened at the same time, so this patch contains
mutiple purposes but that is necessary for fixing at the same time.
TestEncryptedCinderVolumes passes for the ceph job today but it's a
false positive since the rbd volume driver in cinder does not return the
'encrypted' key in it's connection_info dict from the
os-initialize_connection API to Nova, and Nova keys off 'encrypted' in
connection_info to see if it should run the volume encryption provider
when attaching the volume (in the case of the libvirt driver in Nova).
Cinder change I03f8cae05cc117e14f7482115de685fc9f3fa54a sets the
'encrypted' key in connection_info for rbd volumes which then makes Nova
attempt volume encryption but that fails for the rbd volume type since
it's not currently supported in Nova. Eventually the tests fail in
Tempest because the volume status does not go to 'in-use' since the
This change adds a config option so that the encrypted cinder volume
tests can be skipped in the ceph job until rbd volume encryption is
supported in Nova.
An alternative to a new config option would be to check if the
CONF.volume.storage_protocol is 'ceph' and raise a skip exception for
bug 1463525, but given the number of other cinder volume drivers that
might have this same issue I figured it was best to make Tempest
configurable rather than hard-code all of the invalid storage protocols
in the test.
Our remote ssh code makes all kinds of assumptions about the shell and
path of the guest. Recently some code was added to the command to generate
errors more promptly but it does not work if the shell is /bin/sh. This
commit allows the user to configure tempest with a desired prologue to handle
this case. It does nothing to solve the more general problem and, like the
other image-related options, cannot be customized individually for various
images that tempest may use.
Debug logging of remote commands was also added.
Adding the api support for these commands.
Deactivate and reactivate image action is done by admin tenant.
- Added admin folder to image tests
- Added support for admin image classes for v1 and v2
- Added config deactivate_image , this feature is not running on
- Added a testcase for image deactivate.
In Kilo, Ironic introduced Node cleaning - an optional (but default
enabled) step which is performed after deletion and before returning a
node to the available pool.
Devstack change https://review.openstack.org/#/c/168175/ overrides the
default to 300 already. This patch is just copying that default into
Co-authored-by: SHIGEMATSU Mitsuhiro <firstname.lastname@example.org>
This commit adds a new config option to the auth section,
create_isolated_networks, to disable tenant isolation from attempting
to create an isolated network stack on each created tenant. This is
needed because in certain neutron configurations the extra resource
creations are not need or not allowed.
This commit updates the tempest sample config file to
include changes in the latest oslo.log release, 1.2.0.
This is needed to unblock the sample config generation
job which is failing because the in-tree tempest sample
config file differs from what is generated with a fresh
Default domain is part of Keystone APIv3 domains feature added in Grizzly
backward compatibility for APIv2 which is not aware of domain concept.
Summary of scope this change:
* added new variable 'default_domain_id'
in tempest.conf (default value 'default')
* new test: default domain must exists (backward compatibility)
Some images require additional properties.
This change adds dictionary option "img_properties"
to the "scenario" config section.
For example, to work with Parallels Containers, specify vm_mode:
img_properties = vm_mode:exe
By occasion, we fix handling properties in _image_create in scenario/manager.py:
disk_format is an x-image-meta-* option, and kernel_id, ramdisk_id are properties.
This commit adds to cinder client a bootable capability
supported flags are True or False.
And a testcase for changing the bootable flag from true to false.
Update bootable volume is not supported on icehouse
Added new flag under config.py - to enbale this feature by request
This commit adds a new config option to the config group to trigger
all the validation code. It also deprecates the run_ssh option in the
compute group since this will eventually be used globally. The intent
of this option is so that it will trigger both the creation of any
validation resources as well as used as run_ssh was originally
intended, to trigger ssh into nodes when needed.
Partially-Implements: bp ssh-auth-strategy
The cli tests have been marked for removal for ~6 months and the
framework was the first thing included in tempest lib. There has
been more than enough time for all the projects to pick this up
in the client repos. So let's remove it all!
As part of this a couple of missing entries for tempest's
requirements.txt were found. These dependencies were being installed
by the clients so the fact they were missing was never noticed prior
to this. This commit also adds these missing entries back into the
Nova change Ib38eaf412cb51a9cbfc443c5ec15c5797265ddae adds support for
doing live migration of a paused instance, this adds the test to cover
This also depends on a series of devstack-gate changes to support
multi-host testing in the experimental queue. Specifically, this is
tested in the check-tempest-dsvm-aiopcpu-full job.
Co-Authored By: "Matthew Gilliard <email@example.com>"
This commit cleans up some details in the accounts.yaml sample file
and the tempest configuration guide to provide missing details about
how to create and use an accounts file. Specifically it adds more
detailed comments to the sample file about each section, and in the
config guide it removes obsolete sections and adds some missing