Merge "Convergence: Avoid sync point delete for stack CREATE"
This commit is contained in:
commit
536f87b957
|
@ -1040,12 +1040,14 @@ class Stack(collections.Mapping):
|
|||
|
||||
self.store()
|
||||
|
||||
# delete the prev traversal sync_points
|
||||
if previous_traversal:
|
||||
sync_point.delete_all(self.context, self.id, previous_traversal)
|
||||
|
||||
# TODO(later): lifecycle_plugin_utils.do_pre_ops
|
||||
self.state_set(action, self.IN_PROGRESS,
|
||||
'Stack %s started' % action)
|
||||
|
||||
# delete the prev traversal sync_points
|
||||
sync_point.delete_all(self.context, self.id, previous_traversal)
|
||||
self._converge_create_or_update()
|
||||
|
||||
def _converge_create_or_update(self):
|
||||
|
|
|
@ -461,6 +461,31 @@ class StackConvergenceCreateUpdateDeleteTest(common.HeatTestCase):
|
|||
self.assertIsNotNone(stack.updated_time)
|
||||
self.assertTrue(mock_ccu.called)
|
||||
|
||||
@mock.patch.object(parser.Stack, '_converge_create_or_update')
|
||||
@mock.patch.object(sync_point_object.SyncPoint,
|
||||
'delete_all_by_stack_and_traversal')
|
||||
def test_sync_point_delete_stack_create(self, mock_syncpoint_del,
|
||||
mock_ccu, mock_cr):
|
||||
stack = parser.Stack(utils.dummy_context(), 'convg_updated_time_test',
|
||||
templatem.Template.create_empty_template())
|
||||
stack.converge_stack(template=stack.t, action=stack.CREATE)
|
||||
self.assertFalse(mock_syncpoint_del.called)
|
||||
self.assertTrue(mock_ccu.called)
|
||||
|
||||
@mock.patch.object(parser.Stack, '_converge_create_or_update')
|
||||
@mock.patch.object(sync_point_object.SyncPoint,
|
||||
'delete_all_by_stack_and_traversal')
|
||||
def test_sync_point_delete_stack_update(self, mock_syncpoint_del,
|
||||
mock_ccu, mock_cr):
|
||||
tmpl = {'HeatTemplateFormatVersion': '2012-12-12',
|
||||
'Resources': {'R1': {'Type': 'GenericResourceType'}}}
|
||||
stack = parser.Stack(utils.dummy_context(), 'updated_time_test',
|
||||
templatem.Template(tmpl))
|
||||
stack.current_traversal = 'prev_traversal'
|
||||
stack.converge_stack(template=stack.t, action=stack.UPDATE)
|
||||
self.assertTrue(mock_syncpoint_del.called)
|
||||
self.assertTrue(mock_ccu.called)
|
||||
|
||||
|
||||
class TestConvgStackRollback(common.HeatTestCase):
|
||||
|
||||
|
|
Loading…
Reference in New Issue