Bug 1119592 - libvirt will report error after use pool-build in Non-root mode(qemu:///session)
Summary: libvirt will report error after use pool-build in Non-root mode(qemu:///session)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: 7.0
Assignee: Ján Tomko
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-15 06:26 UTC by Luyao Huang
Modified: 2015-03-05 07:41 UTC (History)
10 users (show)

Fixed In Version: libvirt-1.2.7-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-05 07:41:13 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0323 normal SHIPPED_LIVE Low: libvirt security, bug fix, and enhancement update 2015-03-05 12:10:54 UTC

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@redhat.com>
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 yangyang 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


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