libvirtError: internal error: unknown feature amd-sev-es

Hi, I moved to CentOS stream on the hosts as I need recent sanlock package due to vdsm dependency on it. After moving to Stream and updating packages, all my hosts fails with exception bellow. Bellow are also libvirt and vdsm versions and VM XML dump. Yesterday I tried more recent libvirt, but IIRC got SeLinux exception when connecting to libvirt. Do you know how to fix this issue or basically how to create working env. where I would be able to install recent vdsm? Thanks Vojta 2021-06-16 05:23:01,275-0400 ERROR (jsonrpc/5) [root] Error while getting domain capabilities (machinetype:92) Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/vdsm/common/cache.py", line 41, in __call__ return self.cache[args] KeyError: () During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/vdsm/machinetype.py", line 90, in _get_domain_capabilities domcaps = conn.getDomainCapabilities(None, arch, None, virt_type, 0) File "/usr/lib/python3.6/site-packages/vdsm/common/libvirtconnection.py", line 131, in wrapper ret = f(*args, **kwargs) File "/usr/lib/python3.6/site-packages/vdsm/common/function.py", line 94, in wrapper return func(inst, *args, **kwargs) File "/usr/lib64/python3.6/site-packages/libvirt.py", line 4493, in getDomainCapabilities raise libvirtError('virConnectGetDomainCapabilities() failed') libvirt.libvirtError: internal error: unknown feature amd-sev-es 2021-06-16 05:23:01,277-0400 ERROR (jsonrpc/5) [root] Error while getting CPU features: no domain capabilities found (machinetype:188) 2021-06-16 05:23:01,278-0400 ERROR (jsonrpc/5) [root] Error while getting domain capabilities (machinetype:92) Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/vdsm/common/cache.py", line 41, in __call__ return self.cache[args] KeyError: () During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/vdsm/machinetype.py", line 90, in _get_domain_capabilities domcaps = conn.getDomainCapabilities(None, arch, None, virt_type, 0) File "/usr/lib/python3.6/site-packages/vdsm/common/libvirtconnection.py", line 131, in wrapper ret = f(*args, **kwargs) File "/usr/lib/python3.6/site-packages/vdsm/common/function.py", line 94, in wrapper return func(inst, *args, **kwargs) File "/usr/lib64/python3.6/site-packages/libvirt.py", line 4493, in getDomainCapabilities raise libvirtError('virConnectGetDomainCapabilities() failed') libvirt.libvirtError: internal error: unknown feature amd-sev-es [root@localhost ~]# rpm -qa|grep libvirt libvirt-daemon-driver-storage-logical-7.0.0-14.1.el8.x86_64 python3-libvirt-7.0.0-1.el8.x86_64 libvirt-daemon-config-nwfilter-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-interface-7.0.0-14.1.el8.x86_64 libvirt-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-disk-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-iscsi-7.0.0-14.1.el8.x86_64 libvirt-client-7.0.0-14.1.el8.x86_64 libvirt-admin-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-network-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-secret-7.0.0-14.1.el8.x86_64 libvirt-lock-sanlock-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-gluster-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-rbd-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-7.0.0-14.1.el8.x86_64 libvirt-daemon-7.0.0-14.1.el8.x86_64 libvirt-daemon-config-network-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-iscsi-direct-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-scsi-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-nodedev-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-qemu-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-core-7.0.0-14.1.el8.x86_64 libvirt-daemon-kvm-7.0.0-14.1.el8.x86_64 libvirt-bash-completion-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-storage-mpath-7.0.0-14.1.el8.x86_64 libvirt-libs-7.0.0-14.1.el8.x86_64 libvirt-daemon-driver-nwfilter-7.0.0-14.1.el8.x86_64 [root@localhost ~]# rpm -qa|grep vdsm vdsm-http-4.40.60.7-1.el8.noarch vdsm-hook-fcoe-4.40.60.7-1.el8.noarch vdsm-network-4.40.60.7-1.el8.x86_64 vdsm-yajsonrpc-4.40.60.7-1.el8.noarch vdsm-api-4.40.60.7-1.el8.noarch vdsm-hook-openstacknet-4.40.60.7-1.el8.noarch vdsm-python-4.40.60.7-1.el8.noarch vdsm-hook-vhostmd-4.40.60.7-1.el8.noarch vdsm-hook-vmfex-dev-4.40.60.7-1.el8.noarch vdsm-common-4.40.60.7-1.el8.noarch vdsm-client-4.40.60.7-1.el8.noarch vdsm-4.40.60.7-1.el8.x86_64 vdsm-hook-ethtool-options-4.40.60.7-1.el8.noarch vdsm-jsonrpc-4.40.60.7-1.el8.noarch Host VM xml dump: <domain type='kvm' id='56'> <name>centos82-host2-mig</name> <uuid>e1ee2430-37af-4ce1-b74a-7981895b5789</uuid> <metadata> <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> <libosinfo:os id="http://centos.org/centos/8"/> </libosinfo:libosinfo> </metadata> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <vcpu placement='static'>2</vcpu> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-5.1'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <vmport state='off'/> </features> <cpu mode='host-passthrough' check='partial' migratable='on'/> <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>destroy</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/home/vjuranek/images/vm/centos82-host2-mig.img' index='1'/> <backingStore/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <controller type='sata' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </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' multifunction='on'/> </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='0x02' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0x12'/> <alias name='pci.3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0x13'/> <alias name='pci.4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0x14'/> <alias name='pci.5'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0x15'/> <alias name='pci.6'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0x16'/> <alias name='pci.7'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </controller> <interface type='network'> <mac address='52:54:00:55:fd:ce'/> <source network='default' portid='d2fa26c0-d35f-44a7-bd7b-c0d0ad9b38b4' bridge='virbr0'/> <target dev='vnet1'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/9'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/9'> <source path='/dev/pts/9'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-56-centos82-host2-mig/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0' state='disconnected'/> <alias name='channel1'/> <address type='virtio-serial' controller='0' bus='0' port='2'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <graphics type='spice' port='5901' autoport='yes' listen='127.0.0.1'> <listen type='address' address='127.0.0.1'/> <image compression='off'/> </graphics> <sound model='ich9'> <alias name='sound0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/> </sound> <video> <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </video> <redirdev bus='usb' type='spicevmc'> <alias name='redir0'/> <address type='usb' bus='0' port='2'/> </redirdev> <redirdev bus='usb' type='spicevmc'> <alias name='redir1'/> <address type='usb' bus='0' port='3'/> </redirdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </memballoon> <rng model='virtio'> <backend model='random'>/dev/urandom</backend> <alias name='rng0'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </rng> </devices> <seclabel type='dynamic' model='selinux' relabel='yes'> <label>system_u:system_r:svirt_t:s0:c58,c608</label> <imagelabel>system_u:object_r:svirt_image_t:s0:c58,c608</imagelabel> </seclabel> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+107:+14548</label> <imagelabel>+107:+14548</imagelabel> </seclabel> </domain>

Btw. BZ #1961558 [1] says that it happens for <cpu mode="host-passthrough">, but for me fails also for <cpu mode='custom' match='exact' check='full'> which worked for hosts on CentOS 8.2. Vojta [1] https://bugzilla.redhat.com/1961558

I'm using RHEL AV 8.5.0 nightly repos without any issue. $ rpm -q libvirt-daemon vdsm libvirt-daemon-7.3.0-1.module+el8.5.0+11004+f4810536.x86_64 vdsm-4.40.70.3-202106131544.git9b5c96716.el8.x86_64 Nir
participants (3)
-
Nir Soffer
-
vjuranek@redhat.com
-
Vojtech Juranek