Support aodh composite alarm in heat¶
https://blueprints.launchpad.net/heat/+spec/add-aodh-composite-alarm
Adds resource plugin for Aodh composite alarm.
Problem description¶
The combination type alarm has been deprecated in aodh, because some issues which are hard to solved. And we have deprecated OS::Aodh::CombinationAlarm synchronously, see:
https://blueprints.launchpad.net/heat/+spec/migrate-to-use-aodh-for-alarms
It’s recommended to use composite rule alarm which is similar with the combination alarm in functionality.
Proposed change¶
Add the following resource under resources/openstack/aodh/
OS::Aodh::CompositeAlarm
- description
Description of the alarm. - optional - type: String - update_allowed
- severity
Severity of the alarm. - optional - type: Integer - update_allowed - constraints: one of [‘low’, ‘moderate’, ‘critical’] - default: low
- enabled
True if alarm evaluation is enabled. - optional - type: Boolean - update_allowed - default: True
- alarm_actions
A list of URLs (webhooks) to invoke when state transitions to alarm. - optional - type: List - update_allowed
- ok_actions
A list of URLs (webhooks) to invoke when state transitions to ok. - optional - type: List - update_allowed
- insufficient_data_actions
A list of URLs (webhooks) to invoke when state transitions to insufficient-data. - optional - type: List - update_allowed
- repeat_actions
True if actions should be repeatedly notified while alarm remains in target state. - optional - type: Boolean - update_allowed - default: True
- time_constraints
Describe time constraints for the alarm. - optional - type: List
- composite_rule
Composite threshold rule with JSON format. - required - type: Map - update_allowed - schema: {‘operator’: ‘or’/’and’, ‘rules’: [rule1, rule2…]}
The following is an example of composite alarm:
Resources:
my_composite_alarm:
type: OS::Aodh::CompositeAlarm
properties:
composite_rule:
operator: or
rules:
- type: threshold
meter_name: cpu_util
evaluation_periods: 1
period: 60
statistic: avg
threshold: 0.8
comparison_operator: ge
exclude_outliers: false
- and:
- type: threshold
meter_name: disk.usage
evaluation_periods: 1
period: 60
statistic: avg
threshold: 0.8
comparison_operator: ge
exclude_outliers: false
- type: threshold
meter_name: mem_util
evaluation_periods: 1
period: 60
statistic: avg
threshold: 0.8
comparison_operator: ge
exclude_outliers: false
description: a composite alarm
...... (other properties)
Alternatives¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
Milestones¶
- Target Milestone for completion:
ocata-1
Work Items¶
Add OS::Aodh::CompositeAlarm resource
Add related tests
Add sample template using OS::Aodh::CompositeAlarm in heat-templates
Dependencies¶
None