When starting/restarting/rebuilding instances, it may happen that a volume detach request comes right in the middle of attaching a volume in the driver. In this case the hypervisor (e.g. libvirt) will throw DiskNotFound exception in driver.detach_volume() call, but still the volume gets attached eventually, when the instance starts.
This leaves the instance in the state, when the volume is `de-facto` attached to it (i.e. shown in the `virsh dumpxmp $instance` output for libvirt), but both Nova and Cinder think the volume is actually *not* in-use.
When starting/ restarting/ rebuilding instances, it may happen that a volume detach request comes right in the middle of attaching a volume in the driver. In this case the hypervisor (e.g. libvirt) will throw DiskNotFound exception in driver. detach_ volume( ) call, but still the volume gets attached eventually, when the instance starts.
This leaves the instance in the state, when the volume is `de-facto` attached to it (i.e. shown in the `virsh dumpxmp $instance` output for libvirt), but both Nova and Cinder think the volume is actually *not* in-use.