Skip to content

simon3z/virt-deploy

Folders and files

NameName
Last commit message
Last commit date
Jan 31, 2017
Jan 31, 2017
Jan 17, 2015
Jan 19, 2015
Jan 15, 2015
Jan 22, 2015
Jan 22, 2015
Jan 31, 2017
Nov 14, 2015
Jan 31, 2017

Repository files navigation

Easily Deploy Virtual Machines

Virt-deploy is a python library to standardize the deployment of virtual machines. It currently supports libvirt and takes advantage of virt-builder and virt-install to automate the creation of templates and instances.

usage: virt-deploy [-h] [-v]
                   {create,start,stop,delete,templates,address,ssh} ...

positional arguments:
  {create,start,stop,delete,templates,address,ssh}
    create              create a new instance
    start               start an instance
    stop                stop an instance
    delete              delete an instance
    templates           list all the templates
    address             instance ip address
    ssh                 connects to the instance

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

Creation of an Instance

To create a new vm instance based on a fedora-21 template:

# virt-deploy create instance01 fedora-21

The fedora-21 template image will be downloaded (virt-builder), and prepared to be used (virt-sysprep). This is done only once when the template is used for the first time.

The instance is then created with some customization such as random root password and the hostname. All the information are then summarized when the creation is completed:

name: vm-test01-fedora-21-x86_64
root password: xxxxxxxxxx
mac address: 52:54:00:xx:xx:xx
hostname: vm-test01
ip address: 192.168.122.xxx

Storage and Network Management

Virt-deploy uses the 'default' libvirt storage pool and network. Images are created in the pool path and hostnames and ip addresses are assigned and registered in the network definition.

Building from Sources

At the moment the suggested procedure to build from sources is to produce rpms with the proper packages requirements (virt-builder and virt-install):

$ python setup.py sdist
$ sudo dnf builddep virt-deploy.spec
$ rpmbuild -ta dist/virt-deploy-<version>.tar.gz

If you're a yum user (centos and fedora < 21) then you should use yum instead of dnf:

$ sudo yum-builddep virt-deploy.spec