Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize CPU Model Feature Validation for Node Labeller
**Issue:** Libvirt validation fails when a CPU model is usable by QEMU but lacks features listed in `/usr/share/libvirt/cpu_map/[CPU Model].xml` on a node. **Resolution:** Nodes are now labeled with a CPU model only if all features listed in the corresponding `cpu_map` XML file are present and the model is usable by QEMU. This prevents validation issues caused by missing features. **Libvirt's Recommendation:** Libvirt advises against using its internal data files for feature validation. As recommended, we're exploring the use only Libvirt's API to identify usable CPU models, avoiding direct `cpu_map` file dependency. **Workaround:** To avoid the validation error mentioned above we will disable some of the features in the `/usr/share/libvirt/cpu_map/[CPU Model].xml` files: - disable svm for Opteron_G2 to avoid: https://bugzilla.redhat.com/show_bug.cgi?id=2122283 - disable mpx for Skylake, Cascadelake, and Icelake to avoid: https://gitlab.com/libvirt/libvirt/-/issues/304 These features are disabled only if not explicitly required by the user, allowing broader CPU model support when svm or mpx features are absent. In addition, for future issues we allow setting a config map called "cpu-model-to-features-to-disable" in the installation namespace for quick problematic features disablement. Signed-off-by: bmordeha <bmordeha@redhat.com>
- Loading branch information
Showing
10 changed files
with
306 additions
and
162 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters