When starting AutoScalingMultiAZSample.template, all looks OK until the alarm transitions from NODATA->NORMAL state, then this happens (repeatedly):
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/eventlet-0.12.1-py2.7.egg/eventlet/hubs/hub.py", line 346, in fire_timers
timer()
File "/usr/lib/python2.7/site-packages/eventlet-0.12.1-py2.7.egg/eventlet/hubs/timer.py", line 56, in __call__
cb(*args, **kw)
File "/usr/lib/python2.7/site-packages/eventlet-0.12.1-py2.7.egg/eventlet/greenthread.py", line 194, in main
result = function(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/heat/engine/service.py", line 569, in run_alarm_action
stk = parser.Stack.load(admin_context, stack=stack)
File "/usr/lib/python2.7/site-packages/heat/engine/parser.py", line 140, in load
stack.timeout, resolve_data, stack.disable_rollback)
File "/usr/lib/python2.7/site-packages/heat/engine/parser.py", line 100, in __init__
for (name, data) in template_resources.items())
File "/usr/lib/python2.7/site-packages/heat/engine/parser.py", line 100, in <genexpr>
for (name, data) in template_resources.items())
File "/usr/lib/python2.7/site-packages/heat/engine/resource.py", line 154, in __new__
return ResourceClass(name, json, stack)
File "/usr/lib/python2.7/site-packages/heat/engine/resource.py", line 164, in __init__
self.t = stack.resolve_static_data(json_snippet)
File "/usr/lib/python2.7/site-packages/heat/engine/parser.py", line 525, in resolve_static_data
return resolve_static_data(self.t, self, self.parameters, snippet)
File "/usr/lib/python2.7/site-packages/heat/engine/parser.py", line 550, in resolve_static_data
template.reduce_joins])
File "/usr/lib/python2.7/site-packages/heat/engine/parser.py", line 572, in transform
data = t(data)
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 120, in resolve_availability_zones
return _resolve(match_get_az, handle_get_az, s)
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 381, in _resolve
return dict((k, recurse(v)) for k, v in snippet.items())
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 381, in <genexpr>
return dict((k, recurse(v)) for k, v in snippet.items())
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 374, in <lambda>
recurse = lambda s: _resolve(match, handle, s)
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 381, in _resolve
return dict((k, recurse(v)) for k, v in snippet.items())
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 381, in <genexpr>
return dict((k, recurse(v)) for k, v in snippet.items())
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 374, in <lambda>
recurse = lambda s: _resolve(match, handle, s)
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 380, in _resolve
return handle(recurse(v))
File "/usr/lib/python2.7/site-packages/heat/engine/template.py", line 118, in handle_get_az
return stack.get_availability_zones()
File "/usr/lib/python2.7/site-packages/heat/engine/parser.py", line 521, in get_availability_zones
self.clients.nova().availability_zones.list(detailed=False)]
AttributeError: 'NoneType' object has no attribute 'availability_zones'
Fix proposed to branch: master /review. openstack. org/35292
Review: https:/