Bug 1030080 - Creating thin LVM volume fails due to incorrect thin pool free space calculation
Creating thin LVM volume fails due to incorrect thin pool free space calculation
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-cinder (Show other bugs)
Unspecified Unspecified
unspecified Severity high
: rc
: 4.0
Assigned To: Giulio Fidente
Giulio Fidente
: 1037560 (view as bug list)
Depends On:
Blocks: 975606
  Show dependency treegraph
Reported: 2013-11-13 16:33 EST by Jon Bernard
Modified: 2016-04-26 10:08 EDT (History)
8 users (show)

See Also:
Fixed In Version: openstack-cinder-2013.2-8.el6ost
Doc Type: Bug Fix
Doc Text:
In most cases, thin pools consume nearly the entire volume group. Previously, however, the Block Storage scheduler always calculated storage capacity using the volume group's free space, even with thin pools enabled. This prevented the creation of new volumes within volume groups that used thin pools, as the scheduler incorrectly reported that there was insufficient space. With this update, the Block Storage scheduler now calculates thin pool capacity correctly. When thin pools are enabled, the scheduler now uses free space information from the ThinLVM driver to determine capacity.
Story Points: ---
Clone Of:
Last Closed: 2013-12-19 19:35:34 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Launchpad 1249782 None None None Never
OpenStack gerrit 56091 None None None Never
OpenStack gerrit 59698 None None None Never

  None (edit)
Description Jon Bernard 2013-11-13 16:33:20 EST
Description of problem:

If the thin pool is created with the correct size (roughly the size of the containing volume group), then cinder reports total and available capacity for the volume group and not the thin pool.  This causes the scheduler to think there is no capacity (because the thin pool is consuming all of the volume group).

For thin LVM, the capacity of the pool should be used in reporting capacity to the scheduler, and not the volume group.

Version-Release number of selected component (if applicable):


How reproducible:

Steps to Reproduce:
1. Set lvm_type to 'thin' in cinder.conf
2. Apply thin-pool-creation patch from gerrit: https://review.openstack.org/#/c/54833/
3. Create a volume

Actual results:

Newly created volume will immediately enter the 'error' state.  Scheduler logs indicate insufficient capacity to satisfy request.

Expected results:

Volume is created successfully.

Additional info:

I have submitted a patch for this under review at 
Comment 2 Ayal Baron 2013-12-01 05:05:35 EST
isn't this a dup of bug 1022714 ?
Comment 3 Jon Bernard 2013-12-02 11:57:05 EST
They are technically two different bugs, although closely related.  bug 1022714 is a failure to create the thin pool of the correct size.  This bug then follows, once the pool is of sufficient size the capacity reporting is inaccurate which causes a failure to create a volume backed by the pool.

The interesting part is that this bug is not easily visible until 1022714 is fixed - only then does it become an obvious error.
Comment 4 Eric Harney 2013-12-03 12:11:40 EST
*** Bug 1037560 has been marked as a duplicate of this bug. ***
Comment 8 Giulio Fidente 2013-12-12 06:47:20 EST
openstack-cinder-2013.2-8.el6ost does *not* include the patch
Comment 10 Giulio Fidente 2013-12-12 09:06:47 EST
kudos to Eric, it was my fault, verified using:
Comment 13 errata-xmlrpc 2013-12-19 19:35:34 EST
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.


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