Fix logging during delete stack
*Wrap resource.Resource.destroy Change-Id: I9295870c95fe0cbd95107cb41d387a8da98287ec Closes-Bug: #1339759
This commit is contained in:
parent
d7cadf02c9
commit
2213bd0d90
@ -1175,8 +1175,12 @@ class Stack(collections.Mapping):
|
||||
e.args[0] if e.args else
|
||||
'Failed stack pre-ops: %s' % six.text_type(e))
|
||||
return
|
||||
|
||||
def destroy_resource(stack_resource):
|
||||
return stack_resource.destroy()
|
||||
|
||||
action_task = scheduler.DependencyTaskGroup(self.dependencies,
|
||||
resource.Resource.destroy,
|
||||
destroy_resource,
|
||||
reverse=True)
|
||||
try:
|
||||
scheduler.TaskRunner(action_task)(timeout=self.timeout_secs())
|
||||
|
@ -12,6 +12,8 @@
|
||||
# under the License.
|
||||
|
||||
import copy
|
||||
import fixtures
|
||||
import logging
|
||||
import time
|
||||
|
||||
from keystoneclient import exceptions as kc_exceptions
|
||||
@ -421,6 +423,23 @@ class StackTest(common.HeatTestCase):
|
||||
self.assertEqual('Resource DELETE failed: Exception: foo',
|
||||
self.stack.status_reason)
|
||||
|
||||
def test_delete_stack_with_resource_log_is_clear(self):
|
||||
debug_logger = self.useFixture(
|
||||
fixtures.FakeLogger(level=logging.DEBUG,
|
||||
format="%(levelname)8s [%(name)s] %("
|
||||
"message)s"))
|
||||
tmpl = {'HeatTemplateFormatVersion': '2012-12-12',
|
||||
'Resources': {'AResource': {'Type': 'GenericResourceType'}}}
|
||||
self.stack = stack.Stack(self.ctx, 'delete_log_test',
|
||||
template.Template(tmpl))
|
||||
self.stack.store()
|
||||
self.stack.create()
|
||||
self.assertEqual((self.stack.CREATE, self.stack.COMPLETE),
|
||||
self.stack.state)
|
||||
self.stack.delete()
|
||||
self.assertNotIn("destroy from None running",
|
||||
debug_logger.output)
|
||||
|
||||
def test_stack_user_project_id_delete_fail(self):
|
||||
|
||||
class FakeKeystoneClientFail(fakes.FakeKeystoneClient):
|
||||
|
Loading…
Reference in New Issue
Block a user