Bug 1306557

Summary: Running 'git clone' in virt-builder or virt-customize results in an error message
Product: Red Hat Enterprise Linux 7 Reporter: Barak Korren <bkorren>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: ptoscano, rbalakri, xchen
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libguestfs-1.32.2-2.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 17:57:58 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:
Bug Depends On: 1218766    
Bug Blocks:    

Description Barak Korren 2016-02-11 09:48:41 UTC
Description of problem:
Running 'git clone' in virt-builder or virt-customize results in the following error message:

  Error reading command stream

This happens regardless of the git repo used.
This was tested for both RHEL and CentOS guest images, the host is RHEL7.2

Version-Release number of selected component (if applicable):
  libguestfs-tools-c-1.28.1-1.18.el7.x86_64

How reproducible:
  virt-builder centos-7.2  \
    --install git \
    --run-command 'git clone https://github.com/ifireball/scripts'

Actual results:
  Error message

Expected results:
  git repo cloned into VM image

Comment 1 Pino Toscano 2016-02-11 13:32:45 UTC
This is due to the fact that we're not providing an open stdin when running commands in the appliance, as reported in bug #1280029.

This can be reproduced on a RHEL/CentOS 7.2 host with the following command:

  $ git clone https://github.com/ifireball/scripts <&-
  Cloning into 'scripts'...
  Error reading command stream

(the <&- tells bash to close the file descriptor 0, which is stdin)

This has been fixed upstream since 1.31.28, and it will be fixed by the rebase (bug #1218766) for RHEL 7.3.

Comment 2 Richard W.M. Jones 2016-02-11 13:39:58 UTC
To the reporter, please try the preview packages here which
should already fix this issue:
https://people.redhat.com/~rjones/libguestfs-RHEL-7.3-preview/

Comment 3 Xianghua Chen 2016-05-31 04:59:27 UTC
Verified with the packages:
libguestfs-1.32.4-3.el7.x86_64
libguestfs-tools-c-1.32.4-3.el7.x86_64

Verify steps:
1. # virt-builder centos-7.2      --install git     --run-command 'git clone https://github.com/ifireball/scripts'
[   4.6] Downloading: http://libguestfs.org/download/builder/centos-7.2.xz
[   5.5] Planning how to build this image
[   5.5] Uncompressing
[  16.5] Opening the new disk
[  20.2] Setting a random seed
[  20.2] Installing packages: git
[  44.8] Running: git clone https://github.com/ifireball/scripts
[  48.2] Setting passwords
virt-builder: Setting random password of root to 4yK3APSs3jSbb5g4
[  49.7] Finishing off
                   Output file: centos-7.2.img
                   Output size: 6.0G
                 Output format: raw
            Total usable space: 4.8G
                    Free space: 3.8G (78%)


The command finished successfully, and the following error didn't occurred:
Cloning into 'scripts'...
Error reading command stream
libguestfs: trace: download = 0
virt-builder: git clone https://github.com/ifireball/scripts: command exited with an error


So Verified.

Comment 5 errata-xmlrpc 2016-11-03 17:57:58 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.

https://rhn.redhat.com/errata/RHSA-2016-2576.html