Bug 1240608

Summary: [RFE] add support for RBD storage pools
Product: Red Hat Enterprise Linux 7 Reporter: Xiaodai Wang <xiaodwan>
Component: virt-managerAssignee: Pavel Hrdina <phrdina>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: crobinso, jeff, jgalvez, juzhou, mzhan, tzheng, vakulkar
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-22 12:55:50 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:    
Bug Blocks: 1288337, 1473046    

Description Xiaodai Wang 2015-07-07 11:16:39 UTC
Description of problem:
An "Input Error" pops up when install a guest with volume in rbd storage pool

Version-Release number of selected component (if applicable):
virt-manager-1.2.1-2.el7.noarch

How reproducible:
100%

Steps to Reproduce:
1. Create a rbd storage pool in virt-manager and create volume in the pool.
[root@localhost ~]# virsh pool-dumpxml rbd
<pool type='rbd'>
  <name>rbd</name>
  <uuid>60013b2e-398a-4c4e-b8d5-7d917ae04803</uuid>
  <capacity unit='bytes'>139701780480</capacity>
  <allocation unit='bytes'>1262375095</allocation>
  <available unit='bytes'>89787064320</available>
  <source>
    <host name='10.66.4.150' port='6789'/>
    <name>libvirt-pool</name>
    <auth type='ceph' username='libvirt'>
      <secret usage='client.libvirt secret'/>
    </auth>
  </source>
</pool>

[root@localhost ~]# virsh pool-list rbd
 Name                 State      Autostart 
-------------------------------------------
 rbd                  active     no        

[root@localhost ~]# virsh pool-info rbd
Name:           rbd
UUID:           60013b2e-398a-4c4e-b8d5-7d917ae04803
State:          running
Persistent:     yes
Autostart:      no
Capacity:       130.11 GiB
Allocation:     1.18 GiB
Available:      83.62 GiB

[root@localhost ~]# virsh vol-list --pool rbd
 Name                 Path                                    
------------------------------------------------------------------------------
 rbd1.img             libvirt-pool/rbd1.img                   
 xiaodwan             libvirt-pool/xiaodwan                   
 yy1.img              libvirt-pool/yy1.img                    
 yy2.img              libvirt-pool/yy2.img 

2. Click "new"->Network Install(HTTP, FTP, or NFS), contine the installation following the tips until step 4 of 5.
3. Choose "Select managed or other existing storage", click Browse button, select the rbd pool and select a image file in it, click "Choose volume".
4. Click "Forward" to continue.

Actual result:
An error message box pops up.

Storage parameter error.
Could not start storage pool: cannot open path '/root/libvirt-pool': No such file or directory

[Tue, 07 Jul 2015 19:14:31 virt-manager 16284] DEBUG (storage:497) Creating storage pool 'libvirt-pool' with xml:
<pool type="dir">
  <name>libvirt-pool</name>
  <uuid>7bebe69c-76b6-41a6-a5fd-816119f39b1f</uuid>
  <target>
    <path>/root/libvirt-pool</path>
  </target>
</pool>

[Tue, 07 Jul 2015 19:14:31 virt-manager 16284] ERROR (error:140) Validation Error: Storage parameter error. Could not start storage pool: cannot open path '/root/libvirt-pool': No such file or directory
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/addstorage.py", line 324, in validate_storage
    disk.path = path or None
  File "/usr/share/virt-manager/virtinst/devicedisk.py", line 532, in _set_path
    (vol_object, parent_pool) = diskbackend.manage_path(self.conn, newpath)
  File "/usr/share/virt-manager/virtinst/diskbackend.py", line 152, in manage_path
    pool = poolxml.install(build=False, create=True, autostart=True)
  File "/usr/share/virt-manager/virtinst/storage.py", line 533, in install
    raise RuntimeError(errmsg)
RuntimeError: Could not start storage pool: cannot open path '/root/libvirt-pool': No such file or directory

Expected result:
The installation should be successful.

Additional information:

Comment 2 Pavel Hrdina 2015-07-30 13:37:17 UTC
Moving to RHEL-7.3 because this is not just some simple bug, but creating a guest with rbd storage using virt-manager isn't implemented.

Comment 4 Pavel Hrdina 2016-06-07 08:58:56 UTC
*** Bug 1314098 has been marked as a duplicate of this bug. ***

Comment 9 Cole Robinson 2018-10-22 12:55:50 UTC
Upstream works better here nowadays, but there's a number of patches to backport and they will not apply cleanly to RHEL7 virt-manager code. Given that there hasn't been any customer request to make this work, I'm closing this as WONTFIX for rhel7, please reopen if I've missed something