Foundations of Libvirt Development , 1st ed.
How to Set Up and Maintain a Virtual Machine Environment with Python


Language: Anglais

Approximative price 29.53 €

In Print (Delivery period: 15 days).

Add to cartAdd to cart
Publication date:
190 p. · 15.5x23.5 cm · Paperback
Discover the concepts of libvirt development and interfacing to the Linux virtualization environments, such as QEMU/KVM, XEN, Virtuozzo, VMWare ESX, LXC, Bhyve, and more. This book will prepare you to deal with setting up and maintaining a virtual machine environment.  

You'll start by reviewing virtualization in general and then move on to libvirt specific concepts using Python. You'll then move on to library specific topics including virtualized operating systems, virtualized networks, connections, storage pools, event handling, and error handling. Foundations of Libvirt Development wraps up with the XML domain definitions of domains, networks, devices, network filtering, storage, node devices, and more. 

What You'll Learn
  • Interface Python to the libvirt library.
  • What is the class layout and methods of the libvirt library.
  • Install and manipulate virtual machines via Python/libvirt.
  • Create XML to manipulate domains, networks, and devices.
  • Write Python programs to perform libvirt functions without human intervention.
Who This Book Is For
Maintainers of virtual machines in a UNIX/Linux environment ranging from managing code on a single virtual machine through an entire installation of virtual machines.
1. Introduction 
Glossary Of Terms 
Introduction to virtual machines 
Using virtual machines 
Accessing virtual machines using python
Introduction to the libvirt python classes and methods 

2. Architecture 
Object model 
Driver model remote management 
Generating TLS certificates

3. Connecting To Domains 
URI formats 
Capability information methods 
Host information 

4. Guest Domains 
Domain overview
 Listing domains 
Obtaining state information about a domain 
Lifecycle control 
Domain configuration 
Monitoring performance 
Device configuration 
Live configuration change 

5. Storage Pools 
Listing pools .
Pool usage 
Lifecycle control 
Discovering pool sources 
Pool configuration 
Volume overview 
Listing volumes 
Volume information 
Creating and deleting volumes 
Cloning volumes 
Configuring volumes 

6. Virtual Networks 
Overview listing 
Networks lifecycle control 
Network configuration 

7. Network Interfaces 
XML interface description format 
Retrieving information about interfaces 
Managing interface configuration files 
Interface lifecycle management 

8. Error Handling 
    Using virGetLastError 
   Subclassing libvirtError 
   Registering an error handler function 

9. Event and Timer Handling 
    Event handling 
    Timer handling 

10. Using the QEMU guest agent 
      Installing the QEMU guest agent 
     Using the QEMU guest agent 
     vFoundations of libvirt development
    Virsh and the QEMU guest agent.
    Python and the QEMU guest agent
11. Debugging / Logging 
       Environment variables 

12. A Sample Problem
Problem statement.
Solution requirements
Using guest domains to solve the problem
New problems introduced by using guest domains 
Sample solution 

13. Storing Information About Virtual Machines 
      Deciding what information should be stored
      Using simple text files 
      Using a simple database 

14. Securing Virtual Machines 
Host security 
Guest domain security.

15. Domain XML Format 
Root element and attribute overview 
BIOS bootloader 
Host bootloader 
Direct Kernel boot 
Container boot 
SMBIOS system information 

W. David Ashley is a technical writer for SkillSoft where he specializes in open source, particularly Linux. As a member of the Linux Fedora documentation team he recently led the Libvert project documentation, and wrote the Python programs included with it. He has developed in 20 different programming languages during his 30 years as a software developer and IT consultant, including more than 18 years at IBM and 12 years with American Airlines.
Only book around with extensive examples of using the libvirt library

Covers fundamental building blocks to practical applications in Python

Creates an array of domains to perform varied functions with Python