New Document Proposal

David Ashley w.david.ashley at gmail.com
Fri Jun 12 15:12:39 UTC 2015


All -

I want to propose a new document to be included with the standard set of 
Fedora Docs. The title would be something like Scripting Virtual 
Machines Using Python.

One of the things that is missing from the topic of virtualization with 
Fedora (or any other distribution) is automation. By this I mean the 
administration and usage of VMs using scripting. This is an area in 
which I have over 7 years of experience. At one time I managed a 
software build environment of 50 VMs on a single server. The VMs 
included Windows and Linux distributions of differing release levels. 
Each VM was organized as an on demand service i.e. it was in a running 
state only when there was a software build to be performed. Thus a lot 
of scripting was used to bring up each VM, invoke the build task, and 
then shut down the VM until it was needed again. A job queue was also 
used to manage the work to be performed.

At the time I originally built this environment I used virsh to perform 
the commands necessary to manage the VMs, But as time went on I migrated 
a lot of those scripts to Python because it had a more robust interface 
to libvirt. It also made it possible to create threads to perform 
multiple build tasks at the same time.

The document I am proposing would fill the gap between virsh and C/C++ 
by documenting the Python libvirt interface. Currently there is no 
reference material documenting this interface and only sparse example 
material available. This document would fill that gap.

Here is my proposed outline for the document.

1. Introduction to libvirt
2. Using virsh
3. Introduction to the Python libvirt module
4. Connection Class and Function Reference
5. Domain Class and Function Reference
6. Network Class and Function Reference
7. Interface Class and Function Reference
8. Storage Pool and StorageVol Classes Reference
9. Node Device Class Reference
10. Secret Class Reference
11. NW Filter Class Reference
12. Stream Class Reference
13. Domain Snapshot Class Reference
14. Example Programs

Obviously I am not an expert is all of these topics. I will need input 
from the contributors who do have the expertise to fill out the 
document. But I can author at least half the document.

So let the discussion begin. I am open to all feedback.

W. David Ashley


More information about the docs mailing list