vagrant-libvirt/docs/about.markdown
Darragh Bailey 82202945ce
Migrate documentation to github pages (#1523)
Switch from having all documentation contained within the README to
publishing a jekyll static site of documentation under github pages.

This allows for configuration and installation guides to be handled
separately to make for the relevant pieces to be in smaller chunks and
therefore easier to follow for users. Additionally a table of contents
can now be included in a left navigation section that ensures it should
be possible to quickly jump from the start to any section and back
again.

Include support for publishing previews and releases under separate
directories to allow for them to exist at the same time as the other
latest version of the documents.

The navigation section also includes support for accessing any of the
other versions published so that it easier to see what configuration
options exist for a given release. These will be published automatically
when releases are added.
2022-07-19 13:48:02 +00:00

2.5 KiB

layout title permalink
page About /about/

Vagrant-libvirt is a Vagrant plugin that adds a Libvirt 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 :-)

You can find the source code for Vagrant Libvirt plugin at GitHub: https://github.com/vagrant-libvirt/vagrant-libvirt

You can find the source code for Vagrant Libvirt QA testing of install instructions at GitHub: https://github.com/vagrant-libvirt/vagrant-libvirt-qa

Creating issues can be done via GitHub: https://github.com/vagrant-libvirt/vagrant-libvirt/issues

To ask questions or discuss a problem ahead of logging an issue you can use:

Features

  • Control local Libvirt hypervisors.
  • Vagrant up, destroy, suspend, resume, halt, ssh, reload, package and provision commands.
  • Upload box image (qcow2 format) to Libvirt storage pool.
  • Create volume as COW diff image for domains.
  • Create private networks.
  • Create and boot Libvirt domains.
  • SSH into domains.
  • Setup hostname and network interfaces.
  • Provision domains with any built-in Vagrant provisioner.
  • Synced folder support via rsync, nfs, 9p or virtiofs.
  • Snapshots
  • Package caching via vagrant-cachier.
  • Use boxes from other Vagrant providers via vagrant-mutate.
  • Support VMs with no box for PXE boot purposes (Vagrant 1.6 and up)

How a Machine Is Created

Vagrant goes through steps below when creating new project:

  1. Connect to Libvirt locally or remotely via SSH.
  2. Check if box image is available in Libvirt storage pool. If not, upload it to remote Libvirt storage pool as new volume.
  3. Create COW diff image of base box image for new Libvirt domain.
  4. Create and start new domain on Libvirt host.
  5. Check for DHCP lease from dnsmasq server.
  6. Wait till SSH is available.
  7. Sync folders and run Vagrant provisioner on new domain if setup in Vagrantfile.