To use vagrant I prefer Virtualbox provider. It is easy to control and very comfortable in Desktop environment. As Linux desktop I use Fedora workstation.
In this article I will install and configure Virtualbox as virtual provider and vagrant as controller.
Add Virtualbox repository and update the system:

Ensure kernel version is latest. You can compare kernel version of system and newer with the following commands:

If you updated system just now, please reboot your system.
Install Virtualbox and dependencies:

Build needed kernel modules:

In order to use VirtualBox your sudo username must be member of vboxusers group. Add your username to the vboxusers group (My username is: jshahverdiev).

Install Virtualbox Guest Additions

In the virtual machine panel Devices -> Insert Guest Additions CD Image:

Vagrant installation

Run the following command to install vagrant:

Change the default virtualization provide from libvirt to the Virtualbox. TO use by default add environment variable for your username:

If you want to use vagrant with KVM then, install the following packages:

Install some useful plugins for vagrant:

Install Plugin to communicate with Vmware vSphere virtual provider:

Note: Don’t forget install vagrant-guests-photon plugin. Command must be
executed in the Vagrantfile placed folder.

Note: Don’t forget install vmware-tools to the template virtual machine,
disconnect cdrom, install perl, net-tools and bind-utils.
Install plugin to automatically update of host machine /etc/hosts file:
$ vagrant plugin install vagrant-hostsupdater
Launch Vagrant
With the following command you will create new Vagrantfile with official centos/7 virtual machine:
$ vagrant init centos/7
With the following commands you can start the virtual machine with Virtualbox or with libvirt provider:

Install Ansible to Fedora
As provisioning vagrant can use File, SHELL, Ansible, Puppet, Chef or SALT. I like shell and Ansible. But if you want can use different type of provisioning.
Update your operation system and install Ansible :

Verify ansible:

At the end restart your operation system:

SHARE
Jamal Shahverdiyev, I was born in Azerbaijan. I have 10 years experience in IT especially in open source technologies. I have worked as a lead specialist in many important government projects. I am author of dozens of books about open source technologies in my native language and three of them have been published. I share my knowledge in universities regularly and teach Unix/Linux.