2019-05-21 13:35:44 |
Vladyslav Drok |
bug |
|
|
added bug |
2019-05-21 13:39:37 |
Vladyslav Drok |
description |
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.0/hw/i386/pc_piix.c#L314-L320
https://github.com/qemu/qemu/blob/v2.11.0/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
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 |
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.0/hw/i386/pc_piix.c#L314-L320
https://github.com/qemu/qemu/blob/v2.11.0/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 |
|
2019-05-21 13:41:12 |
Launchpad Janitor |
qemu (Ubuntu): status |
New |
Confirmed |
|
2019-05-21 13:44:29 |
Vladyslav Drok |
description |
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.0/hw/i386/pc_piix.c#L314-L320
https://github.com/qemu/qemu/blob/v2.11.0/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 |
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 |
|
2019-05-22 10:38:28 |
Christian Ehrhardt |
qemu (Ubuntu): status |
Confirmed |
Triaged |
|
2019-05-22 10:38:30 |
Christian Ehrhardt |
qemu (Ubuntu): importance |
Undecided |
Medium |
|
2019-05-22 13:10:48 |
Christian Ehrhardt |
qemu (Ubuntu): status |
Triaged |
Incomplete |
|
2019-05-28 07:18:09 |
Christian Ehrhardt |
qemu (Ubuntu): status |
Incomplete |
Triaged |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
nominated for series |
|
Ubuntu Eoan |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
bug task added |
|
qemu (Ubuntu Eoan) |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
nominated for series |
|
Ubuntu Bionic |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
bug task added |
|
qemu (Ubuntu Bionic) |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
nominated for series |
|
Ubuntu Cosmic |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
bug task added |
|
qemu (Ubuntu Cosmic) |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
nominated for series |
|
Ubuntu Disco |
|
2019-05-28 07:18:16 |
Christian Ehrhardt |
bug task added |
|
qemu (Ubuntu Disco) |
|
2019-05-28 07:18:23 |
Christian Ehrhardt |
qemu (Ubuntu Disco): status |
New |
Triaged |
|
2019-05-28 07:18:25 |
Christian Ehrhardt |
qemu (Ubuntu Cosmic): status |
New |
Triaged |
|
2019-05-28 07:18:27 |
Christian Ehrhardt |
qemu (Ubuntu Bionic): status |
New |
Triaged |
|
2019-06-06 06:32:37 |
Launchpad Janitor |
qemu (Ubuntu Eoan): status |
Triaged |
Fix Released |
|
2019-06-06 17:59:48 |
Christian Ehrhardt |
description |
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 |
[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 |
|
2019-06-07 09:19:20 |
Timo Aaltonen |
qemu (Ubuntu Disco): status |
Triaged |
Fix Committed |
|
2019-06-07 09:19:22 |
Timo Aaltonen |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2019-06-07 09:19:26 |
Timo Aaltonen |
bug |
|
|
added subscriber SRU Verification |
2019-06-07 09:19:29 |
Timo Aaltonen |
tags |
|
verification-needed verification-needed-disco |
|
2019-06-07 09:22:21 |
Timo Aaltonen |
qemu (Ubuntu Cosmic): status |
Triaged |
Fix Committed |
|
2019-06-07 09:22:26 |
Timo Aaltonen |
tags |
verification-needed verification-needed-disco |
verification-needed verification-needed-cosmic verification-needed-disco |
|
2019-06-07 09:25:49 |
Timo Aaltonen |
qemu (Ubuntu Bionic): status |
Triaged |
Fix Committed |
|
2019-06-07 09:25:56 |
Timo Aaltonen |
tags |
verification-needed verification-needed-cosmic verification-needed-disco |
verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-disco |
|
2019-06-13 11:11:25 |
Christian Ehrhardt |
tags |
verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-disco |
verification-done verification-done-bionic verification-done-cosmic verification-done-disco |
|
2019-06-24 23:49:47 |
Launchpad Janitor |
qemu (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2019-06-24 23:49:57 |
Steve Langasek |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2019-06-24 23:50:15 |
Launchpad Janitor |
qemu (Ubuntu Cosmic): status |
Fix Committed |
Fix Released |
|
2019-06-24 23:50:32 |
Launchpad Janitor |
qemu (Ubuntu Disco): status |
Fix Committed |
Fix Released |
|