0 votes
1 view
in Devops and Agile by (24.1k points)

I'm getting started Vagrant and want to use it with KVM/qemu (and the Virtual Machine Manager GUI), instead of installing VirtualBox. So I first installed Vagrant:

$ vagrant --version

Vagrant 1.9.1

$ vagrant box list

There are no installed boxes! Use `vagrant box add` to add some

As per these posts, I require vagrant-libvirt for it to work with KVM, so I installed that next:

$ vagrant plugin list

vagrant-libvirt (0.0.37)

vagrant-share (1.1.6, system)

Next, I to add a CentOS(7) box using vagrant box add "centos/7" and selected libvirt when prompted. After which, I ran vagrant init and didn't encounter any errors:

$ vagrant init centos/7

A `Vagrantfile` has been placed in this directory. You are now

ready to `vagrant up` your first virtual environment! Please read

the comments in the Vagrantfile as well as documentation on

`vagrantup.com` for more information on using Vagrant.

However, vagrant up seems to be erroring out, like so:

$ vagrant up

No usable default provider could be found for your system.

Vagrant relies on interactions with 3rd party systems, known as

"providers", to provide Vagrant with resources to run development

environments. Examples are VirtualBox, VMware, Hyper-V.

The easiest solution to this message is to install VirtualBox, which

is available for free on all major platforms.

If you believe you already have a provider available, make sure it

is properly installed and configured. You can see more details about

why a particular provider isn't working by forcing usage with

`vagrant up --provider=PROVIDER`, which should give you a more specific

error message for that particular provider.

Here's the provider section in the Vagrantfile

config.vm.provider :libvirt do |domain|

    domain.driver = "qemu"

    domain.memory = 512

    domain.cpus = 1

end

I tried modifying it to:

config.vm.provider :libvirt do |domain|

    domain.driver = "kvm"

    domain.host = 'localhost'

    domain.uri = 'qemu:///system'

    domain.memory = 512

    domain.cpus = 1

end

I also tried vagrant up --provider=kvm, vagrant up --provider=qemu, and vagrant up --provider=libvirt too, to no avail.

Is there any step that I've missed? Or another package/dependency that needs to be installed?

Edit: After adding centos/7 using vagrant, it shows up when running the vagrant box list.

$ vagrant box list

centos/7 (libvirt, 1611.01)

1 Answer

0 votes
by (41k points)

There is a simple thing that will resolve your query 

Start the vagrant box with the command 

vagrant up --provider=kvm

We use this command although it has been said that 

The vagrant-libvirt plugin is only compatible with Vagrant 1.5 to 1.8

source:https://seven.centos.org/2017/08/updated-centos-vagrant-images-available-v1707-01/

The above command will help to set up vm with kvm qemu without Virtualbox and using vagrant.

...