mirror of
https://github.com/vagrant-libvirt/vagrant-libvirt.git
synced 2025-01-07 14:33:08 -06:00
284b52f57c
Four links on the doc-site's homepage are 404'ing because their href/URI's fragment identifier is preceded with a /. Removal of the extra slash fixes. Closes: #1759
107 lines
3.3 KiB
Markdown
107 lines
3.3 KiB
Markdown
---
|
|
title: Quickstart
|
|
redirect_from:
|
|
- /home/
|
|
- /quickstart/
|
|
- /extras/
|
|
nav_order: 1
|
|
toc: true
|
|
---
|
|
Vagrant-libvirt is a [Vagrant](http://www.vagrantup.com) plugin that adds a
|
|
[Libvirt](http://libvirt.org) provider to Vagrant, allowing Vagrant to
|
|
control and provision machines via Libvirt toolkit.
|
|
|
|
{: .info }
|
|
Actual version is still a development one. Feedback is welcome and
|
|
can help a lot :-)
|
|
|
|
## Prerequisites
|
|
|
|
Vagrant-libvirt requires the following:
|
|
|
|
* Vagrant
|
|
* Libvirt (and QEMU)
|
|
* GCC and Make (if not using vagrant from your distribution)
|
|
|
|
{: .warn }
|
|
Before you start using vagrant-libvirt, please make sure your Libvirt
|
|
and QEMU installation is working correctly and you are able to create QEMU or
|
|
KVM type virtual machines with `virsh` or `virt-manager`.
|
|
|
|
See [Requirements]({{ '/installation#requirements' | relative_url }}) for guides and details.
|
|
|
|
## Installation
|
|
|
|
1. Install Vagrant, Libvirt and QEMU for your distribution
|
|
* Ubuntu
|
|
|
|
```
|
|
sudo apt-get purge vagrant-libvirt
|
|
sudo apt-mark hold vagrant-libvirt
|
|
sudo apt-get update && \
|
|
sudo apt-get install -y qemu libvirt-daemon-system ebtables libguestfs-tools \
|
|
vagrant ruby-fog-libvirt
|
|
```
|
|
|
|
* Fedora
|
|
|
|
```
|
|
sudo dnf remove vagrant-libvirt
|
|
sudo sed -i \
|
|
'/^\(exclude=.*\)/ {/vagrant-libvirt/! s//\1 vagrant-libvirt/;:a;n;ba;q}; $aexclude=vagrant-libvirt' \
|
|
/etc/dnf/dnf.conf
|
|
vagrant_libvirt_deps=($(sudo dnf repoquery --disableexcludes main --depends vagrant-libvirt 2>/dev/null | cut -d' ' -f1))
|
|
dependencies=$(sudo dnf repoquery --qf "%{name}" ${vagrant_libvirt_deps[@]/#/--whatprovides })
|
|
sudo dnf install --assumeyes @virtualization ${dependencies}
|
|
```
|
|
2. Install the latest release of vagrant-libvirt
|
|
```
|
|
vagrant plugin install vagrant-libvirt
|
|
```
|
|
|
|
If you encounter any errors during this process, check that you have installed all the prerequisites in [Requirements]({{ '/installation#requirements' | relative_url }}).
|
|
If you still have issues, see [Troubleshooting]({{ '/troubleshooting#installation-problems' | relative_url }}).
|
|
|
|
{: .info }
|
|
Installation varies based on your operating system or use of upstream vagrant. See our [guides]({{ '/installation#guides' | relative_url }}) for OS-specific instructions.
|
|
|
|
## Initial Project Creation
|
|
|
|
After installing the plugin (instructions above), the quickest way to get
|
|
started is to add Libvirt box and specify all the details manually within a
|
|
`config.vm.provider` block. So first, add Libvirt box using any name you want.
|
|
You can find more Libvirt-ready boxes at
|
|
[Vagrant Cloud](https://app.vagrantup.com/boxes/search?provider=libvirt). For
|
|
example:
|
|
|
|
```shell
|
|
vagrant init fedora/36-cloud-base
|
|
```
|
|
|
|
Or make a Vagrantfile that looks like the following, filling in your
|
|
information where necessary. For example:
|
|
|
|
```ruby
|
|
Vagrant.configure("2") do |config|
|
|
config.vm.define :test_vm do |test_vm|
|
|
test_vm.vm.box = "fedora/36-cloud-base"
|
|
end
|
|
end
|
|
```
|
|
|
|
## Start VM
|
|
|
|
In prepared project directory, run following command:
|
|
|
|
```shell
|
|
$ vagrant up --provider=libvirt
|
|
```
|
|
|
|
Vagrant needs to know that we want to use Libvirt and not default VirtualBox.
|
|
That's why there is `--provider=libvirt` option specified. Other way to tell
|
|
Vagrant to use Libvirt provider is to setup environment variable
|
|
|
|
```shell
|
|
export VAGRANT_DEFAULT_PROVIDER=libvirt
|
|
```
|