migration from qemu 2.5 to qemu 2.11 fails for pc-i440fx-wily machines
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qemu (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned | ||
Disco |
Fix Released
|
Undecided
|
Unassigned | ||
Eoan |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
* the machine type for wily (which we keep for migration from an early
xenials qemu) is broken >=qemu 2.11
* fix by correcting the definition of that type
[Test Case]
- Xenial / Bionic system
$ lxc launch ubuntu-daily:x x-wily --profile default --profile kvm
$ lxc launch ubuntu-daily:b b-wily --profile default --profile kvm
- set hostid to be different (as we have containers)
$ vim /etc/libvirt/
$ systemctl restart libvirtd
- exchange ssh keys
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub > ~/.ssh/
(host)
$ lxc file pull --recursive x-wily/root/.ssh .
$ lxc file push --recursive .ssh b-wily/root/
$ lxc exec b-wily -- chown -R root:root /root/.ssh
- use uvtool to create the same guest on both systems (FS layout of images)
$ time uvt-simplestrea
arch=amd64 label=daily release=eoan
$ uvt-kvm create --password ubuntu wilymigrate arch=amd64 release=eoan label=daily
- edit to set wily machine type (on source = Xenial)
$ virsh edit wilymigrate
- on target remove the former definition
$ virsh undefine wilymigrate
- Migrate
$ virsh migrate --unsafe --live wilymigrate qemu+ssh:
error: internal error: qemu unexpectedly closed the monitor: 2019-05-
system-x86_64: warning: Unknown firmware file in legacy mode: etc/msr_
2019-
2019-
With the fix on the target the issue is gone.
[Regression Potential]
The purpose to keep these old types is only to allow people to "migrate off" the older releases as long as they are still supported. Never the less sooner or later people are strongly encouraged [1]. Given your great analysis you know that already, but others might come by this bug.
It is important to be considered when deciding on if/what to change.
No one should ever start a "new" guest of a wily type on Bionic or later.
So I'm not too concerned about the delta we introduce to people having done that. The time this took to be found confirms that even migrations from Xenial with a Wily type are rare. We can not really differ between wily types coming from e.g. Xenial (or Trusty-Mitaka) hosts and wily type migrations coming from other Bionic systems (only a problem after a fix to this bug here and if they are on a different patch level).
So as mentioned the one real case for the wily type to still exist is to migrate off of older systems, and that use-case is broken. So I'm considering the thoughts above as a known, but less important than "the main use case" regression.
[Other Info]
* n/a
---
In qemu 2.11 pc-i440fx-wily machine type is defined the following way by the ubuntu patch:
101 +static void pc_wily_
102 +{
103 + pc_i440fx_
104 + pc_i440fx_
105 + m->desc = "Ubuntu 15.04 PC (i440FX + PIIX, 1996)",
106 + m->default_display = "std";
107 +}
108 +
109 +DEFINE_
110 + pc_wily_
In qemu 2.5, pc_compat_2_3 contained the following skip flags: https:/
in qemu 2.11 those skips moved to pc_i440fx_
https:/
https:/
https:/
https:/
It happened in commits:
https:/
https:/
https:/
but pc_wily_
LC_ALL=C PATH=/usr/
2019-05-14 11:53:57.583+0000: Domain id=22 is tainted: shell-scripts
2019-05-
2019-05-
2019-05-
2019-05-14 11:53:57.998+0000: shutting down, reason=failed
description: | updated |
description: | updated |
Changed in qemu (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in qemu (Ubuntu Disco): | |
status: | New → Triaged |
Changed in qemu (Ubuntu Cosmic): | |
status: | New → Triaged |
Changed in qemu (Ubuntu Bionic): | |
status: | New → Triaged |
Status changed to 'Confirmed' because the bug affects multiple users.