Bug 726398

Summary: libvirt-0.8.7-18.el6 doesn't correctly log failed hook scripts
Product: Red Hat Enterprise Linux 6 Reporter: Reto Gantenbein <reto.gantenbein>
Component: libvirtAssignee: Osier Yang <jyang>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1CC: dallan, dyuan, eblake, mzhan, rwu, veillard, xhu
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.9.4-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 11:18:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Reto Gantenbein 2011-07-28 13:50:35 UTC
Description of problem:
libvirtd doesn't correcly log failed hook scripts. According to the libvirt documentation, a log message should appear when the /etc/libvirt/hooks/qemu script returns an exit code != 0. This seems to be a regression in RHEL 6.1, since the behaviour was according the documentation in libvirt-0.8.1 (RHEL 6.0). 

Version-Release number of selected component (if applicable):
libvirt-0.8.7-18.el6


How reproducible:
Always


Steps to Reproduce:
1. Create a qemu hook script that returns with a value != 0
2. Place it in /etc/libvirt/hooks/ and make it executable
3. Restart libvirtd
4. Start a KVM virtual machine
  

Actual results:
The machine startup will fail with an error message:
error : virCommandWait:1226 : internal error Child process exited with status 1.


Expected results:
Error message similar to the one from libvirt 0.8.1:
error : virHookCall:418 : Hook script execution failed: Hook script /etc/libvirt/hooks/qemu qemu failed with error code 256

Comment 2 Osier Yang 2011-07-29 14:43:29 UTC
commit ef765169dd520fb25760387306dea925a28f37cd
Author: Osier Yang <jyang>
Date:   Fri Jul 29 22:40:47 2011 +0800

    utils: More useful error message for hook script failure
    
    Commit 3709a386 ported hooks codes to new command execution API,
    together with the useful error message removed. Though we can't
    get "errbuf" from the new command execution API anymore, still
    we can give a more useful error.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=726398

Patch pushed into upstream, move to POST.

Comment 6 dyuan 2011-08-04 11:08:54 UTC
Reproduced this bug with libvirt-0.9.8-3.el6.

Verified PASS with libvirt-0.9.4-1.el6
pkgs:
qemu-kvm-0.12.1.2-2.176.el6
kernel-2.6.32-176.el6

# cat /etc/libvirt/hooks/qemu 
#! /bin/bash
   if [[ $1 = "dom" ]]; then
       echo "$0" "$@" >> /tmp/qemu.log
       exit 1
   fi

# chmod +x /etc/libvirt/hooks/qemu

# service libvirtd restart
Stopping libvirtd daemon:                                  [  OK  ]
Starting libvirtd daemon:                                  [  OK  ]

# virsh start dom
error: Failed to start domain dom
error: Hook script execution failed: Hook script /etc/libvirt/hooks/qemu qemu failed with error code 256

Comment 7 errata-xmlrpc 2011-12-06 11:18:07 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/RHBA-2011-1513.html