Move to ceilometer as CloudWatch metric/alarm back-end

Registered by Steven Hardy

Move to using ceilometer as the metric/alarm back-end for our Cloudwatch resources - this will require several in-progress new features in ceilometer, and rework in heat to make our current metric logic pluggable so it can be optionally replaced by ceilometer. This blueprint will be used to track which ceilometer features we require to proceed with this work, and to capture any design discussions around the heat-side work which is required.

Blueprint information

Status:
Complete
Approver:
Steven Hardy
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
Angus Salkeld
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
Angus Salkeld
Completed by
Angus Salkeld

Related branches

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/watch-ceilometer,n,z

Addressed by: https://review.openstack.org/34190
    WIP *** Add Ceilometer Alarm resource

Addressed by: https://review.openstack.org/35744
    Add an API for passing a signal through to a resource

Addressed by: https://review.openstack.org/35745
    Make the current alarms use the signal action

Addressed by: https://review.openstack.org/35746
    Teach ScalingPolicy and Restarter to create signed urls

Addressed by: https://review.openstack.org/35747
    Add a Ceilometer alarm resource

Addressed by: https://review.openstack.org/35790
    Stop patching the GenericResource's property_schema

Addressed by: https://review.openstack.org/37360
    Only create the period watch task if there is a watch in the stack

Addressed by: https://review.openstack.org/37359
    Wrap the watch rule start in a method

Addressed by: https://review.openstack.org/38238
    Use new style classes

Addressed by: https://review.openstack.org/39464
    Allow the Ceilometer Alarm to be used with cfn-push-stats

Addressed by: https://review.openstack.org/39254
    Add the AutoScalingGroupName to the server Tags

Addressed by: https://review.openstack.org/39421
    Move the random_name() function from loadbalancer to utils

Addressed by: https://review.openstack.org/39422
    Don't use a static uuid for the stack_id in ceilometer_alarm

(?)

Work Items

Work items:
Ceilometer post api https://review.openstack.org/#/c/26367/ : DONE
Ceilometer user auth https://review.openstack.org/#/c/26185/ : DONE
Ceilometer alarm API https://review.openstack.org/#/c/27691/ : DONE
Ceilometer alarm db : DONE
Ceilometer alarmer : DONE
Heat add a new OS::Ceilometer::Alarm : DONE
Heat add a controller for the alarm state change webhooks : DONE
Heat once we are happy with that move the AWS Alarm over to Ceilometer : INPROGRESS

Dependency tree

* Blueprints in grey have been implemented.