Skip to main content

Research Repository

Advanced Search

qvm: A command line tool for the provisioning of virtual machines

Ogunshile, Emmanuel



Víctor Méndez Muñoz

Donald Ferguson

Markus Helfert

Claus Pahl


The purpose of this paper is to create and demonstrate a command line utility that uses freely available cloud images—typically intended for deployment within public and private cloud environments—to rapidly provision virtual machines on a local server, taking advantage of the ZFS file system. This utility, qvm, aims to provide syntactical consistency for both potential contributors and users alike—it is written in Python and uses YAML for all user configuration; exactly like cloud-init, the post-deployment configuration system featured in the cloud images used by qvm to allow its rapid provisioning. qvm itself does not use the libvirt API to create virtual machines, instead parsing pre-defined templates containing options for the commonly used virt-install tool, installed alongside virt-manager, the de facto graphical libvirt client. The utility is capable of importing cloud images into zvols and creating clones for each virtual machine using the pyzfs Python wrapper for the libzfs_core C library, as well as a custom recreation of pyzfs based on the zfs command line utility. qvm aims to introduce some basic IaC constructs to the provisioning of local virtual machines using the aforementioned common tools, requiring no prior experience beyond the usage of these tools. Its use of cloud-init allows for portability into existing cloud infrastructure, with no requirements on common Linux distributions, such as Red Hat Enterprise Linux, Debian, or SUSE, and their derivatives, beyond their base installation with virtualisation server packages and the prerequisite Python libraries required by qvm.

Start Date Mar 19, 2018
Publication Date Mar 1, 2018
Journal IEEE Transactions on Cloud Computing
Print ISSN 2168-7161
Peer Reviewed Peer Reviewed
Volume 1
Pages 287-298
Book Title Proceedings of the 8th International Conference on Cloud Computing and Services Science
ISBN 9789897582950
APA6 Citation Ogunshile, E. (2018). qvm: A command line tool for the provisioning of virtual machines. In V. Méndez Muñoz, D. Ferguson, M. Helfert, & C. Pahl (Eds.), Proceedings of the 8th International Conference on Cloud Computing and Services Science. , (287-298).
Keywords command line utility, cloud images, virtual machines, public and private cloud environments
Publisher URL
Additional Information Additional Information : This is the author's accepted manuscript. The final version has been published in the CLOSER proceedings, and is available via the following link


You might also like

Downloadable Citations