2016-03-02 14:46:20 |
Rongze Zhu |
description |
The Reproduce steps:
I create a volume from image(the cinder backend is HDS FC Storage).
Then I boot a instance from the volume, the call path is "nova-api => nova-compute => cinder-api => cinder-volume".
Because the HDS Driver in cinder-volume is slow in my env, so nova-compute will timeout and set the stat of instance as "error".
Then I try to delete the instance, because the value of 'os-extended-volumes:volumes_attached' in the instance is the volume id, so nova-compute will call detach-volume API in cinder-api. Because the state of volume in cinder database is 'available', so the cinder-api will raise a 'VolumeAttachmentNotFound' exception. Finally, I failed to delete the error instance.
Solution:
nova-compute need to check the state of volume before call detach-volume api to cinder-api. |
The Reproduce steps:
I create a volume from image(the cinder backend is HDS FC Storage).
Then I boot a instance from the volume, the call path is "nova-api => nova-compute => cinder-api => cinder-volume".
Because the HDS Driver in cinder-volume is slow in my env, so nova-compute will timeout and set the status of instance as "error".
Then I try to delete the instance, because the value of 'os-extended-volumes:volumes_attached' in the instance is the volume id, so nova-compute will call detach-volume API in cinder-api. Because the status of volume in cinder database is 'available', so the cinder-api will raise a 'VolumeAttachmentNotFound' exception. Finally, I failed to delete the error instance.
Solution:
nova-compute need to check the status of volume before call detach-volume api to cinder-api. |
|