[Ovirt-devel] libvirt-qpid patches
Ian Main
imain at redhat.com
Thu Oct 2 18:11:16 UTC 2008
I just wanted to say a few words about the last few patches I posted.
These patches integrate libvirt-qpid into ovirt.
libvirt-qpid provides an interface with libvirt using QMF (qpid modeling
framework) which utilizes the AMQP protocol. The Advanced Message Queuing
Protocol (AMQP) is an open standard application layer protocol providing
reliable transport of messages.
QMF provides a modeling framework layer on top of qpid (which implements
AMQP). This interface allows you to manage hosts, domains, pools etc. as
a set of objects with properties and methods.
It is very nice because it gives you a single source of information
representing the whole distributed system, and is updated in a fairly
timely manner (currently every 5 seconds).
Note that at this time, only the node is qpid/amqp enabled. We are
presently working on a ruby qpid client to allow us to make use of this
on the WUI. Also note that qpidd authentication is disabled for now.
The qpid folks are working on having gssapi integrated into qpid in a
few weeks and we will switch to that when it's ready.
With this patch in place, you can log into the WUI, and use qpid-tool (a
generic qpid QMF client) to view and manipulate nodes/domains/pools etc.
Here is an example session:
[root at management etc]# qpid-tool
Management Tool for QPID
qpid: list
Waiting for next periodic update
(sometimes it takes a few seconds to get an update, keep trying)
qpid: list
Management Object Types:
ObjectType Active Deleted
====================================================
com.redhat.libvirt:node 2 0
org.apache.qpid.broker:agent 2 0
... (more qpid stuff)
qpid: show node
Object of type com.redhat.libvirt:node: (last sample time: 17:56:03)
Type Element 101 133
==============================================================================
property hostname node136.priv.ovirt.org node123.priv.ovirt.org
property uri qemu:///system qemu:///system
property libvirt_version 0.4.6 0.4.6
property api_version 0.4.6 0.4.6
property hypervisor_version Unknown Unknown
property hypervisor_type QEMU QEMU
(after firing up a storage pool and a vm)
qpid: list
Management Object Types:
ObjectType Active Deleted
====================================================
com.redhat.libvirt:domain 1 0
com.redhat.libvirt:node 2 0
com.redhat.libvirt:pool 1 0
com.redhat.libvirt:volume 3 0
...
qpid: show domain
Object of type com.redhat.libvirt:domain: (last sample time: 18:06:16)
Type Element 138
=================================================================
property uuid c922d718-4caf-bc56-3358-62d62bee4c5d
property name test_vm
property node 137
property state running
property num_vcpus 1
property active true
statistic maximum_memory 524288
statistic memory 524288
statistic cpu_time 149060000000
And a demo of calling methods:
qpid: call 138 destroy
qpid: Call Result: destroy 0 (OK) {}
qpid: show domain
Object of type com.redhat.libvirt:domain: (last sample time: 18:06:56)
Type Element 103
=================================================================
property uuid c922d718-4caf-bc56-3358-62d62bee4c5d
property name test_vm
property node 102
property state shutoff
property num_vcpus 1
property active false
statistic maximum_memory 524288
statistic memory 524288
statistic cpu_time 0
More information about the ovirt-devel
mailing list