Bug 518095

Summary: RFE: [LTC 5.5] Add async qemu machine protocol (qmp) to libvirt [202014]
Product: Red Hat Enterprise Linux 5 Reporter: IBM Bug Proxy <bugproxy>
Component: libvirtAssignee: Daniel Veillard <veillard>
Status: CLOSED DEFERRED QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 5.5CC: berrange, jjarvis, virt-maint, xen-maint
Target Milestone: beta   
Target Release: 5.5   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-07 14:53:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 518093    
Bug Blocks: 481160    

Description IBM Bug Proxy 2009-08-18 21:00:23 UTC
=Comment: #0=================================================
Emily J. Ratliff <ratliff@austin.ibm.com> - 
1. Feature Overview:
Feature Id:	[202014]
a. Name of Feature:	Add async qemu machine protocol (qmp) to libvirt
b. Feature Description
Switch libvirt to use qmp to manipulate qemu/kvm VMs

2. Feature Details:
Sponsor:	LTC
Architectures:
x86
x86_64

Arch Specificity: Both
Affects Kernel Modules: Yes
Delivery Mechanism: Direct from community
Category:	Xen
Request Type:	Driver - New - Open Source
d. Upstream Acceptance:	Submitted
Sponsor Priority	2
f. Severity: Medium
IBM Confidential:	no
Code Contribution:	3rd party code
g. Component Version Target:	latest libvirt

3. Business Case
Switching to qmp provides a more reliable protocol on top of which we can build a more robust,
asynchronous communication channel for managing VMs.  The result provides management applications
which consume libvirt greater control over VM bahavior.

4. Primary contact at Red Hat: 
John Jarvis
jjarvis@redhat.com

5. Primary contacts at Partner:
Project Management Contact:
Stephanie Glass, sglass@us.ibm.com

Technical contact(s):
Ryan Harper, raharper@us.ibm.com

IBM Manager:
Warren Grunbok II, grunbok@us.ibm.com

Comment 1 Daniel Berrangé 2009-08-19 08:43:31 UTC
> 3. Business Case
> Switching to qmp provides a more reliable protocol on top of which we can build
> a more robust, asynchronous communication channel for managing VMs.  The result 
> provides management applications which consume libvirt greater control over VM
> behaviour.

Since the QEMU machine protocol is a private internal implementation detail of libvirt's QEMU driver, merely changing the protocol has no effect on functionality exposed to applications via the libvirt API.  

Although QMP looks to be promising as a long term enhancement to QEMU, its upstream development is still ongoing & thus is not scheduled for inclusion in the next official QEMU release. In addition, the libvirt side of support for this new QMP protocol has not commenced development upstream, pending finalization of the QEMU code support for QMP.  While the existing monitor protocol has a number of limitations, it is clearly the most tried & tested reliable approach at this point in time. Given the ongoing upstream development work, I do not think that QMP will be sufficiently mature & widely tested enough to be considered suitable for inclusion RHEL in the near immediate future.

Can you give further details on exactly what application facing functionality you wish to see in libvirt which is believed to depend on use of this new protocol ? It may well be practical to provide the required enhancements in libvirt's QEMU support, without switching to the QMP.

Comment 2 IBM Bug Proxy 2009-08-19 16:30:26 UTC
------- Comment From hollisb@us.ibm.com 2009-08-19 12:21 EDT-------
The real requirement is to handle asynchronous watchdog events. If these can be transmitted from qemu to libvirt (and then emitted as domain events) in some way other than QMP, that's good enough.

Comment 3 Daniel Veillard 2009-08-19 19:24:36 UTC
Posting patches upstream will certainly help getting there if you expect this
for 5.5, 

Daniel

Comment 4 IBM Bug Proxy 2009-10-01 21:51:30 UTC
------- Comment From hollisb@us.ibm.com 2009-10-01 17:41 EDT-------
Changing summary, since QMP isn't the real requirement (as discussed here).

Comment 5 IBM Bug Proxy 2009-10-06 21:21:54 UTC
------- Comment From hollisb@us.ibm.com 2009-10-06 17:19 EDT-------
This won't be ready in time for 5.5.

Comment 6 IBM Bug Proxy 2009-10-07 14:50:34 UTC
------- Comment From sglass@us.ibm.com 2009-10-07 10:44 EDT-------
Deferring this feature from RHEL 5.5 for now.

Comment 7 John Jarvis 2009-10-07 14:53:33 UTC
setting CLOSED DEFERRED to match IBM status.