Commit Graph

61287 Commits

Author SHA1 Message Date
Zuul 1e1b74467d Merge "doc: mark the maximum microversion for 2025.1 Epoxy" 2025-03-13 12:32:33 +00:00
Zuul f71a0a6204 Merge "Fix serial console for ironic" 2025-03-12 12:26:06 +00:00
Sylvain Bauza 0d484ce37d Add service version for Epoxy
We agreed by I2dd906f34118da02783bb7755e0d6c2a2b88eb5d  on the support
envelope.
Pre-RC1, we need to add a service version in the object.
Post-RC1, depending on whether it's SLURP or not SLURP, we need to bump
the minimum version or not.

This patch only focuses on pre-RC1 stage.
Given Flamingo will be skippable, we will need a post-RC1 patch for updating the min
that will bump to Epoxy.

HTH.

Change-Id: Id74ebfeaaac7bd116b11ff7bdd86674feb825f0f
2025-03-11 11:38:40 +01:00
Zuul a329c103cb Merge "Update driver to map the targeted address for SR-IOV PCI devices" 2025-03-10 20:20:19 +00:00
Zuul a0a83640b9 Merge "Update libvirt fixtures to support hostdevs" 2025-03-10 20:12:34 +00:00
Sylvain Bauza 4a5e67cff7 doc: mark the maximum microversion for 2025.1 Epoxy
We need it for this release.

Change-Id: Ibc70045dbdd1b28bf94fd1bec1fac033fae84e26
2025-03-10 16:05:28 +01:00
Zuul fd1ad4d582 Merge "Update conductor and filters allowing migration with SR-IOV devices" 2025-03-10 14:36:36 +00:00
Zuul 6e51c83d28 Merge "Fix parameter order in add_instance_info_to_node" 2025-03-10 14:09:22 +00:00
Zuul d1c94e25b6 Merge "api: Address TODO in microversion v2.99" 2025-03-10 13:46:44 +00:00
Zuul 5f3133efc0 Merge "api: project/tenant and user IDs are not UUIDs" 2025-03-10 13:46:38 +00:00
Zuul 2cf4667780 Merge "libvirt: fix maxphysaddr passthrough dom parsing" 2025-03-10 12:13:36 +00:00
Zuul 0bbb1d15f4 Merge "Update manager to allow vfio pci device live migration" 2025-03-07 20:17:49 +00:00
Zuul 276685b3db Merge "api: Add response body schemas for for console auth token APIs (v2.99)" 2025-03-06 20:37:31 +00:00
Michael Still 0954ec9e5c Don't calculate the minimum compute version repeatedly.
I have chosen to do a bit of a cleanup of the lookup of
minimum compute manager versions, I didn't like how we looked up
the minimum version several times for a single parent call for
both create and resize.

Change-Id: Ifc52d73b1328d3785e72be2c5cf741962c2b95da
2025-03-06 18:26:02 +11:00
Vasyl Saienko bf8883ca3b Fix serial console for ironic
Allign code after we switched to openstacksdk in ironic virt driver
related to serial console.

Closes-Bug: #2099872

Depends-On: https://review.opendev.org/c/openstack/requirements/+/942889

Change-Id: Ic25c5e8b9ac9cf87f4f96c9956140aa4f6576ded
2025-03-05 05:07:55 +00:00
Zuul 29d17552a7 Merge "Add live_migratable flag to PCI device specification" 2025-03-04 20:24:52 +00:00
Zuul e1b33cdf0c Merge "Augment the LiveMigrateData object" 2025-03-04 20:24:46 +00:00
Stephen Finucane 244f9b0ad1 api: Address TODO in microversion v2.99
There's a TODO to prevent passing random query strings to the
'/os-console-auth-tokens' API that should be addressed while we are
updating the API. Do it now.

Change-Id: Ic19f75b1e26ae048df110f6cd9217b706bf3c0a4
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-04 17:13:36 +00:00
Stephen Finucane 244ff89060 tests: Filter out eventlet deprecation warnings
These are *super* annoying (and useless to boot, since there is nothing
we can do about them in the near term). Shut them ⬇️⬇️⬇️ down ⬇️⬇️⬇️.

Change-Id: I469dafa243b95749b34503c1f3e905d9d8c780d4
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-04 15:44:44 +00:00
Stephen Finucane 8f6b14bada api: project/tenant and user IDs are not UUIDs
Who knew?

Change-Id: Id3366ce2897cfcb1678034c3d24d809d8c24c43a
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-04 13:19:56 +00:00
Stephen Finucane 401ca73c26 api: Add response body schemas for for console auth token APIs (v2.99)
These were not added in change I1e701cbabc0e2c435685e31465159eec09e3b1a0
as they should have been. In addition, said change regressed some unit
tests by reverting changes for that should be UUIDs back to non-UUIDs.

A future change, Ia5e4c6cadb6c88ccdf7e89566573f1f89087fbe5, will prevent
this happening again.

Change-Id: I2a50750848f8571df7cdbaf39f2168e355220c25
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-03-04 13:19:19 +00:00
Zuul 406eedb1ce Merge "Fix microversion 2.98 doc/tests for update/rebuild APIs" 2025-03-04 01:45:13 +00:00
Zuul cf326d4375 Merge "Fix microversion 2.96 for update/rebuild APIs" 2025-03-04 01:38:24 +00:00
René Ribaud fd656f3943 Update driver to map the targeted address for SR-IOV PCI devices
This patch checks the revision of QEMU and libvirt to ensure support
for VFIO SR-IOV device migration.
It also updates the _live_migration_operation() function, particularly
the get_updated_guest_xml() function, to map source PCI addresses
to destination addresses in the destination XML file, using the data
provided by the LiveMigrateData object.

The target goal of these series of patch is to enable VFIO devices
migration with kernel variant drivers.

Partially-Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers
Change-Id: I62ec475988eab8de948498f50d8d4c0d47321102
2025-03-03 20:50:35 +01:00
René Ribaud b227efd967 Update libvirt fixtures to support hostdevs
This patch updates the fixtures to support hostdevs, allowing hostdev
devices to be attached and detached.
Additionally, this patch mocks the
nova.virt.libvirt.driver.AsyncDeviceEventsHandler.wait method to
avoid waiting for libvirt events.

The target goal of these series of patch is to enable VFIO devices
migration with kernel variant drivers.

Partially-Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers
Change-Id: I25b208c08df3a14fc03c1a6504e8c3cfad5c5a90
2025-03-03 20:50:33 +01:00
René Ribaud 099859ecf0 Update conductor and filters allowing migration with SR-IOV devices
This patch enable live migration for SR-IOV PCI devices that are
live-migratable.
A ``live_migratable`` tag is added to the device specification
in [pci]dev_spec config.
A new filter is added to stats.py in the filter_pools() function to
handle PCI requests for live_migratable devices.

The target goal of these series of patch is to enable VFIO devices
migration with kernel variant drivers.

Partially-Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers
Change-Id: Ifbd19947ba992589a00fdf7527380450aa328269
2025-03-02 21:37:47 +01:00
René Ribaud 34f905a8e7 Update manager to allow vfio pci device live migration
This patch claims PCI devices that are live-migratable in the
resource tracker and updates the migrate_data object with the PCI
source-to-destination mapping.

The target goal of these series of patch is to enable VFIO devices
migration with kernel variant drivers.

Partially-Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers
Change-Id: I63a66f01df1a0efbaedaa131c6166e8466b27a3a
2025-03-02 21:37:47 +01:00
René Ribaud f9c5f50376 Add live_migratable flag to PCI device specification
The target goal of these series of patch is to enable VFIO devices
migration with kernel variant drivers.

Partially-Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers
Change-Id: I23af0d36448e9b659f6383d602d9dfa0e2798e60
2025-03-02 21:37:47 +01:00
René Ribaud 07f54bfced Augment the LiveMigrateData object
Adds the field ``pci_dev_map_src_dst`` to ``LiveMigrateData`` object
to include the PCI device mapping between the source and destination
device addresses.

The target goal of these series of patch is to enable VFIO devices
migration with kernel variant drivers.

Partially-Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers
Depends-On: https://review.opendev.org/c/openstack/nova/+/938405
Change-Id: I1c8e5709640abedb332d96c2c1f5268fa239d9a1
2025-03-02 21:37:47 +01:00
René Ribaud 03915cd59d Update driver to deal with managed flag
The target goal of these series of patch is to enable VFIO devices
with kernel variant drivers.

Implements: blueprint enable-vfio-devices-with-kernel-variant-drivers
Change-Id: I7949ba6da8b6257865d8e9e48bf3feabc10bdf17
2025-03-02 21:37:47 +01:00
Zuul e6b8b051a9 Merge "libvirt: Add new option to enforce multipath volume connections" 2025-03-01 14:09:09 +00:00
Ghanshyam Mann 7a00971b8f Fix microversion 2.98 doc/tests for update/rebuild APIs
microversion 2.98 changed the GET and GET list details
API response to expand the image field
- https://review.opendev.org/c/openstack/nova/+/939649

but when we change the views/servers.py then update server
and rebuild server API response also gets updated.
- https://review.opendev.org/c/openstack/nova/+/939649/12/nova/api/openstack/compute/views/servers.py#595

The microversion change actually changed the response for
the update and rebuild API but did not update the documentation
about this change. Neither added test for rebuild and update
which verify the response change.

Since microversion 2.75, we have made all these 4 APIs response
consistent.

Implements: blueprint image-properties-in-server-show

Change-Id: Ifc2edc59c601391a31fd8953c742969e5b368767
2025-02-28 17:13:59 +00:00
Ghanshyam Mann f9e89bc0d1 Fix microversion 2.96 for update/rebuild APIs
microversion 2.96 changed the GET and GET list details
APi response to add a new field 'pinned_availability_zone'
- https://review.opendev.org/c/openstack/nova/+/904568

but when we change the views/servers.py then update server
and rebuild server API response also gets updated.
- https://review.opendev.org/c/openstack/nova/+/904568/17/nova/api/openstack/compute/views/servers.py#309

The microversion change actually changed the response for
the update and rebuild API but did not update the documentation
about this change. Neither added test for rebuild and update
which verify the response change.

Since microversion 2.75, we have made all these 4 APIs response
consistent.

Change-Id: I31fbb3c5e689302713bfb7a254c5d0cc12de2dc4
2025-02-28 17:06:18 +00:00
Zuul a933c7fbab Merge "Add support for showing scheduler_hints in server details" 2025-02-28 02:14:07 +00:00
Zuul d9d34aa0e6 Merge "Add managed flag to PCI device specification" 2025-02-28 01:43:20 +00:00
Zuul 97dad74476 Merge "Correctly patch get_by_flavor_id" 2025-02-28 01:43:10 +00:00
Zuul 330458f2de Merge "Replace oslo_utils.encodeutils.exception_to_unicode" 2025-02-28 01:43:02 +00:00
Zuul ef1585f9d7 Merge "Switch to using oslo.utils secretutils" 2025-02-28 01:42:53 +00:00
Takashi Kajinami 4aab14a09f libvirt: Add new option to enforce multipath volume connections
Currently, even when [libvirt] volume_use_multipath is set to True,
volume attachment silently falls back to single path if multipathd is
not running in the host. This sometimes prevents operators from
noticing the misconfiguration, until they face any issue caused by
missing redundancy.

Introduce the new [libvirt] volume_enforce_multipath option, which
makes the attachment process fail if multipathd is not running.
A similar parameter (enforce_multipath_for_image_xfer) was already
implemented in cinder and this change follows how the parameter is
implemented there.

Also add the check in init phase to detect lack of mulitipath daemon
during initializing driver.

Min version of os-brick has to be bumped due to the interface change
made by 8d919696a9f1b1361f00aac7032647b5e1656082 .

Implements: blueprint enforce-multipath
Change-Id: I828de70ca7b343a4562ace4049d2b3857dbf900a
2025-02-28 08:52:25 +09:00
Zuul 4fdbbb6a91 Merge "doc: Use dnf instead of yum" 2025-02-27 23:06:26 +00:00
Zuul 42b9b3faa5 Merge "Drop environment for Python 3.8" 2025-02-27 20:23:53 +00:00
Johannes Kulik 5f6ff008c3 libvirt: fix maxphysaddr passthrough dom parsing
If `hw:maxphysaddr_mode` is set to `passthrough`, the generated XML
doesn't contain a `bits` attribute. Our
`LibvirtConfigCPUMaxPhysAddr.parse_dom()` assumed `bits` was always set
and the tests only tested parsing the XML for the `emulate` mode.

Closes-Bug: #2099663
Change-Id: Ic16561dfb38612ac46c2148f2847006f6890940e
2025-02-27 10:24:08 +01:00
Douglas Viroel 2db8af71dd Add support for showing scheduler_hints in server details
Nova currently lacks a straightforward way to expose scheduler hints
associated with a server. This change extends existing Nova's
API to allow users to retrieve this information when it is available.
It adds a new API microversion to support returning the associated
scheduler_hints in ``GET /servers/{server_id}``, `GET /servers/detail``,
``PUT /servers/{server_id}`` and ``POST /server/{server_id}/action``
(rebuild) responses.

Implements: blueprint show-scheduler-hints-in-server-details
Change-Id: If0070cfbc218e0515bf3b58fc8c5067ae22c7072
2025-02-26 17:50:25 -03:00
Zuul 8f57fa7359 Merge "Fix detaching devices by alias with mdevs" 2025-02-26 10:38:36 +00:00
Zuul d660e4e6fd Merge "Add repoducer test for bug 2074219" 2025-02-26 08:50:32 +00:00
Zuul 2ca87d5383 Merge "Fix device type when booting from ISO image" 2025-02-26 01:24:45 +00:00
Zuul 8de6a43a43 Merge "Per-Property ImageMetaPropsWeigher" 2025-02-25 19:16:49 +00:00
René Ribaud 12905dade3 Add managed flag to PCI device specification
The target goal of these series of patch is to enable VFIO devices
with kernel variant drivers.

Implements: blueprint enable-vfio-devices-with-kernel-variant-drivers
Change-Id: Iea3efa29b6b89639b21d3e701f8710d0043d00c7
2025-02-25 15:54:14 +01:00
Zuul d9f72b2432 Merge "libvirt: allow direct SPICE connections to qemu" 2025-02-25 03:23:01 +00:00
Zuul 120495ca56 Merge "libvirt: direct SPICE console database changes" 2025-02-25 01:26:13 +00:00