Add Support to include Alarm level as part of notifications

Include the URL of your launchpad blueprint:

https://blueprints.launchpad.net/ceilometer/+spec/ceilometer-alarm-level

The goal of this blueprint is to expose an alarm priority field that can be used to set the alarm importance level.

Problem description

A detailed description of the problem:

  • Alarms in ceilometer have no way to identify the criticality of an alarm. All we know today is if alarm has been triggered or insufficient data. This might be ok in general.

  • But from auditing point of view, cloud administrators would like to know if an alarm is triggered and if so how critical is it. A hardware failure would be a critical alarm vs an occasional spike in cpu level could be medium or low. Differentiating this level would be very useful for audit.

Proposed change

Expose a new field called alarm_priority as part of the alarm base object. This will be exposed via the alarm notifications so the alarms can be filtered by priority.

Alternatives

None

Data model impact

Need to update the Alarm model to include a new field called priority

REST API impact

We will probably want to expose requests to get alarms by priority.

Security impact

None

Pipeline impact

None

Other end user impact

None

Performance/Scalability Impacts

None

Other deployer impact

None

Developer impact

None

Implementation

Assignee(s)

Primary assignee:

pkilambi

Ongoing maintainer:

pkilambi

Work Items

The specific work items include:

  • Update the model layer to include the necessary fields

  • Update the notifier module to expose the priority field

  • Update the rpc and service modules under alarm

  • Add support for alarm level in the python-ceilometerclient

  • Update unit tests.

Future lifecycle

None

Dependencies

None

Testing

Unit and integration Tests will be added/updated to cover the necessary scenarios for alarms

Documentation Impact

We might need to update the example json in alarm api docs.

References

Initial implementation is here https://review.openstack.org/#/c/142849/