Bug 616060 - netcf: Show ifup output in relevant error message
netcf: Show ifup output in relevant error message
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: netcf (Show other bugs)
6.0
All Linux
low Severity medium
: rc
: ---
Assigned To: Laine Stump
qe-baseos-daemons
:
Depends On: 651032
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-19 10:48 EDT by Cole Robinson
Modified: 2011-12-06 10:18 EST (History)
5 users (show)

See Also:
Fixed In Version: netcf-0.1.9-1.el6
Doc Type: Bug Fix
Doc Text:
In previous versions of netcf, when a management application (e.g. virt-manager) used netcf to start or stop an interface and an error occurred during this operation, netcf could only return the exit code of the program it uses for these operations (/sbin/ifup and /sbin/ifdown). This could make it more difficult than necessary to troubleshoot problems - ifup and ifdown sometimes provide a more detailed reason for the failure than can be communicated in an exit code. netcf has been modified to capture the stdout and stderr output of ifup and ifdown, and forward that information back to the management application in the case of an error, which should make it easier to troubleshoot problems.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-12-06 10:18:46 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Cole Robinson 2010-07-19 10:48:04 EDT
netcf doesn't report cmdline output of failed commands in it's error messages. Example (via virt-manager/libvirt):

https://bugzilla.redhat.com/show_bug.cgi?id=612068
RuntimeError: Could not create interface: internal error failed to create
(start) interface br0 (netcf: failed to execute external program - Running
'ifup br0' failed with exit code 1)

Firstly, 'failed to execute' doesn't sound right in this case, my guess is ifup was launched fine. Secondly, ifup might have given us informative stdout/stderr output, and this info should be included in the error message. Code for this can probably be stolen from libvirt.
Comment 1 Suzanne Yeghiayan 2011-03-28 15:54:01 EDT
Since RHEL 6.1 External Beta has begun, and this bug remains 
unresolved, it has been rejected as it is not proposed as an 
exception or blocker.

Red Hat invites you to ask your support representative to 
propose this request, if appropriate and relevant, in the 
next release of Red Hat Enterprise Linux.
Comment 2 Laine Stump 2011-05-18 13:36:32 EDT
A fix has been committed to upstream netcf, and will be included when RHEL netcf is rebase (see Bug 705061):

commit 3aff37e9921810eac86b4eefd9bb600495e43632
Author: Laine Stump <laine@laine.org>
Date:   Mon May 16 02:54:49 2011 -0400

    Capture stdout and stderr when execing external programs
    
    This is in response to:
    
       https://bugzilla.redhat.com/show_bug.cgi?id=616060
    
    but will also be useful in an upcoming patch which needs to retrieve
    the output of /etc/rc.d/init.d/netcf-transaction.
    
    Before forking, we now create a pipe, then after forking, the child
    dup2's both stdout and stderr to the write side of the pipe, and the
    parent calls fdopen() on the read side of the pipe and then calls
    gnulib's fread_file() before calling waitpid() to reap the process.
Comment 3 Laine Stump 2011-06-14 17:36:45 EDT
A fix for this bug is included in netcf-0.1.8-1.el6. A build is available here:

https://brewweb.devel.redhat.com/buildinfo?buildID=167451
Comment 5 Vivian Bian 2011-08-04 04:11:52 EDT
tested with netcf-0.1.9-1.el6

Steps:
start virt-manager
1. click 'Edit','Connection Details','Network Interfaces'
2. click 'add','Bridge',Name->'br1', choose 'eth1'
3. click 'Finish'
4. ifup br1 
Determining IP information for br1... failed.

There is no 'exit code 1' alike errors . So set bug status to VERIFIED
Comment 6 Laine Stump 2011-11-16 11:45:29 EST
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
In previous versions of netcf, when a management application (e.g. virt-manager) used netcf to start or stop an interface and an error occurred during this operation, netcf could only return the exit code of the program it uses for these operations (/sbin/ifup and /sbin/ifdown). This could make it more difficult than necessary to troubleshoot problems - ifup and ifdown sometimes provide a more detailed reason for the failure than can be communicated in an exit code.

netcf has been modified to capture the stdout and stderr output of ifup and ifdown, and forward that information back to the management application in the case of an error, which should make it easier to troubleshoot problems.
Comment 7 errata-xmlrpc 2011-12-06 10:18:46 EST
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-1631.html

Note You need to log in before you can comment on or make changes to this bug.