Skip to content

VirtAPI is a Libvirt KVM/QEMU wrapper for API(web) and also comes with CLI tool ( vatool).

License

Notifications You must be signed in to change notification settings

spiperac/virtapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VirtAPI Build Status

VirtAPI is awrapper and CLI tool(vatool) for automation of KVM/Libvirt machines. It can be used to create/delete/{start,stop,restart}/clone/migrate virtual machines(domains) on local/remote KVM servers.

  • It's also working in nested envinroments, you can try it by creating VM inside digitalocean droplet for example."

Instalation

You will need few more dependencies before installing actual virtapi package. I'll give an example for Ubuntu here:

sudo apt install libvirt-bin libvirt-dev openssl libssl-dev -y

After dependencies are satistfied, you can then install package from this reposutiry by running:

sudo python setup.py install

Or by installing it directly from PyPI ( for stable versions go with this):

sudo pip install virtapi

Features & TODO

Futures:

  • Connect to the KVM local or remote host ( get host data/info/metrics)
  • Create new domain(virtual machine) from predefined templates in QCOW2 format or image, and based on selected plan size.
  • Delete domain and all of it resources ( disks attached etc...)
  • Clone/Migrate existing domain and it specifications.
  • Add/Delete templates for domain(VM) creation.
  • Add/Delete Plans for domain(vm), think of them as a digitalocean, aws plans. For example small plan is: 512MB for ram, 1 VCPU, and 15GB hdd drive space.
  • Manage additional disks and drives. You can "hot plug" them too.

You can use it as a CLI tool (vatool binary), but also you can plug it in your application as an API. After installing it as a package you will have vatool binary in your path.

TODO:

  • Add more options for managing KVM/Libvirt Host.
  • Add ansible for provision of the hosts.
  • Better error handling.
  • Better logging.
  • In the future cover few more cloud APIs.

Demo

asciicast

Development

There are always things to be fixed or added, or simply forgoten things. So any suggestions/pull requests/issues are welcome, since i'm developing this in my free time.

Requirements for development are in requirements.txt file inside package.

Contact

You can find me on twitter @0xbadarg or you can hit me an email at spiperac@denkei.org

About

VirtAPI is a Libvirt KVM/QEMU wrapper for API(web) and also comes with CLI tool ( vatool).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages