Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
nova: Default to the unversioned q35 machine type on x86_64
Browse files Browse the repository at this point in the history
This change updates the NovaHWMachineType parameter to now default to the
unversioned q35 machine type for x86_64 instances within a deployment.

A simple environment file is also included to pin NovaHWMachineType to
the previous versioned defaults during an upgrade to this release. Once
upgraded operators can then use the following flow to record the machine
type of existing instances allowing the default to eventually be
changed:

https://docs.openstack.org/nova/latest/admin/hw-machine-type.html

This change depends on Ieb21fd8f3e895ea7611882f1e92f398efe2e77fa to
ensure that the standalone role picks up this new default in CI.

It also depends on Ia3f839a3c5e4e4b59898c11561fe7ef7126bba5f to ensure
that all jobs use cirros 0.5.2 that includes the achi module now
required when using q35 based instances.

Depends-On: https://review.opendev.org/c/openstack/tripleo-quickstart-extras/+/785575

Finally, it also depends on I0e068043d8267ab91535413d950a3e154c2234f7
from Nova that is attempting to workaround a known QEMU issue that
appears more prevalent when using this newer machine type.

Depends-On: https://review.opendev.org/c/openstack/nova/+/785682

Change-Id: I9f60a73577ae7cd712e2a8285abc0c0788906112
  • Loading branch information
lyarwood authored and amolkahat committed Apr 29, 2021
1 parent 1150081 commit 4efd15e
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
2 changes: 1 addition & 1 deletion deployment/nova/nova-compute-container-puppet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -432,7 +432,7 @@ parameters:
NovaHWMachineType:
description: >
To specify a default machine type per host architecture.
default: ''
default: 'x86_64=q35'
type: string
tags:
- role_specific
Expand Down
10 changes: 10 additions & 0 deletions environments/nova-hw-machine-type-upgrade.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# A Heat environment file to pin NovaHWMachineType and in turn
# [libvirt]hw_machine_type to the legacy default machine types during
# an upgrade. This allows operators to then ensure a machine type is
# recorded for existing instances *before* changing to the new
# default. See the following Nova documentation for more details:
#
# https://docs.openstack.org/nova/latest/admin/hw-machine-type.html
#
parameter_defaults:
NovaHWMachineType: 'x86_64=pc-i440fx-rhel7.6.0,aarch64=virt-rhel7.6.0,ppc64=pseries-rhel7.6.0,ppc64le=pseries-rhel7.6.0'
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
---
upgrade:
- |
The ``NovaHWMachineType`` parameter now defaults to an empty string with
per architecture machine type defaults instead being provided directly by
OpenStack Nova.
The ``NovaHWMachineType`` parameter now defaults ``x86_64`` based instances
to the unversioned ``q35`` machine type. The remaining architecture machine
type defaults being provided directly by OpenStack Nova.
A ``environments/nova-hw-machine-type-upgrade.yaml`` environment file has
been provided to pin ``NovaHWMachineType`` to the previous versioned
machine type defaults during an upgrade.
When the upgrade of the overcloud is complete the following OpenStack Nova
documentation should then be used to ensure a machine type is recorded for
all existing instances before the new ``NovaHWMachineType`` default can be
used in the environment.
https://docs.openstack.org/nova/latest/admin/hw-machine-type.html#update

0 comments on commit 4efd15e

Please sign in to comment.