brick's lvm thin pool creation is broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
High
|
David Pineau |
Bug Description
After recent refactor/
How it should work:
Instanciate the LVM object with parameters creat=True and lvm_type="thin"
-> Creates the Volume group
-> Checks if the pool exists by calling an internal method to call the lvm utility "lvs"
-> See that the pool does not exist
-> Create the pool
-> Activate the pool
-> Everyone is happy
What changed:
The internal methods changed, believeing the patch, in order to reduce the number of actuall calls to the lvm utility CLI tools, with the patchset: dcda67053df5dc0
What does not work anymore:
To check if a pool exists, the code now calls the lvs utility with the volume_
Thus, the constructor of the LVM class cannot check if the pool exists or not, failing any volume creation relying on thin-provisionning.
Actually the order of actions is now:
-> Creates the Volume group
-> Checks if the pool exists by calling lvs on the pool
-> lvs cannot find the LV
-> processutil raises an exception
-> The exception isn't caught by anything (and even if it did, it would not be a proper way to detect absence of thin-pool
-> constructor fails.
Changed in cinder: | |
assignee: | nobody → David Pineau (dav-pineau) |
status: | New → In Progress |
Changed in cinder: | |
importance: | Undecided → High |
milestone: | none → kilo-1 |
Changed in cinder: | |
status: | Fix Committed → Fix Released |
Changed in cinder: | |
milestone: | kilo-1 → 2015.1.0 |
Fix proposed to branch: master /review. openstack. org/133042
Review: https:/