tinkerbell / playground

Example deployments of the Tinkerbell Stack for use as playground environments
Apache License 2.0
127 stars 85 forks source link

Should we drop virtualbox in favor of vagrant + libvirt as the virtualization option? #113

Closed mmlb closed 2 years ago

mmlb commented 2 years ago

Recent virtualbox on macos breaks with the sandbox setup we currently have (#112 ). Also, apparently its not guaranteed that virtualbox will ever be ported to arm64 macs. It looks like libvirt works on macos1 and there are patches floating around for libvirt + macos + arm2 which I hope would land in upstream (if it hasn't). So is virtualbox on the chopping block?

micahhausler commented 2 years ago

Can we still support bare metal/Docker Compose?

mmlb commented 2 years ago

Oops this is very poorly worded, I'll update both the title and body. My intent was to drop virtualbox and only support vagrant + libvirt as the sole virtualization option (leaving baremetal alone).

jacobweinstock commented 2 years ago

I am in favor of not dropping vagrant+virtualbox. I use it all the time. one option is to make the VirtualBox dependency version explicit. We can support the current working version(s) and then when newer versions stabilize we update.

mmlb commented 2 years ago

@jacobweinstock Have you updated to latest mac os? Or do you use it on linux too?

jacobweinstock commented 2 years ago

Yes and no. I have 2 Apple machines. One is using Monterey and one Big Sur. I don't use the Linux sandbox as often. When I do though, I use the Docker Compose or Vagrant and Libvirt.

jacobweinstock commented 2 years ago

There are trade-offs to using libvirt on Mac OS over VirtualBox. A significant one, for me, is that I believe libvirt on Mac OS requires homebrew (at least according to the link posted in the initial issue). I personally don't run homebrew. Homebrew would be a required dependency and not a direct dependency to our sandbox like Virtualbox is but a transitive one. So at a minimum, we are trading a direct dependency for a transitive one if we were to go from Virtualbox to homebrew+libvirt.

mmlb commented 2 years ago

Thanks for the extra context. I'm not seeing where libvirt requires homebrew. What package manager do you use on mac?

jacobweinstock commented 2 years ago

Thanks for the extra context. I'm not seeing where libvirt requires homebrew.

This link shows the libvirt installation requiring homebrew. I'm unable to find any other articles for how to install libvirt that don't use homebrew or macports.

What package manager do you use on mac?

I don't use a package manager.

mmlb commented 2 years ago

Thanks for the extra context. I'm not seeing where libvirt requires homebrew.

This link shows the libvirt installation requiring homebrew. I'm unable to find any other articles for how to install libvirt that don't use homebrew or macports.

There's https://libvirt.org/compiling.html but I haven't tried it on mac so can't say anything about getting the dependencies. The recipes for libvirt for both macports and homebrew look pretty sane so it seems like the usual "ensure you have deps, mason configure, meson build, meson install" I guess.

What package manager do you use on mac?

I don't use a package manager.

I guess this issue/discussion has run its course though. No one seems to want libvirt on mac and you want virtualbox so there's no reason to drop virtualbox in favor of libvirt.