kubevirt / hyperconverged-cluster-operator

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

Support emulation configuration on HyperConverged CRD #2933

Closed evanstoner closed 3 months ago

evanstoner commented 5 months ago

Is your feature request related to a problem? Please describe: Previously end users were able to easily enable software emulation by modifying the kubevirt-config ConfigMap. This is now deprecated, and emulation is configured on the KubeVirt object. The KubeVirt object is not modifiable in a HyperConverged-managed environment.

Describe the solution you'd like: Support the developerConfiguration options on the HyperConverged CRD, and pass them to the KubeVirt object. (Or just support an option specifically for enabling emulation.)

Describe alternatives you've considered: I see KVM_EMULATION env can be set on the Subscription, but this is not straightforward for an OpenShift administrator using OperatorHub in the OpenShift Console.

Additional context: I am a Red Hat partner and was hoping to evaluate compatibility of our security product with OpenShift Virt workloads using emulation first, before going through the expense of provisioning metal compute nodes. This is purely for dev work.

tiraboschi commented 3 months ago

This is by design: the performance impact of KVM_EMULATION is too heavy to make it it useable even on POCs so it's not exposed as a top level configuration option. Please consider about enabling nested virtualization on the bare metal nodes instead.