You are not logged in.

#1 2021-05-30 11:59:48

OlafLostViking
Member
From: Lost
Registered: 2013-01-30
Posts: 58

Alternative to Vagrant for "virtual VM networks"

Hi!

I'd like to "simulate" multiple machines or VMs running at multiple hosters to play around setting them up in an automated and replicable way. While a single VM is easy and fast to setup, I wonder how to do that over and over again in an easy way for multiple VMs. So a tool that will spawn multiple machines (perhaps even with different configurations) on qemu/kvm including some network structure between them. On that I can then try to play around with Ansible or whatever other tool to install and configure those machines from code. (Perhaps even check out OpenStack & Co? We'll see...)

Now I looked around what could help me with that but only found Vagrant as a cross-Linux mature tool to do these things. But to be honest, I don't feel quite comfortable with it due to it's mandatory Ruby configuration. I'm not saying Ruby's bad or whatever, but for long-term "investments", I really like to keep the tool belt lean and homogeneous. That's why I like to play around with Ansible as configuration/provisioning tool, as Python is already a hard dependency on many networking and administrative tools.

So, can anybody recommend another reliable tool but Vagrant to locally setup "networks of VMs" that's based upon Python, YAML or JSON files? So no DSL or other scripting language to master?

Thanks!


PS: I'm also not very keen on using tools that want me to download installers from their website and even then keep on downloading stuff from the internet. So if possible, I'd very much prefers tools that are packaged by Arch devs that I trust much more to nicely integrate into my system, take care of security patches in dependencies and in general not screw up my Arch ;-)

Last edited by OlafLostViking (2021-05-30 12:07:36)

Offline

#2 2021-05-31 19:02:17

Koatao
Member
Registered: 2018-08-30
Posts: 39

Re: Alternative to Vagrant for "virtual VM networks"

Hello,

Have you taken a look into Libvirt?

IMHO, it is not as easy to work with than Vagrant as Vagrant is actually a tool build on top of Libvirt (not natively) among other providers, and I guess the learning curve for Libvirt is somewhat steep. With knowledge comes power tho. And my knowledge of Libvirt is limited.

OlafLostViking wrote:

That's why I like to play around with Ansible as configuration/provisioning tool, as Python is already a hard dependency on many networking and administrative tools.

Actually, Vagrant is more «meta» than you think I guess, as it can work with different providers, it also works with different «provisioners» including Ansible. But I totally understand your point about VagrantFile and ruby.

Last edited by Koatao (2021-05-31 19:08:23)

Offline

#3 2021-06-06 13:47:00

OlafLostViking
Member
From: Lost
Registered: 2013-01-30
Posts: 58

Re: Alternative to Vagrant for "virtual VM networks"

Hi, Koatao!

Thanks for answering and suggesting libvirt. I do know it and I plan to actually use it as the "backend" as I expect it to be the least problematic solution to port between different installations and distributions.

Vagrant does work with other providers, that's true and actually the main selling point (as I see it). I was looking at it because of that initially. smile

Now I found https://github.com/csmart/virt-infra-ansible and I think I'll spent this afternoon trying to see if Ansible could be a one-stop-solution!

Have a nice Sunday!

Offline

Board footer

Powered by FluxBB