Nir Soffer
2021-Oct-03 17:32 UTC
[Libguestfs] virt-builder stuck starting qemu-kvm on centos stream 9 container
I'm trying to add a centos-9 build to imageio, using a centos stream 9 container. We have some tests using virt-builder to create a test image: https://github.com/oVirt/ovirt-imageio/blob/584dec63debcc181ebc4c83836899d991e22bae7/daemon/test/conftest.py#L84 When trying to create the test image, the test times out after 120 seconds. The container is built from this dockerfile: https://github.com/oVirt/ovirt-imageio/blob/master/docker/Dockerfile.centos-9 The issue can be reproduce locally in fedora 34, using the same container: $ podman pull quay.io/ovirt/imageio-test-centos-9 $ podman run -it --rm quay.io/ovirt/imageio-test-centos-9 # LIBGUESTFS_BACKEND=direct virt-builder -v -x cirros-0.3.5 -o test.img /usr/libexec/qemu-kvm \ -global virtio-blk-pci.scsi=off \ -no-user-config \ -nodefaults \ -display none \ -machine accel=kvm:tcg,graphics=off \ -cpu max \ -m 1280 \ -no-reboot \ -rtc driftfix=slew \ -no-hpet \ -global kvm-pit.lost_tick_policy=discard \ -kernel /var/tmp/.guestfs-0/appliance.d/kernel \ -initrd /var/tmp/.guestfs-0/appliance.d/initrd \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-pci,rng=rng0 \ -device virtio-scsi-pci,id=scsi \ -drive file=/test.img,cache=unsafe,format=raw,id=hd0,if=none \ -device scsi-hd,drive=hd0 \ -drive file=/var/tmp/.guestfs-0/appliance.d/root,snapshot=on,id=appliance,cache=unsafe,if=none,format=raw \ -device scsi-hd,drive=appliance \ -device virtio-serial-pci \ -serial stdio \ -chardev socket,path=/tmp/libguestfsb5LzRA/guestfsd.sock,id=channel0 \ -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \ -netdev user,id=usernet,net=169.254.0.0/16 \ -device virtio-net-pci,netdev=usernet \ -append "panic=1 console=ttyS0 edd=off udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1 cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable 8250.nr_uarts=1 root=UUID=a1794cae-0869-4b1e-b4f7-e45b998dc6d7 selinux=0 guestfs_verbose=1 guestfs_network=1 TERM=xterm" Could not access KVM kernel module: No such file or directory qemu-kvm: failed to initialize kvm: No such file or directory qemu-kvm: falling back to tcg \x1bc\x1b[?7l\x1b[2J\x1b[0mSeaBIOS (version 1.14.0-6.el9) iPXE (http://ipxe.org) 00:05.0 C000 PCI2.10 PnP PMM+4FF8C4C0+4FECC4C0 C000 Booting from ROM... \x1bc\x1b[?7l\x1b[2J (No progress after this point) Same if building the container locally. Same test works on centos-8 and fedora 33, 34, and 35, and in centos stream 9 vm. In centos 9 vm, we see at the same point: Booting from ROM..\x1bc\x1b[?7l\x1b[2J[ 0.000000] Linux version 5.14.0-4.el9.x86_64 (mockbuild at x86-06.stream.rdu2.redhat.com) (gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-2), GNU ld version 2.35.2-9.el9) #1 SMP Thu Sep 23 12:07:52 UTC 2021 Nir
Richard W.M. Jones
2021-Oct-03 20:29 UTC
[Libguestfs] virt-builder stuck starting qemu-kvm on centos stream 9 container
On Sun, Oct 03, 2021 at 08:32:18PM +0300, Nir Soffer wrote:> I'm trying to add a centos-9 build to imageio, using a centos stream 9 > container. > > We have some tests using virt-builder to create a test image: > https://github.com/oVirt/ovirt-imageio/blob/584dec63debcc181ebc4c83836899d991e22bae7/daemon/test/conftest.py#L84 > > When trying to create the test image, the test times out after 120 seconds.We recently started to use -cpu max and that broke on x86-64 so it might be this (Dan Berrange has fixed this already upstream): https://bugzilla.redhat.com/show_bug.cgi?id=2002246 Rich.> The container is built from this dockerfile: > https://github.com/oVirt/ovirt-imageio/blob/master/docker/Dockerfile.centos-9 > > The issue can be reproduce locally in fedora 34, using the same container: > > $ podman pull quay.io/ovirt/imageio-test-centos-9 > $ podman run -it --rm quay.io/ovirt/imageio-test-centos-9 > # LIBGUESTFS_BACKEND=direct virt-builder -v -x cirros-0.3.5 -o test.img > /usr/libexec/qemu-kvm \ > -global virtio-blk-pci.scsi=off \ > -no-user-config \ > -nodefaults \ > -display none \ > -machine accel=kvm:tcg,graphics=off \ > -cpu max \ > -m 1280 \ > -no-reboot \ > -rtc driftfix=slew \ > -no-hpet \ > -global kvm-pit.lost_tick_policy=discard \ > -kernel /var/tmp/.guestfs-0/appliance.d/kernel \ > -initrd /var/tmp/.guestfs-0/appliance.d/initrd \ > -object rng-random,filename=/dev/urandom,id=rng0 \ > -device virtio-rng-pci,rng=rng0 \ > -device virtio-scsi-pci,id=scsi \ > -drive file=/test.img,cache=unsafe,format=raw,id=hd0,if=none \ > -device scsi-hd,drive=hd0 \ > -drive file=/var/tmp/.guestfs-0/appliance.d/root,snapshot=on,id=appliance,cache=unsafe,if=none,format=raw > \ > -device scsi-hd,drive=appliance \ > -device virtio-serial-pci \ > -serial stdio \ > -chardev socket,path=/tmp/libguestfsb5LzRA/guestfsd.sock,id=channel0 \ > -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \ > -netdev user,id=usernet,net=169.254.0.0/16 \ > -device virtio-net-pci,netdev=usernet \ > -append "panic=1 console=ttyS0 edd=off udevtimeout=6000 > udev.event-timeout=6000 no_timer_check printk.time=1 > cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable > 8250.nr_uarts=1 root=UUID=a1794cae-0869-4b1e-b4f7-e45b998dc6d7 > selinux=0 guestfs_verbose=1 guestfs_network=1 TERM=xterm" > Could not access KVM kernel module: No such file or directory > qemu-kvm: failed to initialize kvm: No such file or directory > qemu-kvm: falling back to tcg > \x1bc\x1b[?7l\x1b[2J\x1b[0mSeaBIOS (version 1.14.0-6.el9) > > > iPXE (http://ipxe.org) 00:05.0 C000 PCI2.10 PnP PMM+4FF8C4C0+4FECC4C0 C000 > > > > Booting from ROM... > \x1bc\x1b[?7l\x1b[2J > > (No progress after this point) > > Same if building the container locally. > > Same test works on centos-8 and fedora 33, 34, and 35, and in centos > stream 9 vm. > > In centos 9 vm, we see at the same point: > > Booting from ROM..\x1bc\x1b[?7l\x1b[2J[ 0.000000] Linux version > 5.14.0-4.el9.x86_64 (mockbuild at x86-06.stream.rdu2.redhat.com) (gcc > (GCC) 11.2.1 20210728 (Red Hat 11.2.1-2), GNU ld version 2.35.2-9.el9) > #1 SMP Thu Sep 23 12:07:52 UTC 2021 > > > Nir-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v