alarm creation fails with string vs. int mismatch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Undecided
|
Peter Razumovsky |
Bug Description
If your template has an OS::Ceilometer:
2014-10-11 19:24:51.397 21530 DEBUG urllib3.
2014-10-11 19:24:51.397 21530 DEBUG ceilometerclien
2014-10-11 19:24:51.398 21530 INFO heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
2014-10-11 19:24:51.398 21530 TRACE heat.engine.
Over in the Ceilometer API log, I found this:
2014-10-11 19:24:51.395 15822 WARNING wsme.api [-] Client-side error: Invalid input for field/attribute value. Value: '80'. Wrong type. Expected '<type 'unicode'>', got '<type 'int'>'
172.18.76.6 - - [11/Oct/2014 19:24:51] "POST /v2/alarms HTTP/1.1" 400 193
Here is the relevant resource snippet:
gone_alarm:
type: OS::Ceilometer:
properties:
description: Detect server being unresponsive
meter_name: network.
statistic: avg
period: 70
evaluatio
threshold: 1
alarm_
matching_
address: {get_attr: [server, first_address]}
compariso
depends_on: server
.. and yes, the protocol_port parameter is declared to be a number:
protocol_port:
type: number
description: port number where server listens
default: 80
Changed in heat: | |
assignee: | nobody → Sergey Kraynev (skraynev) |
Changed in heat: | |
assignee: | Sergey Kraynev (skraynev) → Razumovsky Peter (prazumovsky) |
Changed in heat: | |
status: | New → In Progress |
Changed in heat: | |
milestone: | none → kilo-1 |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | kilo-1 → 2015.1.0 |
Note also the work on https:/ /review. openstack. org/#/c/ 127821/ --- which will probably be touching some of the same code.