Merge "Handle post-delete hooks correctly"

This commit is contained in:
Jenkins 2017-06-29 03:23:45 +00:00 committed by Gerrit Code Review
commit 91561ead32
2 changed files with 6 additions and 5 deletions

View File

@ -2292,11 +2292,12 @@ class Resource(status.ResourceStatus):
signal. The base-class raise an exception if no handler is implemented.
"""
if need_check:
self._signal_check_action()
self._signal_check_hook(details)
if details and 'unset_hook' in details:
self._unset_hook(details)
return False
if need_check:
self._signal_check_action()
self._handle_signal(details)
return self.signal_needs_metadata_updates

View File

@ -3626,7 +3626,7 @@ class ResourceHookTest(common.HeatTestCase):
task.start()
task.step()
self.assertTrue(res.has_hook('pre-create'))
res.clear_hook('pre-create')
res.signal(details={'unset_hook': 'pre-create'})
task.run_to_completion()
self.assertEqual((res.CREATE, res.COMPLETE), res.state)
@ -3645,7 +3645,7 @@ class ResourceHookTest(common.HeatTestCase):
task.start()
task.step()
self.assertTrue(res.has_hook('pre-delete'))
res.clear_hook('pre-delete')
res.signal(details={'unset_hook': 'pre-delete'})
task.run_to_completion()
self.assertEqual((res.DELETE, res.COMPLETE), res.state)
@ -3662,7 +3662,7 @@ class ResourceHookTest(common.HeatTestCase):
task.start()
task.step()
self.assertTrue(res.has_hook('post-create'))
res.clear_hook('post-create')
res.signal(details={'unset_hook': 'post-create'})
task.run_to_completion()
self.assertEqual((res.CREATE, res.COMPLETE), res.state)
@ -3681,7 +3681,7 @@ class ResourceHookTest(common.HeatTestCase):
task.start()
task.step()
self.assertTrue(res.has_hook('post-delete'))
res.clear_hook('post-delete')
res.signal(details={'unset_hook': 'post-delete'})
task.run_to_completion()
self.assertEqual((res.DELETE, res.COMPLETE), res.state)