Enable abandon option to nested resource
Resources use abandon_in_progress option for abandoning in prepare_abandon method. When abandon_in_progress, resource's deletion policy is "Retain" and resource will not delete. Nested resource prepare_abandon missed enabling that option, so all nested stacks delete. Change-Id: I819566e4e1ca81193c745dcdd89217f31db41b07 Closes-bug: #1509912
This commit is contained in:
parent
e2b5edef30
commit
103a09bc1c
@ -500,6 +500,7 @@ class StackResource(resource.Resource):
|
|||||||
return self._check_status_complete(resource.Resource.CHECK)
|
return self._check_status_complete(resource.Resource.CHECK)
|
||||||
|
|
||||||
def prepare_abandon(self):
|
def prepare_abandon(self):
|
||||||
|
self.abandon_in_progress = True
|
||||||
nested_stack = self.nested()
|
nested_stack = self.nested()
|
||||||
if nested_stack:
|
if nested_stack:
|
||||||
return self.nested().prepare_abandon()
|
return self.nested().prepare_abandon()
|
||||||
|
@ -199,6 +199,14 @@ class StackResourceTest(StackResourceBaseTest):
|
|||||||
ret = self.parent_resource.prepare_abandon()
|
ret = self.parent_resource.prepare_abandon()
|
||||||
self.assertEqual({}, ret)
|
self.assertEqual({}, ret)
|
||||||
|
|
||||||
|
def test_abandon_nested_not_deleted(self):
|
||||||
|
delete_nested = self.patchobject(self.parent_resource, 'delete_nested')
|
||||||
|
|
||||||
|
self.parent_stack.prepare_abandon()
|
||||||
|
self.parent_stack.delete(abandon=True)
|
||||||
|
|
||||||
|
self.assertEqual(0, delete_nested.call_count)
|
||||||
|
|
||||||
@testtools.skipIf(six.PY3, "needs a separate change")
|
@testtools.skipIf(six.PY3, "needs a separate change")
|
||||||
def test_implementation_signature(self):
|
def test_implementation_signature(self):
|
||||||
self.parent_resource.child_template = mock.Mock(
|
self.parent_resource.child_template = mock.Mock(
|
||||||
|
Loading…
Reference in New Issue
Block a user