Bug 1002648

Summary: thinlvm driver fails to create the pool if the outer vg is rounded to the GB
Product: Red Hat OpenStack Reporter: Giulio Fidente <gfidente>
Component: openstack-cinderAssignee: Eric Harney <eharney>
Status: CLOSED ERRATA QA Contact: Giulio Fidente <gfidente>
Severity: low Docs Contact:
Priority: unspecified    
Version: 3.0CC: abaron, ddomingo, eharney, gfidente, hateya, yeylon
Target Milestone: beta   
Target Release: 4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: openstack-cinder-2013.2-0.9.b3.el6ost Doc Type: Bug Fix
Doc Text:
Bug 1022714 has subsumed these changes, so just document that one.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-20 00:22:25 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: 1022714    
Bug Blocks: 975606    

Description Giulio Fidente 2013-08-29 16:11:51 UTC
Description of problem:
When using the thinlvm driver, if the cinder-volumes VG is manually created and perfectly rounded to the GB (eg. using vgcreate -L 100G), cinder fails to allocate the volumes pool within it


Version-Release number of selected component (if applicable):
openstack-cinder-2013.1.3-2.el6ost.noarch


Steps to Reproduce:
1. truncate -s 100G backingfile
2. losetup -f backingfile
3. vgcreate cinder-volumes /dev/loopX
4. configure cinder with the thinlvm driver
5. create a new volume in cinder


Actual results:
the following appears in the volume.log (and the POOL creation fails):

Command: sudo cinder-rootwrap /etc/cinder/rootwrap.conf lvcreate -T -L 100g cinder-volumes/cinder-volumes-pool
    Exit code: 5
    Stdout: ''
    Stderr: ' Volume group "cinder-volumes" has insufficient free space (25599 extents): 25600 required.\n'

Comment 2 Ayal Baron 2013-09-08 11:58:46 UTC
Giulio, why is this not a packstack bug?

Comment 3 Giulio Fidente 2013-09-09 08:17:52 UTC
compared to the vg/lv structure in use by the regular lvm driver, the thinlvm driver uses an additional layer:

 VG (cinder-volumes)
  |
  |-> LVs POOL
       |
       |-> LV (volume UUID)

the thinlvm driver expects the outer VG to be available (as per the regular lvm driver) but it will create the LVs POOL on its own if it doesn't exist yet

I think we could get packstack to create the LVs POOL but the bug currently affects Cinder because we let Cinder to create it (packstack only creates the more external VG).

Comment 4 Eric Harney 2013-09-17 18:41:25 UTC
Should be fixed in Havana-3.

Comment 6 Scott Lewis 2013-11-19 16:54:17 UTC
Auto adding >= MODIFIED bugs to beta

Comment 12 Giulio Fidente 2013-12-11 17:12:28 UTC
verified using openstack-cinder-2013.2-8.el6ost.noarch

Comment 14 errata-xmlrpc 2013-12-20 00:22:25 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.

http://rhn.redhat.com/errata/RHEA-2013-1859.html