[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