2023.1 Series Release Notes — nova documentation (2023)


Upgrade Notes

  • Configuration of service user tokens is now required for all Nova servicesto ensure security of block-storage volume data.

    All Nova configuration files must configure the [service_user] section asdescribed in the documentation.

    See https://bugs.launchpad.net/nova/+bug/2004555 for more details.



The OpenStack 2023.1 (Nova 27.0.0) release includes many new features andbug fixes. Please be sure to read the upgrade section which describes therequired actions to upgrade your cloud from 26.0.0 (Zed) to 27.0.0 (2023.1).As a reminder, OpenStack 2023.1 is our first Skip-Level-Upgrade Release(starting from now, we name it a SLURP release) where you canrolling-upgrade your compute services from OpenStack Yoga as an experimentalfeature. Next SLURP release will be 2024.1.

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

  • The latest Compute API microversion supported for 2023.1 is v2.95.

  • PCI devices can now be scheduledby Nova using the Placement API on a opt-in basis. This will help thenova-scheduler service to better schedule flavors that use PCI(non-Neutron related) resources, will generate less reschedules if aninstance cannot be created on a candidate and will help the nova-schedulerto not miss valid candidates if the list was too large.

  • Operators can now ask Nova to manage the power consumption of dedicatedCPUsso as to either offline them or change their governor if they’recurrently not in use by any instance or if the instance is stopped.

  • Nova will prevent unexpected compute service renames by persisting a uniquecompute UUID on local disk.This stored UUID will be considered the source of truth for knowing whetherthe compute service hostame has been modified or not. As a reminder,changing a compute hostname is forbidden, particularly when this compute iscurrently running instances on top of it.

    (Video) What's New in WebStorm 2023.1

  • SPICE consolescan now be configured with compression settings which include choices of thecompression algorithm and the compression mode.

  • Fully-Qualified Domain Names are now considered valid for an instancehostname if you use the 2.94 API microversion.

  • By opting into 2.95 API microversion, evacuated instances will remainstopped on the destination host until manually started.

  • Nova APIs now by default support new RBAC policies <https://docs.openstack.org/nova/latest/configuration/policy.html>and scopes. See our Policy Concepts documention <https://docs.openstack.org/nova/latest/configuration/policy-concepts.html>for further details.

New Features

  • The following SPICE-related options are added to the spiceconfiguration group of a Nova configuration:

    • image_compression

    • jpeg_compression

    • zlib_compression

    • playback_compression

    • streaming_mode

    These configuration options can be used to enable and set theSPICE compression settings for libvirt (QEMU/KVM) provisionedinstances. Each configuration option is optional and can be setexplictly to configure the associated SPICE compression settingfor libvirt. If all configuration options are not set, then noneof the SPICE compression settings will be configured for libvirt,which corresponds to the behavior before this change. In this case,the built-in defaults from the libvirt backend (e.g. QEMU) are used.

    (Video) What's Coming in TWINMOTION 2023? (Twinmotion 2023.1 Preview!)

    Note that those options are only taken into account if SPICE supportis enabled (and the VNC support is disabled).

  • Starting with v2.95 any evacuated instance will be stopped atdestination. The required minimum version for Nova computes is27.0.0 (antelope 2023.1). Operator can still continue usingprevious behavior by selecting microversion below v2.95.

  • This is now possible to configure nova-compute services using libvirt driverby setting [libvirt]cpu_power_management to True in order to let theservice to powering down or up physical CPUs depending on whether those CPUsare pinned or not to instances. In order on to support this feature, thecompute service needs to be set with [compute]cpu_dedicated_set. If so,all the related CPUs will be powering down until they are used by aninstance where the related pinned CPU will be powering up just beforestarting the guest. If [compute]cpu_dedicated_set isn’t set, then thecompute service will refuse to start.By default the power strategy will offline CPUs when powering down andonline the CPUs on powering up but another strategy is possible by using[libvirt]cpu_power_management_strategy=governor which will rather modifythe related CPU governor using [libvirt]cpu_power_governor_low and[libvirt]cpu_power_governor_high configuration values (respectivedefaults being powersave and performance)

  • Since 26.0.0 (Zed) Nova supports tracking PCI devices in Placement. NowNova also supports scheduling flavor based PCI device requests viaPlacement. This support is disable by default. Please readdocumentationfor more details on what is supported how this feature can be enabled.

  • The 2.94 microversion has been added. This microversion extendsmicroversion 2.90 by allowing Fully Qualified Domain Names (FQDN) whereverthe hostname is able to be specified. This consists of creating aninstance (POST /servers), updating an instance(PUT /servers/{id}), or rebuilding an instance(POST /servers/{server_id}/action (rebuild)). When using an FQDN as theinstance hostname, the [api]dhcp_domain configuration option must beset to the empty string in order for the correct FQDN to appear in thehostname field in the metadata API.

  • The compute manager now uses a local file to provide node uuid persistenceto guard against problems with renamed services, among other things.Deployers wishing to ensure that new compute services get a predicatbleuuid before initial startup may provision that file and nova will use it,otherwise nova will generate and write one to a compute_id file inCONF.state_path the first time it starts up. Accidental renames of acompute node’s hostname will be detected and the manager will exit to avoiddatabase corruption. Note that none of this applies to Ironic computes, asthey manage nodes and uuids differently.

  • Guru Meditation Reports can now be generated for the Nova API servicewhen running under uWSGI. Note that uWSGI intercepts SIGUSR2 signals,so a file trigger should be used instead.

Upgrade Notes

  • Operators will have to consider upgrading compute hosts to Nova27.0.0 (antelope 2023.1) in order to take advantage of the new(microversion v2.95) evacuate API behavior. An exception will beraised for older versions.

  • The Nova service enable the API policies (RBAC) new defaults and scope bydefault. The Default value of config options [oslo_policy] enforce_scopeand [oslo_policy] oslo_policy.enforce_new_defaults have been changedto True.

    This means if you are using system scope token to access Nova API thenthe request will be failed with 403 error code. Also, new defaults will beenforced by default. To know about the new defaults of each policyrule, refer to the Policy New Defaults. For more detail about the NovaAPI policies changes, refer to Policy Concepts.

    If you want to disable them then modify the below config options value innova.conf file:

    (Video) ReSharper & Rider 2023.1 Release Party

  • In order to make use of microversion’s 2.94 FQDN hostnames, the[api]dhcp_domain config option must be set to the empty string. Ifthis is not done, the hostname field in the metadata API will beincorrect, as it will include the value of [api]dhcp_domain appended tothe instance’s FQDN. Note that simply not setting [api]dhcp_domain isnot enough, as it has a default value of novalocal. It must explicitlybe set to the empty string.

  • Existing compute nodes will, upon upgrade, perist the uuid of the computenode assigned to their hostname at first startup. Since this must matchwhat is currently in the database, it is important to let nova provisionthis file from its database. Nova will only persist to a compute_id filein the CONF.state_path directory, which should already be writable.

  • In this release the default values for the initial ram and cpu allocationratios have been updated to 1.0 and 4.0 respectively. This will notaffect any existing compute node resource providers but the new defaultwill take effect on the creation of new resource providers.

Bug Fixes

  • Fixes bug 1996995 in which VMs live migrated on certain VXLAN Aristanetwork fabrics were inaccessible until the switch arp cache expired.

    A Nova workaround option of enable_qemu_monitor_announce_self was addedto fix bug 1815989 which when enabled would interact with the QEMUmonitor and force a VM to announce itself.

    On certain network fabrics, VMs that are live migrated remain inaccessiblevia the network despite the QEMU monitor announce_self command successfullybeing called.

    It was noted that on Arista VXLAN fabrics, testing showed that it requiredseveral attempts of running the QEMU announce_self monitor command beforethe switch would acknowledge a VM’s new location on the fabric.

    This fix introduces two operator configurable options.The first option sets the number of times the QEMU monitor announce_selfcommand is called - qemu_announce_self_count

    The second option allows operators to set the delay between the QEMUannounce_self commands in seconds for subsequent announce_self commandswith qemu_announce_self_interval

    (Video) How Does NetSuite 2023 Release 1 Affect Me? - An Overview Training Session

  • Fixed when placement returns ironic nodes that have just started automaticcleaning as possible valid candidates. This is done by marking all ironicnodes with an instance on them as reserved, such that nova only makes themavailable once we have double checked Ironic reports the node as available.If you don’t have automatic cleaning on, this might mean it takes longerthan normal for Ironic nodes to become available for new instances.If you want the old behaviour use the following workaround config:[workarounds]skip_reserve_in_use_ironic_nodes=true

  • apache mod_wsgi does not support passing commandline arguments to the wsgiapplication that it hosts. As a result when the nova api or metadata apiwhere run under mod_wsgi it was not posible to use multiple config filesor non-default file names i.e. nova-api.confThis has been adressed by the intoduction of a new, optional, envionmentvarible OS_NOVA_CONFIG_FILES. OS_NOVA_CONFIG_FILES is a ;seperated list fo file path relitive to OS_NOVA_CONFIG_DIR.When unset the default api-paste.ini and nova.conf will be usedform /etc/nova. This is supported for the nova api and nova metadatawsgi applications.

  • Fix rescuing volume based instance by adding a check for ‘hw_rescue_disk’and ‘hw_rescue_device’ properties in image metadata before attemptingto rescue instance.

  • Nova’s use of libvirt’s compareCPU() API has become error-prone asit doesn’t take into account host hypervisor’s capabilities. WithQEMU >=2.9 and libvirt >= 4.4.0, libvirt will do the right thing interms of CPU comparison checks via a new replacement API,compareHypervisorCPU(). Nova satisfies the said minimum versionrequirements of QEMU and libvirt by a good margin.

    This change replaces the usage of older API, compareCPU(), with thenew one, compareHypervisorCPU().

Other Notes

  • For networks which have any subnets with enabled DHCP, MTU value is not sendin the metadata. In such case MTU is configured through the DHCP server.

  • A workaround has been added to the libvirt driver to catch and passmigrations that were previously failing with the error:

    libvirt.libvirtError: internal error: migration was active, but no RAM info was set

    See bug 1982284 for more details.

  • The default initial allocation ratios enabled ram over commit by defaultwith a factor of 1.5. This value was chosen early in nova’s historyas the predominant workload was web hosting or other light weightvirtualization. Similarly the default initial cpu allocation ratiodefaulted to 16. As more demanding workload from telco, enterprise,scientific and governmental users became the norm the initial values wehad chosen became less and less correct overtime. These have now beenupdated to reflect a more reasonable default for the majority of our users.As of this release the initial ram allocation value is 1.0 disablingovercommit by default for new compute nodes and the initial cpu allocationratio is now 4.0 which is a more reasonable overcommit for non idleworkloads.


1. VRChat Video Patch Notes - 2023.1.1
2. The New Version of Twinmotion CHANGES EVERYTHING!
(The Rendering Essentials)
3. What's New in Twinmotion 2023.1 Preview 2?!?! [It's BEAUTIFUL!]
(Architecture Vanguard)
4. Package manager | 2023.1 Release Tutorial
(Typhoon HIL)
5. TopoDOT Version 2023.1 Release Highlights
6. What’s new in Home Assistant 2023.1? The year of voice!
(Smart Home Junkie)


Top Articles
Latest Posts
Article information

Author: Sen. Emmett Berge

Last Updated: 11/25/2023

Views: 5597

Rating: 5 / 5 (80 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Sen. Emmett Berge

Birthday: 1993-06-17

Address: 787 Elvis Divide, Port Brice, OH 24507-6802

Phone: +9779049645255

Job: Senior Healthcare Specialist

Hobby: Cycling, Model building, Kitesurfing, Origami, Lapidary, Dance, Basketball

Introduction: My name is Sen. Emmett Berge, I am a funny, vast, charming, courageous, enthusiastic, jolly, famous person who loves writing and wants to share my knowledge and understanding with you.