Commit Graph

14416 Commits (7416b91cf74776530eafc62cc9b83c49a8103748)

Author SHA1 Message Date
Zuul 7416b91cf7 Merge "Use UPPER_CONSTRAINTS_FILE for stable/wallaby testing" 2023-01-31 07:21:49 +00:00
Zuul 275fdb147a Merge "tempest cleanup - don't initialize admin id's" 2023-01-26 11:18:14 +00:00
Zuul c09faa96cb Merge "Remove leftover todo related to the dhcpcd support" 2023-01-26 03:43:34 +00:00
Ghanshyam Mann 51a5d4f234 Use UPPER_CONSTRAINTS_FILE for stable/wallaby testing
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
2023-01-25 14:49:48 -06:00
Zuul 03fc4da48b Merge "Restore IP addresses configuration after spoofing MAC address" 2023-01-25 18:03:47 +00:00
Bas de Bruijne b40d2d55b4 tempest cleanup - don't initialize admin id's
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
2023-01-25 10:17:16 -04:00
Slawek Kaplonski e72ce41454 Remove leftover todo related to the dhcpcd support
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.


Change-Id: I0c94ac5e7fd7b6da0fd051b9ff7d4c226be73f76
2023-01-24 12:44:22 +01:00
Zuul 1982a60dbb Merge "Add support for dhcpcd in the renew_lease method" 2023-01-24 11:16:32 +00:00
Zuul 37de2dce1c Merge "Introduce @serial test execution decorator" 2023-01-23 18:31:14 +00:00
Slawek Kaplonski 4e4a43ee33 Restore IP addresses configuration after spoofing MAC address
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

Related-Bug: #2003063
Change-Id: I05d2118125195a387163ad1f0177fd9dfc916238
2023-01-23 11:39:56 +00:00
Slawek Kaplonski 49163f9156 Add support for dhcpcd in the renew_lease method
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
2023-01-23 11:39:39 +00:00
Balazs Gibizer a6b7e334cf Skip test_attach_scsi_disk_with_config_drive
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
2023-01-18 21:07:59 +00:00
Balazs Gibizer dfb304355b Introduce @serial test execution decorator
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.

Related-Bug: #821732
Change-Id: I0181517edab75f586464a38c4811417f888783b1
2023-01-18 02:45:43 +00:00
Zuul 7c8b49bece Merge "Decorate volume.base functions - fix cleanup" 2023-01-10 16:33:34 +00:00
Zuul 1b05230073 Merge "Added functionality to wait for port creation" 2023-01-09 17:43:30 +00:00
Zuul 035d23e2a1 Merge "zuul: Increase timeout for c9s-fips job" 2023-01-05 13:44:41 +00:00
Zuul 5f7b9d40fc Merge "Remove references to 'all-plugin' tox environment" 2023-01-05 10:33:34 +00:00
Ghanshyam Mann 3cafeddfe4 Add release notes page for version 33.0.0
Tempest 33.0.0 has been released [1].
This commit adds a new page for 33.0.0 release notes.


Change-Id: Ied05cbc02509ff5a98a75bf18d2f08c30a5601ae
2022-12-27 01:47:18 +00:00
Ghanshyam Mann ea6644ce45 Fix tox4 error
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.

Change-Id: I55cd9855d8232c007b012c19755c837e97823aea
2022-12-26 18:25:32 +00:00
Zuul 54fd0732ec Merge "Add placement service in 'enforce_scope' config" 2022-12-14 03:40:48 +00:00
Zuul e72977d137 Merge "Switch back the tox constraint to master" 2022-12-07 13:20:47 +00:00
Zuul 1580f6f843 Merge "Pin stable/zed constraint in tox to release 33.0.0" 2022-12-07 10:08:30 +00:00
Zuul b74ee598b0 Merge "End support for stable/wallaby" 2022-12-07 10:08:27 +00:00
Zuul 96af1d0e40 Merge "Add new tempest job enable the rbac scope checks and new defaults" 2022-12-07 01:05:23 +00:00
Ghanshyam Mann 5c075ccef2 Switch back the tox constraint to master
Tempest 33.0.0 release hash is prepared[1] so we can
revert back to use the master constraints by default.


Change-Id: I1a3cea4cc543aabe61483a32f71b2b9db178cecf
2022-12-07 00:37:54 +00:00
Ghanshyam Mann 633bd0d13a Pin stable/zed constraint in tox to release 33.0.0
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:

Change-Id: Ia8536e783df945a273b8697b128a5115104d3c12
2022-12-07 00:37:48 +00:00
Ghanshyam Mann 5844fd9aeb End support for stable/wallaby
This marks the end of support for stable/wallaby
which is EM now [1]. This remove the stable/wallaby
jobs and also adds relesenote to mark the end of
support of Wallaby.



Change-Id: Ie3bbbc80e4b2e7bca8e8b70fce1d31166220c6d3
2022-12-06 18:37:17 -06:00
Ghanshyam Mann b6521a8314 Add placement service in 'enforce_scope' config
Adding placement service in 'enforce_scope' config
so that we can switch the placement scope and new defaults
and test them.

Change-Id: Ie9a4c22dee892eae84f35af2b6b5ff2098225495
2022-11-30 14:59:39 -06:00
Sylvain Bauza b8f0c30f9c zuul: Increase timeout for c9s-fips job
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.


Change-Id: I5b04d69f74854725e0c11abe58e936fc6d18d183
2022-11-29 18:08:55 +01:00
Eliad Cohen bec2d4daa0 Added functionality to wait for port creation
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
2022-11-28 17:04:29 +00:00
Zuul 96cd444cac Merge "Set back to use Bionic for Ussuri, Train and Stein" 2022-11-24 12:17:51 +00:00
Zuul cd354d8ce3 Merge "Fix Compute Live Migration tests with Ironic" 2022-11-24 10:04:31 +00:00
Zuul 4797161c83 Merge "Cleanup tox.ini" 2022-11-24 02:05:37 +00:00
Maksim Malchuk f4970a3f8a Fix Compute Live Migration tests with Ironic
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 <>
2022-11-23 22:03:48 +00:00
Ghanshyam Mann 25c441c76a Fix python classifier for py39
Temepest test and support python 3.9 so
fixing then python classifier in setup.cfg

Change-Id: Ida4ca6e04f6485c5c11e95ff708558267a827d2a
2022-11-23 14:33:00 -06:00
Zuul 20e460dacf Merge "Add test for compute server external event API" 2022-11-23 19:59:08 +00:00
Clark Boylan a673bd93cb Cleanup tox.ini
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
2022-11-22 09:30:23 -08:00
Elod Illes 78d2492f91 Set back to use Bionic for Ussuri, Train and Stein
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
2022-11-22 16:37:17 +01:00
Ghanshyam Mann 7ab45a9be8 Add new tempest job enable the rbac scope checks and new defaults
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.


Change-Id: Ib8f2f0e25205edba332fb9bd2a73012016d45061
2022-11-21 19:14:05 -06:00
Ghanshyam Mann 81bd0e9e19 Add test for compute server external event API
Adding test as well as the service client for the compute
server external event API

Change-Id: I1c9a99d036de760a15a5725db87ca4e9d6f2263d
2022-11-21 20:30:35 +00:00
Zuul 982e5d2b95 Merge "Migrate tempest jobs to Ubuntu Jammy (22.04)" 2022-11-21 18:58:21 +00:00
Ghanshyam Mann 24a3a3667a Migrate tempest jobs to Ubuntu Jammy (22.04)
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.



Change-Id: I2e37603b098880b778100613800496b01167b22f
2022-11-17 21:47:34 -06:00
Ilya Popov 2c6da1db39 Fix error KeyError: 'addresses' for two tests
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
2022-11-14 16:19:43 +03:00
Zuul edd5a4cba3 Merge "Fix server id reference in _rebuild_server_and_check()" 2022-11-08 19:22:56 +00:00
Zuul 483fca3b23 Merge "[Doc] Fix python version in unit tests document" 2022-11-04 16:48:46 +00:00
Zuul 168e075ff2 Merge "Clarify the enforce_scope config option help message" 2022-11-04 16:48:43 +00:00
Zuul 0e6c2916dd Merge "Add replace location test" 2022-11-03 00:54:13 +00:00
Zuul a5310d2dee Merge "Add tests for image location manipulation" 2022-11-01 23:31:03 +00:00
Dan Smith d2822ddc41 Add replace location test
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
2022-10-28 12:57:41 -07:00
Dan Smith 9eaaa5ac3e Add tests for image location manipulation
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
2022-10-28 12:57:07 -07:00