Merge "Cleanup snapshot records when stack deletion"
This commit is contained in:
commit
3c78c0303e
@ -1078,6 +1078,7 @@ class Stack(collections.Mapping):
|
||||
self.id)
|
||||
for snapshot in snapshots:
|
||||
self.delete_snapshot(snapshot)
|
||||
snapshot_object.Snapshot.delete(self.context, snapshot.id)
|
||||
|
||||
if not backup:
|
||||
try:
|
||||
|
@ -25,6 +25,7 @@ from heat.engine import resource
|
||||
from heat.engine import scheduler
|
||||
from heat.engine import stack
|
||||
from heat.engine import template
|
||||
from heat.objects import snapshot as snapshot_object
|
||||
from heat.objects import stack as stack_object
|
||||
from heat.objects import user_creds as ucreds_object
|
||||
from heat.tests import common
|
||||
@ -60,6 +61,29 @@ class StackTest(common.HeatTestCase):
|
||||
self.assertEqual((stack.Stack.DELETE, stack.Stack.COMPLETE),
|
||||
self.stack.state)
|
||||
|
||||
def test_delete_with_snapshot(self):
|
||||
self.stack = stack.Stack(self.ctx, 'delete_test', self.tmpl)
|
||||
stack_id = self.stack.store()
|
||||
snapshot_fake = {
|
||||
'tenant': self.ctx.tenant_id,
|
||||
'name': 'Snapshot',
|
||||
'stack_id': stack_id,
|
||||
'status': 'COMPLETE',
|
||||
'data': self.stack.prepare_abandon()
|
||||
}
|
||||
snapshot_object.Snapshot.create(self.ctx, snapshot_fake)
|
||||
|
||||
self.assertIsNotNone(snapshot_object.Snapshot.get_all(
|
||||
self.ctx, stack_id))
|
||||
|
||||
self.stack.delete()
|
||||
db_s = stack_object.Stack.get_by_id(self.ctx, stack_id)
|
||||
self.assertIsNone(db_s)
|
||||
self.assertEqual((stack.Stack.DELETE, stack.Stack.COMPLETE),
|
||||
self.stack.state)
|
||||
self.assertEqual([], snapshot_object.Snapshot.get_all(
|
||||
self.ctx, stack_id))
|
||||
|
||||
def test_delete_user_creds(self):
|
||||
self.stack = stack.Stack(self.ctx, 'delete_test', self.tmpl)
|
||||
stack_id = self.stack.store()
|
||||
|
Loading…
x
Reference in New Issue
Block a user