While performing assisted volume snapshots, we're setting the
instance task state to 'image_snapshot_pending' in order to prevent
instance actions that would impact this operation.
The issue is that we're clearing the task state only after calling
back the Cinder API, telling it that the snapshot was created or
deleted. For this reason, a subsequent assisted snapshot request
will be rejected by the Nova API if the task state is not cleared
in time.
This race condition affects quite a few tempest tests that cover
this scenario.
This change ensures that the instance task state is cleared before
calling back the Cinder API.
Reviewed: https:/ /review. openstack. org/529322 /git.openstack. org/cgit/ openstack/ compute- hyperv/ commit/ ?id=b6a23479d92 a8fd770fc6ad6bf 20cab4618e399e
Committed: https:/
Submitter: Zuul
Branch: master
commit b6a23479d92a8fd 770fc6ad6bf20ca b4618e399e
Author: Lucian Petrut <email address hidden>
Date: Wed Dec 20 15:09:15 2017 +0200
Fix assisted volume snapshots race condition
While performing assisted volume snapshots, we're setting the snapshot_ pending' in order to prevent
instance task state to 'image_
instance actions that would impact this operation.
The issue is that we're clearing the task state only after calling
back the Cinder API, telling it that the snapshot was created or
deleted. For this reason, a subsequent assisted snapshot request
will be rejected by the Nova API if the task state is not cleared
in time.
This race condition affects quite a few tempest tests that cover
this scenario.
This change ensures that the instance task state is cleared before
calling back the Cinder API.
Closes-Bug: #1739423
Change-Id: I1ae57c109ed551 ba03d49b2ac7c63 18b3939526d