Fix logging during delete stack

*Wrap resource.Resource.destroy


Change-Id: I9295870c95fe0cbd95107cb41d387a8da98287ec
Closes-Bug: #1339759
This commit is contained in:
Limor Stotland 2015-04-26 15:45:07 +00:00
parent d7cadf02c9
commit 2213bd0d90
2 changed files with 24 additions and 1 deletions

View File

@ -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())

View File

@ -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):