Add example of integration with kubevirt #3972
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Greetings,
In our team, we handle important Ansible roles to configure various aspects of RHEL systems, such as sshd, firewalld, grub, crypto-policies, and more. Although we have implemented automated testing with Molecule and Podman, there are instances where manual testing on our RHEL hosts becomes necessary before we proceed with deployment. I propose the integration of Molecule with Kubevirt as a potential solution to this issue. Such an integration would allow us to quickly and effectively test our Ansible roles on actual VMs, enhancing our testing procedures and providing more reliable results.
Some benefits of testing on VMs:
System-level realism: Ephemeral VMs provide a complete, isolated guest OS environment, much like your production environment. Containers share the host's kernel and are not fully isolated. This difference can occasionally lead to inconsistencies between testing and production environments. With VM-based testing, you can ensure the roles will work as expected on the actual operating system.
Broader Compatibility: Not all applications or configurations are container-friendly, especially when they interact with the system at a low level. VMs provide broader compatibility for testing as they offer a full-fledged OS environment.
Improved Debugging: Since VMs provide an entire guest operating system, it is often easier to debug issues related to system services, kernel modules, and other low-level components.
Greater Variety of Testing: VMs can run different kernel versions, different operating systems, or different system-level configurations. In contrast, containers are somewhat limited by the features and configurations of the host kernel.
In this pull request, I have utilized ephemeral VMs as a part of my example to showcase the benefits of this approach. By harnessing the capabilities of ephemeral VMs, we can test our Ansible roles in a highly realistic environment that closely mirrors our actual production environment, taking full advantage of the benefits outlined above.
This example serves as a practical guide to illustrate how a real-world application of Molecule and Kubevirt integration can enhance our current testing methods, enabling more realistic testing.