I'm working on setting up a homelab to help my team of systems engineers test their Ansible playbooks before launching them. Right now, I've got a Rocky Linux 9 VM with 4 CPUs and 8 GB of RAM, plus two disks (10 GB for the OS and 30 GB for Podman containers). I'm using podman with Ansible Core and podman-compose from EPEL, and I have various OS images in the mix.
Initially, I deployed Rocky and Debian VMs, but I hit a snag with enabling SSH. After figuring that part out and creating a user, I noticed some issues: there are no Demon processes running, and some OS components seem to be missing. The goal is to understand how Ansible works and practice various playbook deployments since our clients use different distros. I'm looking for tips to make these containers function more like traditional VMs for better testing of the playbooks.
3 Answers
To give those containers a more VM-like feel, look into the configuration options you can set for your Podman containers. Make sure you have the necessary services and Daemons running that your systems engineers would need in a testing environment.
It sounds like what you're really building is more of a testing or sandbox environment rather than a true homelab. Have you considered using a CI/CD platform for automating quality checks before any playbooks hit production? That might help streamline your processes a bit.
You're right that this isn't primarily an Ansible issue; it's more about having an effective testing strategy. You really need a separate dev, testing, and staging environment that mirrors your production setup. It's fundamental to implement a process that requires code reviews for the playbooks, along with proof from your testing environment that they function as intended.

I appreciate the suggestion! My company doesn't have a solid CI/CD pipeline in place yet. It would definitely help, but right now, I'm focused on improving our current setup to reduce errors when deploying playbooks.