Sick Gaming
Fedora - Installing and running Vagrant using qemu-kvm - Printable Version

+- Sick Gaming (https://www.sickgaming.net)
+-- Forum: Computers (https://www.sickgaming.net/forum-86.html)
+--- Forum: Linux, FreeBSD, and Unix types (https://www.sickgaming.net/forum-88.html)
+--- Thread: Fedora - Installing and running Vagrant using qemu-kvm (/thread-97363.html)



Fedora - Installing and running Vagrant using qemu-kvm - xSicKxBot - 09-21-2020

Installing and running Vagrant using qemu-kvm

<div><p>Vagrant is a brilliant tool, used by DevOps professionals, coders, sysadmins and regular geeks to stand up repeatable infrastructure for development and testing. From their website:</p>
<p> <span id="more-31886"></span> </p>
<blockquote class="wp-block-quote">
<p>Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the “works on my machine” excuse a relic of the past.</p>
<p>If you are already familiar with the basics of Vagrant, the documentation provides a better reference build for all available features and internals.</p>
<p>Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.</p>
<p><cite>https://www.vagrantup.com/intro</cite></p></blockquote>
<p>This guide will walk through the steps necessary to get Vagrant working on a Fedora-based machine.</p>
<p>I started with a minimal install of Fedora Server as this reduces the memory footprint of the host OS, but if you already have a working Fedora machine, either Server or Workstation, then this should still work.</p>
<h4 class="has-normal-font-size">Check the machine supports virtualisation:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2">$ <strong>sudo lscpu | grep Virtualization</strong>
Virtualization:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; VT-x
Virtualization type: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; full</p></pre>
<h4 class="has-normal-font-size">Install qemu-kvm:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>sudo dnf install qemu-kvm libvirt libguestfs-tools virt-install rsync</strong></p></pre>
<h4>Enable and start the libvirt daemon:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>sudo systemctl enable --now libvirtd</strong></p></pre>
<h4>Install Vagrant:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>sudo dnf install vagrant</strong></p></pre>
<h4>Install the Vagrant libvirtd plugin:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>sudo vagrant plugin install vagrant-libvirt</strong></p></pre>
<h4>Add a box</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>vagrant box add fedora/32-cloud-base --provider=libvirt</strong></p></pre>
<h4>Create a minimal Vagrantfile to test</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2">$ <strong>mkdir vagrant-test</strong>
$ <strong>cd vagrant-test</strong>
$ <strong>vi Vagrantfile</strong></p>Vagrant.configure("2") do |config| config.vm.box = "fedora/32-cloud-base"
end</pre>
<p><strong>Note the capitalisation of the file name and in the file itself.</strong></p>
<h4>Check the file:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>vagrant status</strong></p>Current machine states: default not created (libvirt) The Libvirt domain is not created. Run 'vagrant up' to create it.</pre>
<h4>Start the box:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>vagrant up</strong></p></pre>
<h4>Connect to your new machine:</h4>
<pre class="wp-block-preformatted"><p style="line-height:1.2"><strong>vagrant ssh</strong></p></pre>
<p>That’s it – you now have Vagrant working on your Fedora machine.</p>
<p>To stop the machine, use <em>vagrant halt</em>. This simply halts the machine but leaves the VM and disk in place.<br />To shut it down and delete it use <em>vagrant destroy</em>. This will remove the whole machine and any changes you’ve made in it.</p>
<h3>Next steps</h3>
<p>You don’t need to download boxes before issuing the <em>vagrant up</em> command – you can specify the box and the provider in the Vagrantfile directly and Vagrant will download it if it’s not already there. Below is an example which also sets the amount memory and number of CPUs:</p>
<pre class="wp-block-preformatted"># -*<em>- mode: ruby -</em>*-
# vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "fedora/32-cloud-base" config.vm.provider :libvirt do |libvirt| libvirt.cpus = 1 libvirt.memory = 1024 end
end</pre>
<p>For more information on using Vagrant, creating your own machines and using different boxes, see the official documentation at <a href="https://www.vagrantup.com/docs">https://www.vagrantup.com/docs</a></p>
<p>There is a huge repository of boxes ready to download and use, and the official location for these is Vagrant Cloud – <a href="https://app.vagrantup.com/boxes/search">https://app.vagrantup.com/boxes/search</a>. Some are basic operating systems and some offer complete functionality such as databases, web servers etc.</p>
</div>


https://www.sickgaming.net/blog/2020/09/21/installing-and-running-vagrant-using-qemu-kvm/