--- prelude: | The OpenStack 2023.2 (Nova 28.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 27.0.0 (2023.1) to 28.0.0 (2023.2). As a reminder, OpenStack 2023.2 is a non-`Skip-Level-Upgrade Release`__ (starting from now, we name it a `non-SLURP release`) meaning that you can only do rolling-upgrade from 2023.1. Next SLURP release will be 2024.1 where you will be able to upgrade from 2023.1 directly by skipping this release. .. __: 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 2023.2 is `v2.95`__. .. __: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#maximum-in-2023-1-antelope-and-2023-2-bobcat - The Ironic driver ``[ironic]/peer_list`` configuration option has been deprecated. The Ironic driver now more closely models other Nova drivers by having a single compute have exclusive control over assigned nodes. If high availability of a single compute service is required, operators should use active/passive failover. - The legacy quota driver is now deprecated and a `nova-manage limits command `_ is provided in order to migrate the legacy limits into Keystone. We plan to change the default quota driver to the unified limits driver in an upcoming release (hopefully 2024.1 Caracal). It is recommended that you begin planning and executing a migration to unified limits as soon as possible. - QEMU in its TCG mode (i.e. full system emulation) uses a translation block (TB) cache as an optimization during dynamic code translation. The libvirt driver can now configure the tb-cache size when the virt type is ``qemu``. This helps running VMs with small memory size. In order to use this feature, a configuration option ``[libvirt]/tb_cache_size`` has been introduced. - Two new scheduler weighers have been introduced. One helps `sorting the nodes by the number of active instances they run `_, the other helps `sorting by the hypervisor version each compute runs `_. Accordingly, you can place your instances with different strategies, eg. by allocating them to more recent nodes or by reducing the number of noisy instance neighbors. - It is now possible to define different authorization policies for migration with and without a target host. - A couple of other improvements target reducing the number of bugs we have, one `checking at reboot if stale volume attachments still reside `_ and another one ensuring a `strict linkage between a compute, a service and the instances it runs `_.