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.
Change-Id: I985c222a1a461dff10ff33716fd2263a1a89813a
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
remove it.
Closes-bug: #2003125
Change-Id: Icd71a2962808628edb611257ac544f0277cde1f3
With commit [1] 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.
[1] https://review.opendev.org/c/openstack/tempest/+/871270
Change-Id: I0c94ac5e7fd7b6da0fd051b9ff7d4c226be73f76
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
again.
Related-Bug: #2003063
Change-Id: I05d2118125195a387163ad1f0177fd9dfc916238
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.
Related-Bug: #2003063
Change-Id: I5d5648332e1c84221e708c29a904fcaaffdb451e
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
made smarter.
Related-Bug: #2002951
Change-Id: I0bfac0310fdd6ef44a633d40422cfcfdfc85a426
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
classes.
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.
Related-Bug: #821732
Change-Id: I0181517edab75f586464a38c4811417f888783b1
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
error:
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.
Change-Id: I55cd9855d8232c007b012c19755c837e97823aea
We are going to release Tempest new tag 33.0.0 to declare
the end of support for stable/wallaby. stable/zed constraint
is latest stable constraints tested with current tempest hash
which is going to be used for 33.0.0 release.
Further information:
https://docs.openstack.org/tempest/latest/requirement_upper_constraint_for_tempest.html
Change-Id: Ia8536e783df945a273b8697b128a5115104d3c12
Adding placement service in 'enforce_scope' config
so that we can switch the placement scope and new defaults
and test them.
Change-Id: Ie9a4c22dee892eae84f35af2b6b5ff2098225495
tempest-centos9-stream-fips job has a long history of runs resulting to
TIMED_OUT [1]
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.
[1] https://zuul.openstack.org/builds?job_name=tempest-centos9-stream-fips
Change-Id: I5b04d69f74854725e0c11abe58e936fc6d18d183
Added a waiter that compares the current status
of the port to a target value and returns the port
when that is achieved.
Closes-Bug: 1845486
Change-Id: Ibc5434244f3758c60ddefa96d78476948a47ed13
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.
Change-Id: I47993d16b86671433a64c6db57d53c2d15f8a7ae
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
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.
Change-Id: I75a6bd7985fce66b3e8a4cb81320b22d71f6bc4a
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.
Change-Id: I9c30cf332a419946516cba776b8a3ecdb3cbd3c2
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.
Depends-On: https://review.opendev.org/c/openstack/neutron/+/865040
Change-Id: Ib8f2f0e25205edba332fb9bd2a73012016d45061
As per 2023.1 cycle testing runtime and community goal[1] we need to migrate
upstream CI/CD to Ubuntu Jammy(22.04). Most of the Tempest jobs will be migrate
automatically once devstack base job start running on Jammy(Depends-On).
As we need to run at least one job on Ubuntu Focal(20.04), I am adding
a new job tempest-full-ubuntu-focal.
Few job like tempest-full-multinode-py3 and plugin sanity job needs to override
the nodeset. multinode job needs to run on Focal till stable/zed and on Jammy
from master(2023.1) onwards. Stable branch jobs testing stable branch needs to
keep running on their supported distro version which is Focal.
Depends-On: https://review.opendev.org/c/openstack/devstack/+/860795
Depends-On: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/861116
[1] https://governance.openstack.org/tc/goals/selected/migrate-ci-jobs-to-ubuntu-jammy.html
Change-Id: I2e37603b098880b778100613800496b01167b22f
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.
Closes-Bug: 1996468
Change-Id: Ib1157f4bb6fe42b3fbcdd3eafac0b5063d1a9e56
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.
Change-Id: I753872656b990741ababfbdd64893746493b5e13
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.
Change-Id: I779c959096b3aa9cc3d0fbf1e3c506a22d0a49fb