create stack with two resources
$ heat stack-create stuck -f stuck2.yaml
update stack updating first resource and deleting the second
$ heat stack-update stuck -f stuck1.yaml
stack is hanging in UPDATE_IN_PROGRESS by design. Try to delete the stack:
$ heat stack-delete stuck
now the stack is stuck in DELETE_IN_PROGRESS, and there is nothing that could be done with it.
heat-engine log has the following traceback:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 455, in fire_timers
timer()
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/timer.py", line 58, in __call__
cb(*args, **kw)
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 212, in main
result = function(*args, **kwargs)
File "/opt/stack/heat/heat/engine/service.py", line 113, in _start_with_trace
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 105, in wrapper
return f(*args, **kwargs)
File "/opt/stack/heat/heat/engine/stack.py", line 972, in delete
self._delete_backup_stack(backup_stack)
File "/opt/stack/heat/heat/engine/stack.py", line 851, in _delete_backup_stack
curr_res = self.resources[key]
KeyError: u'second'
I think I have a "minimal" reproducer.
For that I use custom resource plugin that takes forever to update: /github. com/pshchelo/ stackdev/ tree/9525f896cd 93cf3a0b0ae6f13 21245fed7201eba /heat_plugins/ stuck
https:/
and register it with Heat. The I use these templates: /github. com/pshchelo/ stackdev/ tree/9525f896cd 93cf3a0b0ae6f13 21245fed7201eba /templates/ stuck
https:/
create stack with two resources
$ heat stack-create stuck -f stuck2.yaml
update stack updating first resource and deleting the second
$ heat stack-update stuck -f stuck1.yaml
stack is hanging in UPDATE_IN_PROGRESS by design. Try to delete the stack:
$ heat stack-delete stuck
now the stack is stuck in DELETE_IN_PROGRESS, and there is nothing that could be done with it.
heat-engine log has the following traceback:
Traceback (most recent call last): lib/python2. 7/dist- packages/ eventlet/ hubs/hub. py", line 455, in fire_timers lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 58, in __call__ lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 212, in main heat/heat/ engine/ service. py", line 113, in _start_with_trace lib/python2. 7/dist- packages/ osprofiler/ profiler. py", line 105, in wrapper heat/heat/ engine/ stack.py" , line 972, in delete _delete_ backup_ stack(backup_ stack) heat/heat/ engine/ stack.py" , line 851, in _delete_ backup_ stack
File "/usr/local/
timer()
File "/usr/local/
cb(*args, **kw)
File "/usr/local/
result = function(*args, **kwargs)
File "/opt/stack/
return func(*args, **kwargs)
File "/usr/local/
return f(*args, **kwargs)
File "/opt/stack/
self.
File "/opt/stack/
curr_res = self.resources[key]
KeyError: u'second'