This article has been contributed by the SUSE Developer Engagement Team.
Vagrant is a very common infrastructure among developers. They use Vagrant boxes to develop and/or validate their applications on a variety of platforms in a very simple and portable way. Vagrant is also well established in CI/CD environments in multiple open-source and upstream projects.
Vagrant Boxes at SUSE
As part of the SUSE Developer Engagement, we recently kicked off the activity to automatically produce and validate Vagrant boxes for the openSUSE Tumbleweed distribution. The creation of Vagrant boxes for SUSE Linux Enterprise Server is currently work in progress. We will update you as soon as they are available for consumption.
But for now, we are happy to announce that the infrastructure to automatically build, version and validate Vagrant box images is ready to use – and we are already producing Vagrant boxes for libvirt and Virtualbox – for openSUSE Tumbleweed.
Of course we would like to share some technical background and details with you:
The infrastructure used is exactly the same one adopted to already produce our JeOS images. The novelty, however, has been in developing Vagrant support for Virtualbox on top of the existing libvirt support in KIWI, have it accepted upstream and eventually published to the Open Build Service. We also worked on having “versioning support” of the produced Vagrant images when these are published by the Open Build Service.
The box creation is fully integrated into the Factory process:
- the boxes are being built in openSUSE:Factory,
- periodic snapshots are taken and tested by openQA ,
- and if the tests pass, then the boxes are published alongside with the whole snapshot on the same servers we currently use for all other openSUSE images.
Additionally each successfully published snapshot is linked to our organization on HashiCorp’s VagrantCloud.
Check it Out!
During the past weeks, several SUSE engineers helped us with using and testing the new Vagrant images, to collect feedback and adjust the image recipes where required. Now it is time for all of you to try them and let us know what you think.
If you have never used Vagrant, why not give it a try now? Launching a new Vagrant is as simple as can be. Just have a look at the following:
sudo zypper in vagrant vagrant-libvirt vagrant init opensuse/Tumbleweed.x86_64 vagrant up # your box is now going to be downloaded and started vagrant ssh # and now you've got ssh access to the new VM
We are looking mainly for the following feedback and input, to improve the experience with our Vagrant boxes for your benefit:
- What are your needs?
- What would you like to see as default packages on the Vagrant boxes?
Please let us know, reach out to us, and leave a comment below. We will very happily answer your questions and take your feedback seriously!
But possibly we got you really hooked now? And you want to get involved in the development of the Vagrant boxes? Then take a look at the KIWI documentation, head over to the Virtualization:Appliances:Images repository in the Open Build Service and branch the kiwi-images-vagrant package.
All the technical documentation about how the images are produced, how our Build Service works and how to setup and run a Vagrant box can be found online. We welcome feedback on any related documentation. Thus, if you find any discrepancy or anything unclear, or if you have any question or comment – please let us know!