stable/wallaby is in EM state and Tempest is going to be
pinned for stable/wallaby which need to modify run-tempest
role to use the constraints set by the devstack.
Tempest cleanup gathers the project, user, and role id. Since
commit a857880423, this info is collected but not used. In
specific cases this method raises an error so it's better to
With commit  support for dhcpcd client was added to tempest
but there was not cleaned one of the TODO notes related to that.
So this patch simply cleans that left over.
In the test_port_security_macspoofing_port test, NIC on one of the vms
is set to DOWN, MAC of this NIC is changed to the spoofed one and NIC is
then bring back to UP.
For some reason it works fine in Cirros 0.5.x but not in 0.6.0 and newer
as after bringinig interface back to be UP there is also need to restore
configured previously IP addresses.
This patch adds check of IPs configured on that NIC before it is switch
to DOWN and later restores the same IPs configuration when NIC is UP
In Cirros 0.6.0 and newer there is dhcpcd client used instead of old
udhcpc. This patch adds support to that new client in the
remote_client's renew_lease method.
This test causes excessive memory usage in the test executor as it
downloads glance image data in memory. This currently causes OOM issues
in the gate so the test case is skipped until the image data copying is
Tempest provides a LockFixture to avoid two potentially interfering
tests to run in parallel. However, this solution does not scale when
we want to separate a set of tests from many other test cases. For
example, host aggregate and availability zone testing needs compute
hosts without any nova servers to be able to test moving computes
between aggregates but a lot of other tests are creating nova
servers. To fully separate these aggregate tests from the rest of
the tempest test cases, this patch proposes a @serial class decorator
to mark a test class to be run totally independently of any other test
Under the hood, the @serial decorator is implemented with a tempest-wide
interprocess read-write lock. The serial test classes always take the
write lock, while the non-serial classes take the read lock. The lock
allows in many readers OR a single writer. So the serial tests are run
independently from the rest.
To minimize the time a serial test blocks other tempest tests run in
parallel, this patch also introduced a serial_tests test directory to
store the serial tests. The current test ordering in a fresh env
uses alphabetical order so the serial tests will run at the end of
the execution not randomly in the middle. The gate uses fresh VMs
for every run so we can rely on this optimization there. In local
envs where tests are re-run, the subsequent runs will be ordered at
runtime by stestr. Therfore, a longer runtime might be observed due to
locking, but the correctness of the test execution is still kept.
tox.ini started failing with Tox4 which had some
incompatible changes. One is passenv where we need
to pass each value in newline otherwise, it fails with
failed with pass_env values cannot contain whitespace,
use comma to have multiple values in a single line,
invalid values found.....
Also adding tempest in allowlist_externals as it is required
by unit test also.
Fixing tox.ini for tox4 changes.
tempest-centos9-stream-fips job has a long history of runs resulting to
Since the job defines some extra tasks for enabling FIPS, we hardly hit
the default timeout of 2 hours as shown in every failing build log.
If we really want this job, then we need to give it some extra space as
for the moment, apart from wasting CI resources into continuously failing
runs, we don't see any interest in it.
In some deployments when Nova Compute configured together with Ironic
service there are many test_live_migration.* tests failed with an
error "Migration pre-check error: Unable to migrate...". This change
fix the issue removing '*-ironic' hosts (used in Kolla-Ansible).
The other deployments (OpenStack-Ansible, TripleO, etc.) should
deploy the Ironic-Complute services with correct hostnames.
Signed-off-by: Maksim Malchuk <firstname.lastname@example.org>
We remove install_command because the value set here is basically the
default but with one small difference. It doesn't run using `python -m
pip` which means we could potentially find a global pip install which
installs to the wrong python by default. Using python -m pip as the tox
default does should ensure it consistently finds the venv pip.
Additionally we stop allowlisting all external commands to make problems
like this more apparent.
With patch I2e37603b098880b778100613800496b01167b22f some jobs based on
tempest-multinode-full-py3 on stein, train and ussuri branches started
to to run on Focal, howerer those run on Bionic previously.
This patch sets back to use Bionic for those branches.
We have many services (Nova, Neutron, Glance etc) implemented the
new RBAC (project scope and project personas). For these services,
all tests should pass as projects personas (project reader) does
not impact existing testing/usage.
keystone has system scope adopted in their policy for now which
we need to make it work for project scope also and until then
we will see test failing.
This commit adds a new tempest full job which enable the scope
and new defaults of RBAC for applicable services.
When we use create_test_server, waiters.wait_for_server_status
returns servers with more details (including server IP address in case
we don't use fip). It is needed successfully execute
wait_for_ssh_or_ping and finally get_server_ip. The last function
(get_server_ip) extract IP adress just from server dict and fails
if there is no adresses dict in it.
Replacing locations is a little strange, in that you "replace" the
whole list of locations, but only metadata for existing locations
is allowed, but outside the JSON PATCH checking. This adds a test
that probes the boundaries of that and makes sure we are allowed
(and disallowed) the right operations.
This adds tests for the currently untested locations support in
images. A feature must be enabled for this to work, so a feature
flag is added to control it.