Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-7478

Vnc show Guest has not initialized the display (yet) after ramfb VM migration

    • qemu-kvm-8.2.0-1.el9
    • Normal
    • sst_virtualization
    • ssg_virtualization
    • 19
    • 21
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Enhancement
    • Hide
      .VNC viewer correctly initializes a VM display after live migration of `ramfb`

      This update enhances the `ramfb` framebuffer device, which you can configure as a primary display for a virtual machine (VM). Previously, `ramfb` was unable to migrate, which resulted in VMs that use `ramfb` showing a blank screen after live migration. Now, `ramfb` is compatible with live migration. As a result, you see the VM desktop display when the migration completes.
      Show
      .VNC viewer correctly initializes a VM display after live migration of `ramfb` This update enhances the `ramfb` framebuffer device, which you can configure as a primary display for a virtual machine (VM). Previously, `ramfb` was unable to migrate, which resulted in VMs that use `ramfb` showing a blank screen after live migration. Now, `ramfb` is compatible with live migration. As a result, you see the VM desktop display when the migration completes.
    • Done
    • None

      Description of problem:
      Vnc show Guest has not initialized the display (yet) after ramfb VM migration

      Version-Release number of selected component (if applicable):
      qemu-kvm-5.0.0-2.module+el8.3.0+7379+0505d6ca.x86_64
      4.18.0-226.el8.x86_64(vm & host)

      Kernel line I used:

      1. cat /proc/cmdline
        BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-226.el8.x86_64 root=/dev/mapper/rhel_bootp-7322737-root ro crashkernel=auto resume=/dev/mapper/rhel_bootp73227-37-swap rd.lvm.lv=rhel_bootp-73-227-37/root rd.lvm.lv=rhel_bootp-73-227-37/swap console=ttyS0,115200 vga=0x344

      How reproducible:
      100%

      Steps to Reproduce:
      1.Boot rhel8.3 vm with ramfb device:
      /usr/libexec/qemu-kvm \
      -name guest=rhel83_2,debug-threads=on \
      -S \
      -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-rhel83_2/master-key.aes \
      -machine pc-q35-rhel8.3.0,accel=kvm,usb=off,dump-guest-core=off \
      -cpu Haswell-noTSX-IBRS,vme=on,ss=on,vmx=on,f16c=on,rdrand=on,hypervisor=on,arat=on,tsc-adjust=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaveopt=on,pdpe1gb=on,abm=on,ibpb=on,amd-stibp=on,amd-ssbd=on,skip-l1dfl-vmentry=on,pschange-mc-no=on \
      -m 8192 \
      -overcommit mem-lock=off \
      -smp 8,sockets=1,dies=1,cores=8,threads=1 \
      -uuid 59e303e9-eded-4ee5-83fd-4d23c98ffe92 \
      -no-user-config \
      -nodefaults \
      -chardev socket,id=charmonitor,fd=36,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 \
      -global ICH9-LPC.disable_s3=1 \
      -global ICH9-LPC.disable_s4=1 \
      -boot strict=on \
      -device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \
      -device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
      -device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \
      -device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \
      -device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \
      -device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 \
      -device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 \
      -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 \
      -device virtio-scsi-pci,id=scsi0,bus=pci.3,addr=0x0 \
      -device virtio-serial-pci,id=virtio-serial0,bus=pci.4,addr=0x0 \
      -blockdev '{"driver":"file","filename":"/home/nfs/rhel83_2.qcow2","node-name":"libvirt-1-storage","cache":

      {"direct":true,"no-flush":false}

      ,"auto-read-only":true,"discard":"unmap"}' \
      -blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":

      {"direct":true,"no-flush":false}

      ,"driver":"raw","file":"libvirt-1-storage"}' \
      -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-0,drive=libvirt-1-format,id=scsi0-0-0-0,bootindex=1,write-cache=on \
      -netdev tap,fd=37,id=hostnet0,vhost=on,vhostfd=31 \
      -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:56:00:00:00:07,bus=pci.1,addr=0x0 \
      -chardev file,id=charserial0,path=/mnt/tests/distribution/virt/install/guests/rhel83_2/logs/rhel83_2_console.log \
      -device isa-serial,chardev=charserial0,id=serial0 \
      -chardev pty,id=charserial1 \
      -device isa-serial,chardev=charserial1,id=serial1 \
      -chardev socket,id=charchannel0,fd=38,server,nowait \
      -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \
      -device usb-tablet,id=input0,bus=usb.0,port=1 \
      -vnc 0.0.0.0:0 \
      -device ramfb,id=video0 \
      -incoming defer \
      -device virtio-balloon-pci,id=balloon0,bus=pci.5,addr=0x0 \
      -object rng-random,id=objrng0,filename=/dev/urandom \
      -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.6,addr=0x0 \
      -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
      -msg timestamp=on

      2.Migrate this vm to another host
      3.Check the vnc output after migration done

      Actual results:
      VNC show Guest has not initialized the display (yet)

      Expected results:
      VNC can display vnc console

      Additional info:
      VNC can display vnc console after rebooting the VM

            mlureau Marc-Andre Lureau
            rhn-support-zhguo Zhiyi Guo
            Jiří Herrmann
            Zhiyi Guo Zhiyi Guo
            Mayur Patil Mayur Patil
            Votes:
            0 Vote for this issue
            Watchers:
            20 Start watching this issue

              Created:
              Updated:
              Resolved: