Added the SRU template, I had all in the comments and forgot I haven't copied it to the description yet - sorry. Thanks for the ping sil2100
** Description changed: + [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/libvirtd.conf + $ systemctl restart libvirtd + - exchange ssh keys + $ ssh-keygen + $ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys + (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-simplestreams-libvirt --verbose sync --source http://cloud-images.ubuntu.com/daily \ + 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://10.253.194.250/system + error: internal error: qemu unexpectedly closed the monitor: 2019-05-22T13:04:19.108689Z qemu- + system-x86_64: warning: Unknown firmware file in legacy mode: etc/msr_feature_control + 2019-05-22T13:04:19.151216Z qemu-system-x86_64: Configuration section missing + 2019-05-22T13:04:19.151336Z qemu-system-x86_64: load of migration failed: Invalid argument + + 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_machine_options(MachineClass *m) 102 +{ 103 + pc_i440fx_2_4_machine_options(m); 104 + pc_i440fx_machine_options(m); 105 + m->desc = "Ubuntu 15.04 PC (i440FX + PIIX, 1996)", 106 + m->default_display = "std"; 107 +} 108 + 109 +DEFINE_I440FX_MACHINE(wily, "pc-i440fx-wily", pc_compat_2_3, 110 + pc_wily_machine_options); In qemu 2.5, pc_compat_2_3 contained the following skip flags: https://github.com/qemu/qemu/blob/v2.5.1.1/hw/i386/pc_piix.c#L304-L313 (skip configuration, skip section footers, and optional global state) in qemu 2.11 those skips moved to pc_i440fx_2_3_machine_options: https://github.com/qemu/qemu/blob/v2.11.2/hw/i386/pc_piix.c#L314-L320 https://github.com/qemu/qemu/blob/v2.11.2/hw/i386/pc_piix.c#L524-L529 https://github.com/qemu/qemu/blob/v2.11.2/include/hw/i386/pc.h#L573-L574 https://github.com/qemu/qemu/blob/v2.11.2/include/hw/compat.h#L193-L205 It happened in commits: https://github.com/qemu/qemu/commit/71dd4c1a5672cafe9fb89abc83fe2a962f39ec42 https://github.com/qemu/qemu/commit/15c38503253bb9ba9b8efd17662069f69ca2b997 https://github.com/qemu/qemu/commit/5272298c48eb3a01c41a7822e6303d0a0a05f004 but pc_wily_machine_options still refers to pc_i440fx_2_4_machine_options instead of pc_i440fx_2_3_machine_options, migration config section is not being skipped on destination host and so during migration the issue happens: LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm-spice -name guest=instance-00054361,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-22-instance-00054361/master-key.aes -machine pc-i440fx-wily,accel=kvm,usb=off,dump-guest-core=off -cpu Broadwell -m 32768 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -uuid 660fed6d-bb56-4e15-b866-007419be4cf3 -smbios 'type=1,manufacturer=OpenStack Foundation,product=OpenStack Nova,version=15.1.5,serial=7074a01b-b759-4e91-978a-fde846e2ec9e,uuid=660fed6d-bb56-4e15-b866-007419be4cf3,family=Virtual Machine' -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-22-instance-00054361/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -object secret,id=virtio-disk0-secret0,data=xx,keyid=masterKey0,iv=xx,format=base64 -drive 'file=rbd:ephemeral-vms-ssd/660fed6d-bb56-4e15-b866-007419be4cf3_disk:id=nova:auth_supported=cephx\;none:mon_host=10.154.29.44\:6789\;10.154.29.60\:6789\;10.154.29.76\:6789,file.password-secret=virtio-disk0-secret0,format=raw,if=none,id=drive-virtio-disk0,cache=writeback,discard=unmap,throttling.iops-total=1000' -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -object secret,id=ide0-0-0-secret0,data=xx,keyid=masterKey0,iv=xx,format=base64 -drive 'file=rbd:ephemeral-vms-ssd/660fed6d-bb56-4e15-b866-007419be4cf3_disk.config:id=nova:auth_supported=cephx\;none:mon_host=10.154.29.44\:6789\;10.154.29.60\:6789\;10.154.29.76\:6789,file.password-secret=ide0-0-0-secret0,format=raw,if=none,id=drive-ide0-0-0,readonly=on,cache=writeback,discard=unmap,throttling.iops-total=1000' -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,fd=55,id=hostnet0,vhost=on,vhostfd=58 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=02:60:27:5a:aa:ec,bus=pci.0,addr=0x3 -add-fd set=2,fd=60 -chardev file,id=charserial0,path=/dev/fdset/2,append=on -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,id=serial1 -device usb-tablet,id=input0 -vnc 10.170.4.69:13 -k en-us -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -incoming defer -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on 2019-05-14 11:53:57.583+0000: Domain id=22 is tainted: shell-scripts 2019-05-14T11:53:57.608860Z qemu-system-x86_64: -chardev pty,id=charserial1: char device redirected to /dev/pts/14 (label charserial1) 2019-05-14T11:53:57.978684Z qemu-system-x86_64: Configuration section missing 2019-05-14T11:53:57.978786Z qemu-system-x86_64: load of migration failed: Invalid argument 2019-05-14 11:53:57.998+0000: shutting down, reason=failed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1829868 Title: migration from qemu 2.5 to qemu 2.11 fails for pc-i440fx-wily machines To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1829868/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
