Public bug reported:

I upgraded a KVM host from Ubuntu 24.04 to Ubuntu 26.04. After the
upgrade, none of my libvirt VMs would start because their domain
definitions used `pc-q35-4.2`, which is unavailable in the target QEMU.
One of these VMs provided DNS and DHCP for my home network, so losing
all guests caused a significant outage.  `virsh start` gave the error
`Emulator '/usr/bin/qemu-system-x86_64' does not support machine type
'pc-q35-4.2'` (or similar - I don't have the exact text).

The VMs were recovered by editing their domain XML and changing the
machine type to `pc-q35-10.2`.

My strong recommendation is that the upgrade process should check
libvirt domain definitions against the machine types available in the
target QEMU version and show an actionable warning before proceeding
when a configured type will no longer be available. Since changing a
machine type can alter guest-visible hardware, an automatic rewrite may
be unsafe; a pre-upgrade warning that lets the administrator postpone
the upgrade and migrate/test the VMs would prevent this avoidable
outage.

**Expected:** Before the host upgrade, identify affected VMs and explain
that their configured machine type will be unavailable after upgrading,
with guidance to back up and move them to a supported type.

**Actual:** The host upgrade completed, but all affected VMs failed to
start afterward.

**Environment:** Ubuntu 24.04 → 26.04 KVM host; affected guests
configured with `pc-q35-4.2`; target QEMU 10.2.

**Workaround:** Change the machine type in each VM’s libvirt domain XML
to a type supported by the upgraded host.

```
mh@mh-nas:~$ lsb_release -rd
Description:    Ubuntu 26.04.1 LTS
Release:        26.04
mh@mh-nas:~$

mh@mh-nas:~$ apt-cache policy qemu-system-x86 libvirt-daemon-system 
ubuntu-release-upgrader-core
qemu-system-x86:
  Installed: 1:10.2.1+ds-1ubuntu3.3
  Candidate: 1:10.2.1+ds-1ubuntu3.3
  Version table:
 *** 1:10.2.1+ds-1ubuntu3.3 500 (phased 20%)
        500 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 
Packages
        100 /var/lib/dpkg/status
     1:10.2.1+ds-1ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu resolute/main amd64 Packages
libvirt-daemon-system:
  Installed: 12.0.0-1ubuntu5.6
  Candidate: 12.0.0-1ubuntu5.6
  Version table:
 *** 12.0.0-1ubuntu5.6 500 (phased 20%)
        500 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 
Packages
        100 /var/lib/dpkg/status
     12.0.0-1ubuntu5.5 500
        500 http://security.ubuntu.com/ubuntu resolute-security/main amd64 
Packages
     12.0.0-1ubuntu5 500
        500 http://archive.ubuntu.com/ubuntu resolute/main amd64 Packages
ubuntu-release-upgrader-core:
  Installed: 1:26.04.27
  Candidate: 1:26.04.27
  Version table:
 *** 1:26.04.27 500
        500 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 
Packages
        500 http://archive.ubuntu.com/ubuntu resolute-updates/main i386 Packages
        100 /var/lib/dpkg/status
     1:26.04.18 500
        500 http://archive.ubuntu.com/ubuntu resolute/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu resolute/main i386 Packages
mh@mh-nas:~$
```

** Affects: ubuntu-release-upgrader (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172127

Title:
  Release upgrade should warn when libvirt guests use machine types
  unavailable in the target QEMU

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2172127/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to