Merge "Make RPC call to abandon nested stack"
This commit is contained in:
commit
525115cb27
@ -54,6 +54,7 @@ class StackResource(resource.Resource):
|
||||
|
||||
def __init__(self, name, json_snippet, stack):
|
||||
super(StackResource, self).__init__(name, json_snippet, stack)
|
||||
self.nested_abandon_in_progress = False
|
||||
self._nested = None
|
||||
self.resource_info = None
|
||||
|
||||
@ -455,7 +456,10 @@ class StackResource(resource.Resource):
|
||||
stack_identity = dict(stack.identifier())
|
||||
|
||||
try:
|
||||
self.rpc_client().delete_stack(self.context, stack_identity)
|
||||
if self.nested_abandon_in_progress:
|
||||
self.rpc_client().abandon_stack(self.context, stack_identity)
|
||||
else:
|
||||
self.rpc_client().delete_stack(self.context, stack_identity)
|
||||
except Exception as ex:
|
||||
self.rpc_client().ignore_error_named(ex, 'NotFound')
|
||||
|
||||
@ -509,6 +513,7 @@ class StackResource(resource.Resource):
|
||||
return self._check_status_complete(self.CHECK)
|
||||
|
||||
def prepare_abandon(self):
|
||||
self.nested_abandon_in_progress = True
|
||||
nested_stack = self.nested()
|
||||
if nested_stack:
|
||||
return self.nested().prepare_abandon()
|
||||
|
@ -200,6 +200,18 @@ class StackResourceTest(StackResourceBaseTest):
|
||||
ret = self.parent_resource.prepare_abandon()
|
||||
self.assertEqual({}, ret)
|
||||
|
||||
def test_abandon_nested_sends_rpc_abandon(self):
|
||||
rpcc = mock.Mock()
|
||||
self.parent_resource.rpc_client = rpcc
|
||||
self.parent_resource.nested = mock.MagicMock()
|
||||
|
||||
self.parent_resource.prepare_abandon()
|
||||
self.parent_resource.delete_nested()
|
||||
|
||||
rpcc.return_value.abandon_stack.assert_called_once_with(
|
||||
self.parent_resource.context, mock.ANY)
|
||||
rpcc.return_value.delete_stack.assert_not_called()
|
||||
|
||||
def test_propagated_files(self):
|
||||
"""Test passing of the files map in the top level to the child.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user