-
Story
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
0.42
-
False
-
-
False
-
- KubeVirt must not inspect libivrt's domain capabilities map (this is not a public API)
- KubeVirt should use vendor hints associated with CPU models to determine validity
-
---
-
---
-
-
No
Currently, KubeVirt determines allowed CPU models as follows:
It collects the list of CPU models advertised as available by libivrt
It then inspects the dom capabilities map from libvirt and checks flags
If all flags are not available, that CPU model will be omitted from the list that the node-labeller will use
Per a discussion with the libvirt team, this is an incorrect workaround. While it works in some cases, it also breaks in others, notably CNV-37685 - where models that would work are omitted.
The correct approach is to compare the vendor of each CPU model as indicated by libvirt and sanity check this against the node's type. The reason this is important is that for example if an Intel node advertises that it has an Opteron G2 model available, it will still actually use an Intel machine type (as opposed to AMD). While a VM can technically run this way, it will have trouble migrating on a heterogeneous cluster. Hence the advice to ignore such models as valid candidates.
- blocks
-
CNV-37685 node-labeller does not add Skylake, Cascadelake and Icelake labels if node is missing mpx.
- Closed