Your idea is basically good.
But, the idea doesn't resolve following cases.
* case1: Call volume-attach API instead of creating VM-B. And, volume-attach API is failed between creating bdm and reserve_volume by nova-api death.
In this case, VM-B is not changed to "ERROR", and bdm record remains.
* case2: Attach "volume-A" to "VM-A" before restarting nova-compute. And, delete VM-B.
Hi Lee,
Sorry for replying late.
Your idea is basically good.
But, the idea doesn't resolve following cases.
* case1: Call volume-attach API instead of creating VM-B. And, volume-attach API is failed between creating bdm and reserve_volume by nova-api death.
In this case, VM-B is not changed to "ERROR", and bdm record remains.
* case2: Attach "volume-A" to "VM-A" before restarting nova-compute. And, delete VM-B.