Research Repository

See what's under the surface

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

Ogunshile, Emmanuel

Authors



Contributors

Víctor Méndez Muñoz
Editor

Donald Ferguson
Editor

Markus Helfert
Editor

Claus Pahl
Editor

Abstract

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.

Publication Date Mar 1, 2018
Journal IEEE Transactions on Cloud Computing
Print ISSN 2168-7161
Peer Reviewed Peer Reviewed
Pages 287-298
Book Title Proceedings of the 8th International Conference on Cloud Computing and Services Science
ISBN 9789897582950
Institution 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. SciTePress. https://doi.org/10.5220/0006640902870298
DOI https://doi.org/10.5220/0006640902870298
Keywords command line utility, cloud images, virtual machines, public and private cloud environments
Publisher URL https://doi.org/10.5220/0006640902870298
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 https://doi.org/10.5220/0006640902870298

Files





You might also like


Downloadable Citations