Comment 0 for bug 1475652

Revision history for this message
raphael.glon (raphael-glon) wrote :

Reproduced on juno version (actually tested on a fork from 2014.2.3, sorry in advance if invalid but i think the legacy version is also concerned by it)

not tested on younger versions, but looking at the code they seem impacted too

For Rbd imagebackend only, when unrescuing an instance the disk.rescue file is actually not deleted on remote storage (only the rbd session is destroyed)

Consequence: when rescuing instance once again, it simply ignores the new rescue image and takes the old _disk.rescue image

Reproduce:

1. nova rescue instance

(take care that you are booted to the vda rescue disk -> when rescuing an instance from the same image it was spawned from (case by default), since fs uuid is the same according to fsstab of the template (entry UUID=) you can actually boot from the image you are actually trying to rescue, but this is another matter that concerns template building)

edit rescue image disk

2. nova unrescue instance

3. nova rescue instance -> you get back the disk.rescue spawned in 1

if confirmed, fix coming soon

Concerning fix several possibilities:
- nova.virt.libvirt.driver :LibvirtDriver-> unrescue method, not deleting the correct files
or
- nova.virt.libvirt.imagebackend:Rbd -> erase disk.rescue in create image method if already existing

Rebuild not concerned by issue, delete instance correctly deletes files on remote storage