Good to see you jumping right in, David!
So I'm not familiar with the API etc, but the question that pops into my
head is - do you know how often it changes? Meaning if you create this
document for Fedora 23, would you anticipate it would be fairly stable
after that, or are there API additions and changes that come up frequently?
The other question that pops up is whether this is really Fedora-specific
or a more general api document for upstream libvirt?
On Fri, Jun 12, 2015 at 11:12 AM, David Ashley <w.david.ashley(a)gmail.com>
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
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
docs mailing list