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

rhel9.4: virsh define the guest xml failed when running the ovs kernel pvp case on Sapphire Rapids server

    • None
    • None
    • sst_virtualization_hwe
    • ssg_virtualization
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None

      What were you trying to do that didn't work?

      rhel9.4: virsh define the guest xml failed when running the ovs kernel pvp case on Sapphire Rapids server

      Please provide the package NVR for which bug is seen:

      [root@netqe04 perf]# uname -r
      5.14.0-427.13.1.el9_4.x86_64

      [root@netqe04 perf]# rpm -qa|grep libvirt
      libvirt-libs-10.0.0-6.el9_4.x86_64
      libvirt-client-10.0.0-6.el9_4.x86_64
      libvirt-daemon-common-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-secret-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-core-10.0.0-6.el9_4.x86_64
      libvirt-daemon-log-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-qemu-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-network-10.0.0-6.el9_4.x86_64
      libvirt-daemon-config-network-10.0.0-6.el9_4.x86_64
      libvirt-daemon-lock-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-nwfilter-10.0.0-6.el9_4.x86_64
      libvirt-daemon-config-nwfilter-10.0.0-6.el9_4.x86_64
      libvirt-daemon-plugin-lockd-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-iscsi-10.0.0-6.el9_4.x86_64
      python3-libvirt-10.0.0-1.el9.x86_64
      libvirt-client-qemu-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-nodedev-10.0.0-6.el9_4.x86_64
      libvirt-daemon-proxy-10.0.0-6.el9_4.x86_64
      libvirt-daemon-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-scsi-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-mpath-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-logical-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-disk-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-interface-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-rbd-10.0.0-6.el9_4.x86_64
      libvirt-daemon-driver-storage-10.0.0-6.el9_4.x86_64
      libvirt-10.0.0-6.el9_4.x86_64
      [root@netqe04 perf]# rpm -qa|grep qemu
      qemu-img-8.2.0-11.el9_4.x86_64
      libvirt-daemon-driver-qemu-10.0.0-6.el9_4.x86_64
      ipxe-roms-qemu-20200823-9.git4bd064de.el9.noarch
      qemu-kvm-common-8.2.0-11.el9_4.x86_64
      qemu-kvm-core-8.2.0-11.el9_4.x86_64
      libvirt-client-qemu-10.0.0-6.el9_4.x86_64
      qemu-kvm-device-display-virtio-gpu-8.2.0-11.el9_4.x86_64
      qemu-kvm-device-display-virtio-gpu-pci-8.2.0-11.el9_4.x86_64
      qemu-pr-helper-8.2.0-11.el9_4.x86_64
      qemu-kvm-tools-8.2.0-11.el9_4.x86_64
      qemu-kvm-device-usb-redirect-8.2.0-11.el9_4.x86_64
      qemu-kvm-docs-8.2.0-11.el9_4.x86_64
      qemu-kvm-device-usb-host-8.2.0-11.el9_4.x86_64
      qemu-kvm-device-display-virtio-vga-8.2.0-11.el9_4.x86_64
      qemu-kvm-block-rbd-8.2.0-11.el9_4.x86_64
      qemu-kvm-block-blkio-8.2.0-11.el9_4.x86_64
      qemu-kvm-ui-opengl-8.2.0-11.el9_4.x86_64
      qemu-kvm-ui-egl-headless-8.2.0-11.el9_4.x86_64
      qemu-kvm-audio-pa-8.2.0-11.el9_4.x86_64
      qemu-kvm-8.2.0-11.el9_4.x86_64

      How reproducible:

      Steps to reproduce

      1. build ovs kernel pvp topo
        [root@netqe04 ~]# ovs-vsctl show
        545d8c6b-430e-4231-85ce-f5d2af7c6046
        Bridge ovsbr0
        Port ens4f0
        Interface ens4f0
        Port ens4f1
        Interface ens4f1
        Port ovsbr0
        Interface ovsbr0
        type: internal
        Port tap_vnet2
        Interface tap_vnet2
        Port tap_vnet1
        Interface tap_vnet1
        ovs_version: "3.3.1"
      2. virsh define guest with following xml.
        [root@netqe04 perf]# cat g1.xml
        <domain type='kvm'>
        <name>g1</name>
        <memory unit='KiB'>8388608</memory>
        <currentMemory unit='KiB'>8388608</currentMemory>
        <memoryBacking>
        <hugepages>
        <page size='1048576' unit='KiB'/>
        </hugepages>
        <locked/>
        <access mode='shared'/>
        </memoryBacking>
        <vcpu placement='static'>3</vcpu>
        <cputune>
        <vcpupin vcpu='0' cpuset='5'/>
        <vcpupin vcpu='1' cpuset='67'/>
        <vcpupin vcpu='2' cpuset='3'/>
        </cputune>
        <numatune>
        <memory mode='strict' nodeset='0'/>
        </numatune>
        <resource>
        <partition>/machine</partition>
        </resource>
        <os>
        <type arch='x86_64' machine='q35'>hvm</type>
        <boot dev='hd'/>
        </os>
        <features>
        <acpi/>
        <apic/>
        <pmu state='off'/>
        <vmport state='off'/>
        <ioapic driver='qemu'/>
        </features>
        <cpu mode='host-passthrough' check='none'>
        <feature policy='require' name='tsc-deadline'/>
        <numa>
        <cell id='0' cpus='0-2' memory='8388608' unit='KiB' memAccess='shared'/>
        </numa>
        </cpu>
        <clock offset='utc'>
        <timer name='rtc' tickpolicy='catchup'/>
        <timer name='pit' tickpolicy='delay'/>
        <timer name='hpet' present='no'/>
        </clock>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>restart</on_crash>
        <pm>
        <suspend-to-mem enabled='no'/>
        <suspend-to-disk enabled='no'/>
        </pm>
        <devices>
        <emulator>/usr/libexec/qemu-kvm</emulator>
        <disk type='file' device='disk'>
        <driver name='qemu' type='qcow2'/>
        <source file='/var/lib/libvirt/images/g1.qcow2'/>
        <backingStore/>
        <target dev='vda' bus='virtio'/>
        <alias name='virtio-disk0'/>
        <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
        </disk>
        <controller type='usb' index='0' model='none'>
        <alias name='usb'/>
        </controller>
        <controller type='pci' index='0' model='pcie-root'>
        <alias name='pcie.0'/>
        </controller>
        <controller type='pci' index='1' model='pcie-root-port'>
        <model name='pcie-root-port'/>
        <target chassis='1' port='0x10'/>
        <alias name='pci.1'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
        </controller>
        <controller type='pci' index='2' model='pcie-root-port'>
        <model name='pcie-root-port'/>
        <target chassis='2' port='0x11'/>
        <alias name='pci.2'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
        </controller>
        <controller type='pci' index='3' model='pcie-root-port'>
        <model name='pcie-root-port'/>
        <target chassis='3' port='0x8'/>
        <alias name='pci.3'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
        </controller>
        <controller type='pci' index='4' model='pcie-root-port'>
        <model name='pcie-root-port'/>
        <target chassis='4' port='0x9'/>
        <alias name='pci.4'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
        </controller>
        <controller type='pci' index='5' model='pcie-root-port'>
        <model name='pcie-root-port'/>
        <target chassis='5' port='0xa'/>
        <alias name='pci.5'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
        </controller>
        <controller type='pci' index='6' model='pcie-root-port'>
        <model name='pcie-root-port'/>
        <target chassis='6' port='0xb'/>
        <alias name='pci.6'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
        </controller>
        <controller type='sata' index='0'>
        <alias name='ide'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
        </controller>
        <interface type='bridge'>
        <mac address='52:54:00:01:02:03'/>
        <source bridge='virbr0'/>
        <model type='virtio'/>
        </interface>
        <interface type='ethernet'>
        <mac address='00:de:ad:00:00:01'/>
        <target dev='tap_vnet1' managed='no'/>
        <source bridge='ovsbr0'/>
        <model type='virtio'/>
        <driver name='vhost' iommu='on' ats='on'/>
        <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
        </interface>
        <interface type='ethernet'>
        <mac address='00:de:ad:00:00:02'/>
        <target dev='tap_vnet2' managed='no'/>
        <source bridge='ovsbr0'/>
        <model type='virtio'/>
        <driver name='vhost' iommu='on' ats='on'/>
        <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
        </interface>
        <serial type='pty'>
        <source path='/dev/pts/1'/>
        <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
        </target>
        <alias name='serial0'/>
        </serial>
        <console type='pty' tty='/dev/pts/1'>
        <source path='/dev/pts/1'/>
        <target type='serial' port='0'/>
        <alias name='serial0'/>
        </console>
        <input type='mouse' bus='ps2'>
        <alias name='input0'/>
        </input>
        <input type='keyboard' bus='ps2'>
        <alias name='input1'/>
        </input>
        <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
        <listen type='address' address='0.0.0.0'/>
        </graphics>
        <video>
        <model type='cirrus' vram='16384' heads='1' primary='yes'/>
        <alias name='video0'/>
        <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
        </video>
        <memballoon model='virtio'>
        <alias name='balloon0'/>
        <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
        </memballoon>
        <iommu model='intel'>
        <driver intremap='on' caching_mode='on' iotlb='on'/>
        </iommu>
        </devices>
        <seclabel type='dynamic' model='selinux' relabel='yes'/>
        </domain>

      Expected results

      For rhel9.4, virsh define guest failed on netqe04(Sapphire Rapids server)
      https://beaker.engineering.redhat.com/jobs/9346613
      [root@netqe04 perf]# virsh define g1.xml
      error: Failed to define domain from g1.xml
      error: unsupported configuration: Emulator '/usr/libexec/qemu-kvm' does not support virt type 'kvm'
      It has no this issue for rhel9.5.
      https://beaker.engineering.redhat.com/jobs/9347619
      It also has no issue for rhel9.2.
      https://beaker.engineering.redhat.com/jobs/9347916

      It can work well on my dell 740-57 server.
      https://beaker.engineering.redhat.com/jobs/9345992

      Actual results

      For rhel9.4,virsh define guest successfully on netqe04(Sapphire Rapids server)

            rhn-engineering-imammedo Igor Mammedov
            tli@redhat.com Ting Li
            virt-maint virt-maint
            Jing Zhao Jing Zhao
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: