Missing LVM LV makes cinder-volume fail to initialize

Bug #1270959 reported by Florian Haas on 2014-01-20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Florian Haas

Bug Description

Steps to reproduce (in LVM/tgt configuration)

1. Create volume ("cinder create")
2. Stop cinder-volume service.
3. Stop tgtd (to release open handles on LVM LVs)
4. Delete LV with lvremove
5. Start tgtd
6. Start cinder-volume service

Expected behavior:
Affected volume goes to error state, other volumes become normally available

Actual behavior:
cinder-volume service fails to initialize after VolumeManager bails out of init_host() before hitting set_initialized().
Error message:
"Error encountered during re-exporting phase of driver initialization:", followed by driver stack trace.
This leaves the affected volume in the "available" state, which is clearly a rather poor reflection of reality. Also, since the volume service is now uninitialized, the volume can't be deleted, and gets stuck in the error_deleting status until (a) an admin resets the volume state and recreates the LV manually, or (b) the deleted flag is set for the volume in in the volumes table in the database.

Florian Haas (fghaas) wrote :

I took a stab at what *might* be a possible resolution to this issue in https://review.openstack.org/#/c/67966/. Probably by no means complete -- grateful for any reviews.

Avishay Traeger (avishay-il) wrote :

Patch was merged

Changed in cinder:
status: New → Fix Committed
importance: Undecided → Medium
assignee: nobody → Florian Haas (fghaas)
Thierry Carrez (ttx) on 2014-03-05
Changed in cinder:
milestone: none → icehouse-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2014-04-17
Changed in cinder:
milestone: icehouse-3 → 2014.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers