Bug 1119592

Summary: libvirt will report error after use pool-build in Non-root mode(qemu:///session)
Product: Red Hat Enterprise Linux 7 Reporter: Luyao Huang <lhuang>
Component: libvirtAssignee: Ján Tomko <jtomko>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: dyuan, honzhang, jiahu, jtomko, lhuang, mzhan, rbalakri, xuzhang, yanyang, zpeng
Target Milestone: rc   
Target Release: 7.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-1.2.7-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 07:41:13 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:

Description Luyao Huang 2014-07-15 06:26:29 UTC
Description of problem:
libvirt will report error after use pool-build in Non-root mode(qemu:///session)
But after do pool-build, the dir of pool's path have been built,seems pool-build
done successfully.

Version-Release number of selected component (if applicable):
libvirt-1.1.1-29.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.login a non-root user and make sure
$ virsh uri
qemu:///session

2.prepare a pool xml
$vi pool.xml
<pool type='dir'>
  <name>default1</name>
  <capacity unit='bytes'>0</capacity>
  <allocation unit='bytes'>0</allocation>
  <available unit='bytes'>0</available>
  <source>
  </source>
  <target>
    <path>/tmp/images</path>
    <permissions>
      <mode>0755</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>

3.define it
$ virsh pool-define pool.xml
Pool default1 defined from pool.xml

4.make sure no dir
$ ll /tmp/images
ls: cannot access /tmp/images: No such file or directory


5.$ virsh pool-build default1
error: Failed to build pool default1
error: cannot create path '/tmp/images': Unknown error -1

6.$ ll /tmp/images
total 0


Actual results:
pool-build will report error but create dir success

Expected results:
no error output

Additional info:

Comment 2 Ján Tomko 2014-07-15 13:12:33 UTC
Libvirt will create the directory, but it cannot change the uid:gid to 0:0.
I've sent a patch changing the error from 'Unknown error' to 'Permission denied:
https://www.redhat.com/archives/libvir-list/2014-July/msg00723.html

Comment 3 Ján Tomko 2014-07-16 07:55:48 UTC
Now pushed:
commit d7dedc365068c3dfdc983f9e224cab258f93d913
Author:     Ján Tomko <jtomko>
CommitDate: 2014-07-16 09:39:57 +0200

    Fix error on fs pool build failure
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1119592
    
    Introduced by commit 62927dd v0.7.6.

git describe: v1.2.6-147-gd7dedc3

Comment 5 Yang Yang 2014-11-11 11:09:57 UTC
Tested this one with libvirt-1.2.8-6.el7.x86_64. 

login as non-root user
1.$vi pool.xml
<pool type='dir'>
  <name>default1</name>
  <capacity unit='bytes'>0</capacity>
  <allocation unit='bytes'>0</allocation>
  <available unit='bytes'>0</available>
  <source>
  </source>
  <target>
    <path>/tmp/images</path>
    <permissions>
      <mode>0644</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>

2.define it
$ virsh pool-define pool.xml
Pool default1 defined from pool.xml

3.make sure no dir
$ ll /tmp/images
ls: cannot access /tmp/images: No such file or directory

4. $ virsh pool-build default1
error: Failed to build pool default1
error: cannot create path '/tmp/images': Operation not permitted

5. $ ls -l /tmp
drw-r--r--.  2 yangyang yangyang         6 Nov 11 18:56 images

Per comment #2, the uid/gid of /tmp/images are not set and error message is fixed, mark it as verified.

Comment 7 errata-xmlrpc 2015-03-05 07:41:13 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-2015-0323.html