14977 Commits

Author SHA1 Message Date
melanie witt
cb03598a65 Add compute response schema for microversion 2.98
Compute microversion 2.98 added the image properties field to the
following API responses:

* GET /servers/{server_id}
* GET /servers/detail
* POST /servers/{server_id}/action (rebuild)

While testing this it was discovered that microversion 2.96 is missing
an API response schema for:

* POST /servers/{server_id}/action (rebuild)

so this is also fixed in this patch.

Change-Id: If42a8a1e3b8866e48c17853a8774dd8aec0ff184
2025-02-22 01:12:12 +00:00
Michael Still
c42bb0adc4 Renumber the spice-direct nova API microversion.
Because the spice-direct change requires a number of changes to
land, the nova API microversion was consumed by an unrelated change
before all the nova changes could merge. This change therefore
renumbers the spice-direct API change in the tempest nova API
client.

Change-Id: I9954906b4f8ce4cf9ed891f1b10b56ce24d5ebdd
2025-02-19 20:24:22 +11:00
Zuul
963a4b368b Merge "Wait for server termination in server affinity tests" 2025-02-18 22:03:53 +00:00
Zuul
338a3b7224 Merge "Move test_restore_server_invalid_state test to admin test" 2025-02-16 13:08:36 +00:00
Ghanshyam Mann
ea1a5759d0 Move test_restore_server_invalid_state test to admin test
Nova is changing the RBAC policy default for deffered deleted
API form member-or-admin to manager-or-admin[1] and for that
test_restore_server_invalid_state needs to be tested with admin
client ohterwise it fail[2]. There is no change in test logic except
it is tested with admin client to perform the test objective.

[1] https://review.opendev.org/c/openstack/nova/+/941347
[2] https://0ccc316b4109089131e3-45dd8d096407cabbe1019de430c921aa.ssl.cf2.rackcdn.com/941347/1/check/tempest-integrated-compute/4c25539/testr_results.html

Change-Id: Ied10361920ef08d879e539a3ada3228b40b37150
2025-02-13 20:55:34 -08:00
Michael Still
fbbf01b2c7 Add a spice-direct tempest test.
This test works through the full spice-direct console flow:

 - create an instance
 - request a console token
 - turn that console token into connection details
 - connect with those details and ensure you get a SPICE protocol
   handshake back

Change-Id: I9c4d1f05622d9a26db9edd2119eb03fdde726630
2025-02-13 12:06:11 +11:00
3d7b364ce4 Wait for server termination in server affinity tests
These tests were not waiting for server termination and
leading to failures in another serial tests which expects
no server running on the compute nodes.
Using method from parent class which already waits for
server deletion.

Closes-Bug: #2097594
Change-Id: Iea6ea61c5b827be705777cca5b972a5441a69540
2025-02-10 12:20:49 +05:30
Zuul
a552cb93ae Merge "test_instances_with_cinder_volumes: Make sure attachments in guest are correct" 2025-01-24 05:18:20 +00:00
Zuul
de5175ba19 Merge "Add test to verify instance bootability after volume snapshot" 2025-01-23 22:59:01 +00:00
Biser Milanov
83f386cd79 test_instances_with_cinder_volumes: Make sure attachments in guest are correct
Sometimes, when attaching multiple devices, the device mapping that
OpenStack and libvirt expect in the guest is not correct. Change the
attachment logic to check correct ordering and log a warning otherwise.

The `dev` attribute of the `target` element in the libvirt device XML is
just a hint and not guaranteed to be how the OS maps the device [1]. It
is usually suggested to use `/dev/disk/by-id/` to be sure about the
underlying device, but CirrOS currently does not populate `/dev/disk/`.

[1]: https://libvirt.org/formatdomain.html#hard-drives-floppy-disks-cdroms

Closes-Bug: #2095336
Change-Id: Iff18b802ce22743c80a76099b27a479b6c3b671a
2025-01-22 13:11:26 +02:00
lkuchlan
eabbd35510 Add test to verify instance bootability after volume snapshot
This patch adds a test to ensure an instance can boot
from a bootable volume after a snapshot is created while
the instance is in a stopped state. The issue being
validated impacts volumes that use an NFS backend,
causing boot failures post-snapshot creation.

Related-bug: #1989514
Change-Id: I2e09b5b0fc6b49cb64cfcbe4394121741e0df3ed
2025-01-21 07:55:59 +02:00
Biser Milanov
bd02c7355c test_instances_with_cinder_volumes: Delay attaching volumes
Change-Id: Ide4a711aec8aaaee33cd224eba92d112e92cbfba
2025-01-20 21:09:36 +02:00
Zuul
a110fc009a Merge "Add tests for creating servers with (anti-)affinity" 2025-01-14 20:47:48 +00:00
Zuul
21fbdc06b7 Merge "Allow glance support for GPT images" 2025-01-11 00:18:13 +00:00
Zuul
48b67dfca9 Merge "Expand accounst.yaml sample" 2025-01-09 05:06:06 +00:00
Zuul
7fdd884b38 Merge "Deprecate volume_image_dep_tests" 2025-01-09 05:06:02 +00:00
Zuul
b36a0bbaff Merge "Add missing space in enable_volume_image_dep_tests description" 2025-01-09 04:54:16 +00:00
Zuul
b23e9fcc28 Merge "Wait for the router port activation before deletion" 2024-12-30 21:28:34 +00:00
9157d5e020 Re Fix test_rebuild_server test by waiting for floating ip
It was originally attempted to be fixed in [1][2] but
the issue is still observed as fip wait was done
on wrong server instead the one created as part of test.

[1] https://review.opendev.org/c/openstack/tempest/+/814085
[2] https://review.opendev.org/c/openstack/tempest/+/828245

Closes-Bug: #1945495
Change-Id: I25b553e547baece65223ba884ef440fca65e5b64
2024-12-27 17:16:33 +05:30
Christian Berendt
045252f5d6 Add missing space in enable_volume_image_dep_tests description
Change-Id: I3e2a2989c09804dfdfb78bb22a52da5f037a59bb
2024-12-17 11:52:47 +01:00
Zuul
15f50013ab Merge "Run cindet-tempest-plugin tests in tempest-extra-tests" 2024-12-17 01:01:29 +00:00
Dr. Jens Harbott
d22eeda3b8 Stop harder sending underscores in header names to Swift
Change-Id: Id93acb1b75b3eda11fb770c86459b024640f1515
2024-12-16 15:58:05 +01:00
Ghanshyam Mann
14f199eca2 Run cindet-tempest-plugin tests in tempest-extra-tests
We have a lot of Tempest public interfaces which are used by the
tempest plugins and sometime it is not easy to know breaking changes
as we do not test all plugins test when any change merge in Tempest.
Example: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/937725

To avoid these breaking changes at some extend, let's run the cinder
tempest plugin tests in one of the Temp[est job. Evantually, we can
add more plugins tests if needed but I think cinder-tempest-plugin
uses a good amount of interfaces.

Change-Id: I80c2b77936ac3220ff05232877eaf6fbac4743a5
2024-12-14 02:09:43 +00:00
Zuul
422131d952 Merge "Fixed encryption type methods to comply with documentation" 2024-12-12 12:53:53 +00:00
Zuul
818036934f Merge "Stop sending underscores in header names to Swift" 2024-12-11 21:22:28 +00:00
Zuul
821fbc40eb Merge "Add support for specifying fixed IP address in floating IP association" 2024-12-11 18:33:13 +00:00
Tim Burke
6a22d4fe84 Stop sending underscores in header names to Swift
eventlet>=0.37.0 drops headers with underscores on the floor; as a
result, account and container metadata may not be stored properly.

See https://github.com/eventlet/eventlet/commit/ed743d75

Change-Id: Idcaacfed5e0203760e9cb2911d93700d8cb63cb5
2024-12-10 21:51:55 +00:00
Zuul
e5998aa036 Merge "For test VM validation resource were added." 2024-12-10 18:32:33 +00:00
Evan Wever
5e1a714cfe Fixed encryption type methods to comply with documentation
This change fixes an optional `encryption_id` parameter
for updating and deleting encryption types to comply
with OpenStack documentation.

`encryption_id` is optional because only one
`encryption_id` can be associated with a `volume type`,
therefore, an encryption type is deleted using
`volume type`.

`encryption_id` is only used for Cinder
notifications.

Closes-bug: #1835186
Co-Authored-By: Evan Wever <evan.wever@gmail.com>

Change-Id: Ieca29000b5754373e6250818ccf2b3b6d4ef80e2
2024-12-10 15:02:40 +00:00
lkuchlan
e1145a333d Add support for specifying fixed IP address in floating IP association
This patch enhances the floating IP association process by allowing the
fixed IP address to be explicitly passed. This provides greater control
and ensures the correct port is targeted when associating a floating IP,
resolving ambiguity when multiple ports are present.

Change-Id: I829703a63397a1116360a768dbccdb1f237be87c
Related-Bug: #2089798
2024-12-10 16:03:57 +02:00
Rodolfo Alonso Hernandez
f2aa158d4b Wait for the router port activation before deletion
Same as in [1], it is needed to use the same active wait for the
testcases in ``RoutersNegativeTest``. This patch moves the router
interface deletion method to a common place.

[1]https://review.opendev.org/c/openstack/tempest/+/931765

Related-Bug: #2083287
Change-Id: I224d885b6f56f9a1bc7a317995993be242feba23
2024-12-05 09:44:38 +00:00
Maxim Sava
cd0f4bc25d Deprecate volume_image_dep_tests
Cinder-tempest-plugin have local configuration setting for dependency
tests.
Cinder dependency tests will align with tempest configuration settings
`enable_volume_image_dep_tests`

Change-Id: I1c77e6ebbb4a33536b45870ac605b6c762150bef
2024-12-01 10:59:46 +02:00
Zuul
7f788b96a9 Merge "Add Jammy integration jobs to gate pipeline also" 2024-11-30 15:57:18 +00:00
Zuul
ecd3b3ae9a Merge "Migrate tempest jobs to Ubuntu Noble (24.04)" 2024-11-30 14:03:50 +00:00
Ghanshyam Mann
9e43373621 Add Jammy integration jobs to gate pipeline also
Change-Id: I0257af4351f9aaeee13fc056f045e1c0dcd56155
2024-11-29 10:44:00 -08:00
Zuul
e7b104c23c Merge "Make scenario snapshot tests work with ephemeral|swap" 2024-11-20 20:21:37 +00:00
Zuul
1a20d7a217 Merge "workaround: Wait for instance.host=None when shelving" 2024-11-20 20:14:15 +00:00
Zuul
8279bc4b01 Merge "Revert "Make tempest plugin sanity job non voting"" 2024-11-20 09:05:34 +00:00
Ghanshyam
736d328e4f Revert "Make tempest plugin sanity job non voting"
This reverts commit 9400fb6f7cc67bf129eebaf25efe129ce5bf9bbd.

Reason for revert: neutron-tempest-plugin is fixed now

Change-Id: Ibb2d7ca35165fc6ea38c278fb9faf54a4dcd4aff
2024-11-19 19:39:28 +00:00
Zuul
082ec1933c Merge "Clear pool for each new HTTP Connection" 2024-11-18 19:57:24 +00:00
Ilya Popov
c2d1762350 For test VM validation resource were added.
With Ia1a57b4d0127baaa614191cc013115732ca1cceb change additional
creation of test VM was added. New VM is created without security
group specified. It leads to default security group usage. As there
is no allow rules for ssh access in default security group - ssh
check after VM rebuild will fail. Also additional issue was found,
that we check VM for class setup, not the one we rebuild.

Fix adds additional (dedicated) validation_resources for test VM
so VM will use custom security group in newly created validation
resource and check will be performed against this new validation
resources.

Closes-Bug: #2085533
Change-Id: I4f2b9d689e45f85ff5a767df805a673d71622d50
2024-11-18 19:32:08 +00:00
Lukas Piwowarski
1164ba37f8 Clear pool for each new HTTP Connection
The memory consumption of Tempest can be high when HTTPS is used and
Tempest uses an older version of urllib3 as a dependency (1.26.x). This
is caused by Tempest, in conjunction with urllib3, loading certificates
into memory for each instance of RestClient and releasing them only at
the end of tests execution. The issue is particularly noticeable when
the certificate file is large.

This patch fixes this issue by clearing the pool in PoolManager after
each HTTP request.

Closes-Bug: #2088074
Change-Id: Iaede004522cd2e2386bac14ff725fa8e31d4991f
2024-11-18 14:27:14 +00:00
Zuul
ac8ca421b9 Merge "Allow wait_for_image_status() to have multiple" 2024-11-18 11:45:29 +00:00
Zuul
dd4ea0581b Merge "Bump hacking" 2024-11-16 06:30:03 +00:00
Ghanshyam Mann
9400fb6f7c Make tempest plugin sanity job non voting
Tempest plugin sanity job is failing with below
error
- https://zuul.opendev.org/t/openstack/build/2c2ed82bd12948b98d9ea7e2ebe625a8

  from os_ken.tests.integrated.common import quagga
ImportError: cannot import name 'quagga' from 'os_ken.tests.integrated.common'

To unblock the Tempest gate, making it non voting until plugin is fixed.

Change-Id: I2c0f3fa92b4a0ad98698b755b40614a85230756f
2024-11-15 12:33:10 -08:00
Ghanshyam Mann
040070add7 Migrate tempest jobs to Ubuntu Noble (24.04)
As per 2025.1 cycle testing runtime and community goal[1] we
need to migrate upstream CI/CD to Ubuntu Noble(24.04). Most
of the Tempest jobs will be migrate automatically once
devstack base job start running on Noble(Depends-On). As we
need to run at least one job on Ubuntu Jammy(22.04), I am
adding a new job tempest-full-ubuntu-jammy.

Few job like tempest-full-multinode-py3 and plugin sanity
job needs to override the nodeset. multinode job needs to
run on Jammy till stable/2024.2 and on Noble from master
(2025.1) onwards. Stable branch jobs testing stable branch
needs to keep running on their supported distro version.

Also bump the autopep8 to 2.1.0 as older version does not
work on python 3.12 and fail with
error: "ModuleNotFoundError: No module named 'lib2to3'".
- https://github.com/hhatto/autopep8/issues/581
To resolve the deps of autopep8 2.1.0, I need to bump
the hacking to 7.0.0 (this gives flake8 7.1.1 and
pycodestyl>2.12 which is needed by autopep8 2.1.0)

Depends-On: https://review.opendev.org/c/openstack/devstack/+/931697
Depends-On: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/932155

[1] https://governance.openstack.org/tc/goals/selected/migrate-ci-jobs-to-ubuntu-noble.html

Change-Id: If4bf5e8f8c663933d70349aa8ddb45c28e8e558b
2024-11-15 00:43:54 +00:00
Pavlo Shchelokovskyy
f3d0328dfe Expand accounst.yaml sample
add examples of domain- and system- scoped accounts.

Change-Id: Iad320934f7b4b1931b71f19e47c224d0508b731c
2024-11-14 17:58:51 +02:00
Takashi Kajinami
397f49c2ee Bump hacking
hacking was indirectly capped by pycodestyle. This bumps hacking to
apply the rules recently added.

Also remove the note about pip's behavior, which is no longer valid
for recent versions.

notes:
 - T117 test is now disabled. There are a lot of lines violating
   this rule and we have to decide if we really want to enforce it.

 - Once this is merged, we have to update bump hacking in some plugins
   which import hacking extensions from tempest.

Change-Id: I5ee5e152418079f9f2720eb97c3a5361edba2695
2024-11-14 23:39:15 +09:00
Dan Smith
88c3d48cec Allow glance support for GPT images
This tweaks the image format tests to allow GPT to succeed if glance
is new enough. If gpt is not in image_disk_formats then it will skip
on failure, else it will require that it works. This allows us to
merge this ahead of glance support, tolerate it passing once glance
lands that patch, and we can move this to always-require-if-configured
later.

Related to blueprint glance-as-defender

Change-Id: Idefcf5c67d40809377d72a87c0c3b87b0a36e097
2024-11-13 07:25:18 -08:00
Dan Smith
aa8d42c51d Allow wait_for_image_status() to have multiple
This lets us wait for one of multiple target states so we can more
effectively avoid race conditions where we miss an intermediate state
and first poll the final one.

Change-Id: If12c35d38c03fa329ebbf536e2fcd3ff2bd136de
2024-11-13 07:24:42 -08:00