---
prelude: |
    The OpenStack 2024.2 (Nova 30.0.0) release includes many new features and
    bug fixes. Please be sure to read the upgrade section which describes the
    required actions to upgrade your cloud from 29.0.0 (2024.1) to 30.0.0
    (2024.2).
    As a reminder, OpenStack 2024.2 is not a `Skip-Level-Upgrade Release`__
    (starting from now, we name it a `SLURP release`) meaning that you can't
    do rolling-upgrade from 2023.2, you first need to upgrade to 2024.1.

    .. __: https://governance.openstack.org/tc/resolutions/20220210-release-cadence-adjustment.html

    There are a few major changes worth mentioning. This is not an exhaustive
    list:

    - The latest Compute API microversion supported for 2024.2 is `v2.96`__.

      .. __: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#maximum-in-2024-1-caracal-and-2024-2-dalmatian

    - With the libvirt driver and libvirt version 7.3.0 or newer, mediated
      devices for vGPUs are now persisted across reboots of a compute host.

    - Instances with UEFI firmware can now be launched with stateless firmware
      if their image has the ``hw_firmware_stateless`` property and if the
      compute services have libvirt 8.6.0 or later.

    - Nova now automatically detects vTPM support for compute services if
      libvirt version is above 8.0.0 and if ``swtpm`` is installed on the node.
      It will also automatically get the TPM models that are supported.

    - You can now require TLS connections for SPICE consoles if you set the
      ``[spice]/require_secure`` configuration option to ``True``.

    - ``AggregateMultitenancyIsolation`` scheduler filter now supports multiple
      aggregate keys prefixed by ``filter_tenant_id`` which removes the
      limitation on the number of tenants an aggregate of hosts can relate to.

    - A couple of other improvements target reducing the number of bugs we
      have: one is changing how the Ironic driver sends metadata to the Ironic
      API, and another one created a new ``nova.wsgi`` WSGI module that allows
      different WSGI servers to set their WSGI application the same way (using
      module instead of a binary).
