Merge "Allow VolumeAttachments to delete in parallel"

This commit is contained in:
Jenkins 2014-12-12 02:29:45 +00:00 committed by Gerrit Code Review
commit 2467649f6d
2 changed files with 10 additions and 2 deletions

View File

@ -468,7 +468,12 @@ class VolumeAttachment(resource.Resource):
def handle_delete(self):
server_id = self.properties[self.INSTANCE_ID]
detach_task = VolumeDetachTask(self.stack, server_id, self.resource_id)
scheduler.TaskRunner(detach_task)()
detach_runner = scheduler.TaskRunner(detach_task)
detach_runner.start()
return detach_runner
def check_delete_complete(self, detach_runner):
return detach_runner.step()
class CinderVolume(Volume):

View File

@ -265,10 +265,13 @@ class VolumeTest(BaseVolumeTest):
# delete script
self.m.StubOutWithMock(instance.Instance, 'handle_delete')
self.m.StubOutWithMock(vol.VolumeAttachment, 'handle_delete')
self.m.StubOutWithMock(vol.VolumeAttachment, 'check_delete_complete')
instance.Instance.handle_delete().AndReturn(None)
self.cinder_fc.volumes.get('vol-123').AndRaise(
cinder_exp.NotFound('Not found'))
vol.VolumeAttachment.handle_delete().AndReturn(None)
cookie = object()
vol.VolumeAttachment.handle_delete().AndReturn(cookie)
vol.VolumeAttachment.check_delete_complete(cookie).AndReturn(True)
self.m.ReplayAll()
stack = utils.parse_stack(self.t, stack_name=stack_name)