<div dir="ltr"><font face="arial, helvetica, sans-serif">As I see on <a href="http://docs.openstack.org/developer/heat/template_guide/openstack.html">http://docs.openstack.org/developer/heat/template_guide/openstack.html</a>, there is type <span style="color:rgb(85,85,85);line-height:1.2em">OS::Ceilometer::Alarm, not  </span>OS::Metering::Alarm... Maybe it's somehow connected with your problem?</font><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Dec 17, 2013 at 12:59 PM, Sebastian Porombka <span dir="ltr"><<a href="mailto:porombka@uni-paderborn.de" target="_blank">porombka@uni-paderborn.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div style="word-wrap:break-word">
<div style="font-size:14px;font-family:Calibri,sans-serif">Hi Folks.</div>
<div style="font-size:14px;font-family:Calibri,sans-serif"><br>
</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">I’m currently trying to understand the openstack mechanics in detail (e.g. to fix various ec2 api shortcomings) and reached heat. I tried to add heat to our on-premise installation and failed to
 try the ‚AutoScalingCeilometer.yaml‘ demo template. Heat-api throwed a </div>
<div style="font-size:14px;font-family:Calibri,sans-serif"><br>
</div>
<div>
<p style="font-size:11px;font-family:Menlo;margin:0px">==> /var/log/upstart/heat-api.log <==</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 ERROR root [-] Unexpected error occurred serving API: Unknown resource Type : OS::Metering::Alarm</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root Traceback (most recent call last):</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/common/wsgi.py", line 661, in __call__</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     request, **action_args)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/common/wsgi.py", line 729, in dispatch</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     return method(*args, **kwargs)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/api/openstack/v1/util.py", line 30, in handle_stack_method</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     return handler(controller, req, **kwargs)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/api/openstack/v1/stacks.py", line 314, in validate_template</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     data.template())</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/rpc/client.py", line 121, in validate_template</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     template=template))</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/proxy.py", line 126, in call</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     result = rpc.call(context, real_topic, msg, timeout)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/__init__.py", line 141, in call</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     return _get_impl().call(CONF, context, topic, msg, timeout)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/impl_kombu.py", line 816, in call</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     rpc_amqp.get_connection_pool(conf, Connection))</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/amqp.py", line 574, in call</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     rv = list(rv)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/amqp.py", line 539, in __iter__</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     raise result</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root StackValidationFailed_Remote: Unknown resource Type : OS::Metering::Alarm</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root Traceback (most recent call last):</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/amqp.py", line 461, in _process_data</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     **args)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/dispatcher.py", line 172, in dispatch</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     result = getattr(proxyobj, method)(ctxt, **kwargs)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/engine/service.py", line 60, in wrapped</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     return func(self, ctx, *args, **kwargs)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/engine/service.py", line 364, in validate_template</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     ResourceClass = resource.get_class(res['Type'])</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/engine/resource.py", line 45, in get_class</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     return resources.global_env().get_class(resource_type, resource_name)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/engine/environment.py", line 326, in get_class</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     return self.registry.get_class(resource_type, resource_name)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root   File "/usr/lib/python2.7/dist-packages/heat/engine/environment.py", line 257, in get_class</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root     raise exception.StackValidationFailed(message=msg)</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root StackValidationFailed: Unknown resource Type : OS::Metering::Alarm</p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.268 3341 TRACE root </p>
<p style="font-size:11px;font-family:Menlo;margin:0px">2013-12-17 09:51:30.269 3341 DEBUG root [-] JSON response : {"explanation": "The server could not comply with the request since it is either malformed or otherwise incorrect.", "code": 400, "error":
 {"message": "Unknown resource Type : OS::Metering::Alarm", "traceback": "Traceback (most recent call last):\n\n  File \"/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/amqp.py\", line 461, in _process_data\n    **args)\n\n  File \"/usr/lib/python2.7/dist-packages/heat/openstack/common/rpc/dispatcher.py\",
 line 172, in dispatch\n    result = getattr(proxyobj, method)(ctxt, **kwargs)\n\n  File \"/usr/lib/python2.7/dist-packages/heat/engine/service.py\", line 60, in wrapped\n    return func(self, ctx, *args, **kwargs)\n\n  File \"/usr/lib/python2.7/dist-packages/heat/engine/service.py\",
 line 364, in validate_template\n    ResourceClass = resource.get_class(res['Type'])\n\n  File \"/usr/lib/python2.7/dist-packages/heat/engine/resource.py\", line 45, in get_class\n    return resources.global_env().get_class(resource_type, resource_name)\n\n 
 File \"/usr/lib/python2.7/dist-packages/heat/engine/environment.py\", line 326, in get_class\n    return self.registry.get_class(resource_type, resource_name)\n\n  File \"/usr/lib/python2.7/dist-packages/heat/engine/environment.py\", line 257, in get_class\n 
   raise exception.StackValidationFailed(message=msg)\n\nStackValidationFailed: Unknown resource Type : OS::Metering::Alarm\n", "type": "StackValidationFailed"}, "title": "Bad Request"} to_json /usr/lib/python2.7/dist-packages/heat/common/wsgi.py:562</p>

<p style="margin:0px"><br>
</p>
<p style="margin:0px">Execption. I compared the on premise installation to my local devstack vm (where the template is accepted) and are unable to find the big difference in configuration. Where is the correct point to debug this thing? I also found no documentation
 which helps in this situation. :(</p>
<p style="margin:0px"><br>
</p>
<p style="margin:0px">And I also have to present recent things around openstack on our university tomorrow – for which I would be happy to get this (rudimentarily) working. :)</p>
<p style="margin:0px"><br>
</p>
<p style="margin:0px">Thanks.</p>
<p style="margin:0px">   Sebastian</p>
</div>
<div><br>
</div>
<div>
<div>--</div>
<div>Sebastian Porombka, M.Sc. </div>
<div>Zentrum für Informations- und Medientech<font face="Calibri,sans-serif" style="font-size:14px">nologien (IMT)</font></div>
<div style="font-size:14px;font-family:Calibri,sans-serif">Universität Paderborn</div>
<div style="font-size:14px;font-family:Calibri,sans-serif"><br>
</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">E-Mail: <a href="mailto:porombka@uni-paderborn.de" target="_blank">porombka@uni-paderborn.de</a></div>
<div style="font-size:14px;font-family:Calibri,sans-serif">Tel.: 05251/60-5999</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">Fax: 05251/60-48-5999</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">Raum: N5.314 </div>
<div style="font-size:14px;font-family:Calibri,sans-serif"><br>
</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">--------------------------------------------</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">Q: Why is this email five sentences or less?</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">A: <a href="http://five.sentenc.es" target="_blank">http://five.sentenc.es</a></div>
<div style="font-size:14px;font-family:Calibri,sans-serif"><br>
</div>
<div style="font-size:14px;font-family:Calibri,sans-serif">Please consider the environment before printing this email.</div>
</div>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><p style="font-size:small;margin:0px;font-family:Helvetica">
Best regards,</p><p style="font-size:small;margin:0px;font-family:Helvetica">Dina Belova</p><p style="font-size:small;margin:0px;font-family:Helvetica">Software Engineer</p><p style="font-size:small;margin:0px;font-family:Helvetica">
Mirantis Inc.</p></div></div>
</div></div>