We have seen this downstream where an initial volume detach fails due to multipath "map in use" during the detach from the hypervisor host, after the volume was already detached from the guest. The volume remains connected in cinder (which is correct). However, when a second detach is tried, nova finds the volume already detached from the guest and assumes it was also successfully detached from the hypervisor host, which is not necessarily true. So it continues on to terminate the connection in cinder, which results in failed paths in multipathd.
We have seen this downstream where an initial volume detach fails due to multipath "map in use" during the detach from the hypervisor host, after the volume was already detached from the guest. The volume remains connected in cinder (which is correct). However, when a second detach is tried, nova finds the volume already detached from the guest and assumes it was also successfully detached from the hypervisor host, which is not necessarily true. So it continues on to terminate the connection in cinder, which results in failed paths in multipathd.