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
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
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
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
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
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
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
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
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
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
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
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
This reverts commit 9400fb6f7cc67bf129eebaf25efe129ce5bf9bbd.
Reason for revert: neutron-tempest-plugin is fixed now
Change-Id: Ibb2d7ca35165fc6ea38c278fb9faf54a4dcd4aff
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
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
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
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
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
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
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