Bug 853002

Summary: [qemu-ga]shutdown guest by qemu-guest-agent will successful but report error
Product: Red Hat Enterprise Linux 6 Reporter: zhpeng
Component: libvirtAssignee: Jiri Denemark <jdenemar>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.4CC: acathrow, ajia, cwei, dyasny, dyuan, mzhan
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.10.1-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 07:22:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
libvirtd log none

Description zhpeng 2012-08-30 08:39:24 UTC
Description
shutdown guest with qemu-guest-agent will successful but report error

Version
libvirt-0.10.0-1.el6.x86_64

How reproducible:
100%


Steps
1. upgrade the seabios to -18 or higher in your host.
seabios-0.6.1.2-19.el6

2. Edit the xml,
# virsh dumpxml myRHEL6
<domain type='kvm'>
  <name>rhel63</name>
...
  <os>
    <type arch='x86_64' machine='rhel6.3.0'>hvm</type>
    <loader>/usr/share/seabios/bios-pm.bin</loader>
    <boot dev='hd'/>
  </os>
...
<channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/{$guestname}.agent'/>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
    </channel>
...
2. start domain  start qemu-ga service

3.
# virsh shutdown  rhel63 --mode agent
error: Failed to shutdown domain rhel63
error: Guest agent is not responding: Guest agent not available for now

# virsh list 
 Id    Name                           State
----------------------------------------------------

attached libvirtd.log

Actual result
successfully shutdown guest by qemu-ga, but report error.

  
Expect result
No error report and no libvirtd error


Additional info
attached libvirtd.log

Comment 1 zhpeng 2012-08-30 08:41:43 UTC
Created attachment 608076 [details]
libvirtd log

Comment 5 Jiri Denemark 2012-08-30 11:50:07 UTC
Yeah, it's very likely that any API that calls to qemu-ga is affected. I'll check all of them...

Comment 6 Jiri Denemark 2012-08-30 14:46:32 UTC
This issue is now fixed upstream by v0.10.0-10-ge360a96 and v0.10.0-11-g7444ccc:

commit 7444ccce4cb4af1ce61eb4c2c9ce4f69ea276e9c
Author: Jiri Denemark <jdenemar>
Date:   Thu Aug 30 14:40:01 2012 +0200

    qemu: Revert to blocking behavior of qemuAgentCommand
    
    Before commit 05447e3af44ec153314ff97cd611330d9b4b5730, qemuAgentCommand
    blocked until it got a reply or appropriate event. When new parameter
    was added to qemuAgentCommand in the above commit, all existing callers
    of it were updated in a wrong way changing them from blocking to
    5-seconds timeout.

commit e360a96067c685d53d5c32c912db14520acdb089
Author: Jiri Denemark <jdenemar>
Date:   Thu Aug 30 14:19:02 2012 +0200

    qemu: Remove redundant parameter from qemuAgentSend
    
    The @timeout parameter of qemuAgentSend is both redundant and confusing.
    This patch should not result in any functional changes.

Comment 10 zhpeng 2012-09-03 05:56:13 UTC
Test it with libvirt-0.10.1-1

[root@zhpeng ~]# virsh dompmsuspend rhel63 --target disk
Domain rhel63 successfully suspended
[root@zhpeng ~]# virsh start rhel63
Domain rhel63 started

[root@zhpeng ~]# virsh shutdown rhel63 --mode agent
Domain rhel63 is being shutdown

[root@zhpeng ~]# virsh start rhel63
Domain rhel63 started


Change it to verified.

Comment 11 errata-xmlrpc 2013-02-21 07:22:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0276.html