]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Fixup persistence file not found on tgt remove
authorJohn Griffith <john.griffith@solidfire.com>
Mon, 10 Feb 2014 05:21:18 +0000 (05:21 +0000)
committerJohn Griffith <john.griffith@solidfire.com>
Mon, 10 Feb 2014 05:30:01 +0000 (05:30 +0000)
commita9112a9cd8d1286e6c62c1a848c10e4d926a45c2
tree8ebb05a16f22c6fea2b6b5dda0a7ea57852176cc
parent0e5b1bfe4fa3dcdfa9e9ed5d6843842861e51b97
Fixup persistence file not found on tgt remove

After commit: beecd769af02ba5915be827d28a7b46d970e41b0
we're experiencing a race in the tempest gating tests.

It appears that there are certain cases where a detach
and a delete call can overlap causing a race in the
remove_iscsi_target method.  The result is that when
the slower method gets around to the final removal of
the persistence file it's no longer there, so we
hit an unhandled exception.

This patch does two things:
1. It adds the volume lock to the detach_volume
method in the manager (already in place for delete).
This should mitigate the race and allow us to avoid it.

2. In the iscsi_remove_target method check if the
persist file has already been removed when we get
to the last check.  The fact is that if it was somehow
removed before we got here we don't really care, we're
just going to delete it anyway.

Change-Id: Ied45e1a66c8fb79c95ada66f8c59bd2839e200ad
Closes-Bug: 1277362
cinder/brick/iscsi/iscsi.py
cinder/volume/manager.py