Deleting volumes set as PVs results in unresolvable error_deleting status
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
Undecided
|
Bill Rich |
Bug Description
1) launch instance
2) create volume
3) attach volume
4) log in to instance
5) from instance: pvcreate /dev/vdc
6) from instance: vgcreate vg-error /dev/vdc
7) from instance: lvcreate -L 1G -n lv-error vg-error
8) create a new logical volume (this can be done by either creating a new volume, or manually from cli on the cinder server, ie lvcreate -L 1M -n delete_me cinder-volumes)
9) from instance: lvremove lv-error
10) from instance: vgremove vg-error
11) from instance: pvremove /dev/vdc
10) detach volume
11) delete volume
A map of what happens:
After step 7
Description: lvm setup is created on vm; cinder server will read lvm config if queried, but since no new device has been created, lvm has not called on device mapper to mknods
On vm:
/dev/
/dev/
On cinder server
/dev/
/dev/
/dev/
After step 8
Description: since lvcreate was run on the cinder server, lvm called on device mapper to mknods for missing logical volumes and create symlink structure
On vm:
/dev/
/dev/
On cinder server
/dev/
/dev/
/dev/
After step 11
Description: lvm config was update, but the associate device mapper calls to remove logical volume devices were not made. We now have devices that lvm doesn't know about, but depend on original cinder-created logical volume
On vm:
/dev/vdc
/dev/
On cinder server
/dev/
/dev/
/dev/
Changed in cinder: | |
assignee: | nobody → Bill Rich (bill-rich) |
status: | New → In Progress |
Changed in cinder: | |
assignee: | Bill Rich (bill-rich) → nobody |
status: | In Progress → New |
Changed in cinder: | |
assignee: | nobody → Bill Rich (bill-rich) |
Changed in cinder: | |
status: | New → In Progress |
Changed in cinder: | |
status: | In Progress → Fix Released |
To fix this, add 'volume_list = ["<VG_NAME>", "<VG_NAME", ... ]` to activation section of /etc/lvm/lvm.conf on cinder server