kubevirt / hyperconverged-cluster-operator

Operator pattern for managing multi-operator products
Apache License 2.0
150 stars 150 forks source link

virError(Code=67, Domain=10, Message='unsupported configuration: vcpu '1' is missing hotplug data' #3102

Open Muyan0828 opened 1 day ago

Muyan0828 commented 1 day ago

What happened: vm cannot running on arm64

What you expected to happen: vm running normal

How to reproduce it (as minimally and precisely as possible): Steps to reproduce the behavior.

  1. deploy hco on arm64
  2. create a vm

Additional context: virt-launcher log

2024-09-05 {"component":"virt-launcher","kind":"","level":"error","msg":"Failed to sync vmi","name":"t-lc-aa","namespace":"sy-k","pos":"server.go:202","reason":"virError(Code=67, Domain=10, Message='unsupported configuration: vcpu '1' is missing hotplug data')","timestamp":"2024-09-05T07:15:08.325522Z","uid":"233a5558-361b-4261-abbe-0a46c99ad041"}

vm xml

    <cpu mode="host-passthrough">
        <topology sockets="16" cores="1" threads="1"></topology>
    </cpu>
    <vcpu placement="static">16</vcpu>
    <vcpus>
        <vcpu id="0" enabled="yes" hotpluggable="no"></vcpu>
        <vcpu id="1" enabled="yes" hotpluggable="yes"></vcpu>
        <vcpu id="2" enabled="yes" hotpluggable="yes"></vcpu>
        <vcpu id="3" enabled="yes" hotpluggable="yes"></vcpu>
        <vcpu id="4" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="5" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="6" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="7" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="8" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="9" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="10" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="11" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="12" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="13" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="14" enabled="no" hotpluggable="yes"></vcpu>
        <vcpu id="15" enabled="no" hotpluggable="yes"></vcpu>
    </vcpus>
    <iothreads>1</iothreads>

Environment:

Muyan0828 commented 1 day ago

I think the root cause is hco enable kvVMLiveUpdateFeatures by default, but kubevirt not support cpu_hotplug on arm64 https://kubevirt.io/user-guide/compute/cpu_hotplug/#limitations

orenc1 commented 12 hours ago

Hi @Muyan0828 , Thanks for reporting the issue :+1: , Could you please advise if you're running an homogeneous cluster of only ARM64 nodes? or an heterogeneous cluster with mixed ARM64 and AMD64 nodes? Also, could you please provide the images you used for the virt-handler and virt-launcher that are running on the ARM node?

thanks