Hello, I am currently looking into https://bugs.launchpad.net/heat/+bug/1442121 and not quite sure how to tackle it, since the problematic code is used for lots of things[0]: the root cause of the problem are API clients in resource plugins that do not anticipate a resource with an entry in Heat's database having been deleted in the implementing service's database[1]. Here's an example:
https://github.com/openstack/heat/blob/e4dc942ce1a8c79b450345c7afae326c80d8a5d6/heat/engine/resources/openstack/neutron/floatingip.py#L179 If that happens[1] an uncaught exception will be thrown that among other things breaks the very operations one would need for cleaning up the mess. As far as I can see it, the cleanest way would be to go through all resources with a fine comb and add exception handling to the API calls in the add_dependencies() method where it is missing (just return False for any resource that no longer exists). Or is there a better way? Cheers, Johannes Footnotes: [0] Whenever a stack's resources are being listed using heat.engine.service.list_stack_resources(). resource-list and stack-delete, all invoke list_stack_resources()). stack-abandon does so indirectly (it appears to trigger stack-delete judging by the log, but it yields the desired output, at least in Liberty). These are just the ones I tested, there are probably more. [1] It can happen for a number of reasons, either due to resource dependency problems upon stack-delete as it happened in the original bug report or due to an operator accidently deleting resources that are managed by Heat. -- Johannes Grassler, Cloud Developer SUSE Linux GmbH, HRB 21284 (AG Nürnberg) GF: Felix Imendörffer, Jane Smithard, Graham Norton Maxfeldstr. 5, 90409 Nürnberg, Germany __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev