1. Libvirt Python API
- Compute manager calls the driver
- `self.driven.pause(instance)`
- It will suspend the instance
- Nova Libvirt Driver
2. Libvirt Domain
- Libvirt domains are defined via XML
- Domains defined by Nova are persistent
- XML is re-generated on Hard Reboot
- Manual costomerizations will be overriden
- Logging occurs per-domain
- /var/log/libvirt/qemu/instance_name.log
3. Virsh
- virsh is the command line tool for Libvirt
- Consumes the same API referenced earlier via C
- virsh list
- virsh domname uuid
- Returns the instance_name
- virsh dumpxml uuid
- Configuration for an individual domain
4. Libvirt Domain XML
- Translated by Libvirt to ultimately call QEMU with the right arguments
- The XML generated by Nova ends up being modified, fairly heavility, by Libvirt upon definition
- Key difference between “active” and “inactive” XML
- Numerous values are derived at time of instance start
- Output from an active “dumpxml” will likely fail to define
- Use `virsh dumpxml –inactive uuid `
5. Libvirtd Configuration
- Critically important information tuning for Libvirt 1.1.x and newer, example