Merge "Allow VolumeAttachments to delete in parallel"
This commit is contained in:
commit
2467649f6d
@ -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):
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user