Aodh Charm

Aodh (alarms and notifications based on metrics) was split from Ceilometer during the Liberty cycle and equivalent function was removed from Ceilometer during the Mitaka cycle.

We need to charm Aodh to allow OpenStack Operators to deploy and use alarming and notification services as part of an OpenStack cloud.

Problem Description

Aodh provides a method generating alarms and notifications based on metrics.

Proposed Change

The new Aodh charm should include, as a minimum, the following features:

  • Deployable in a highly available configuration

  • Allow clients and services to interact using SSL encryption

  • Charm progress displayed via workload status

Alternatives

Manually review metrics and trigger alarms.

Implementation

Assignee(s)

Primary assignee:

jamespage

Gerrit Topic

Use Gerrit topic “aodh” for all patches related to this spec.

git-review -t aodh

Work Items

Provide Aodh charm

  • Create skeleton charm layer based on OpenStack base layer and available interface layers to deploy Aodh.

  • Add support for upgrading Aodh

  • Add config option and accompanying support for upgrades via action-managed-upgrade.

  • Add support for deploying Aodh in a highly available configuration

  • Add support for the Aodh to display workload status

  • Add support SSL endpoints

  • Charm should have unit and functional tests.

Mojo specification deploying and testing Aodh

  • Write Mojo spec for deploying Mojo in an HA configuration and testing automatic and manual creation of DNS records.

Repositories

A new git repository will be required for the Aodh charm:

https://git.openstack.org/openstack/charm-aodh

Documentation

The Aodh charm should contain a README with instructions on deploying the charm. A blog post is optional but would be a useful addition.

Security

No additional security concerns.

Testing

Code changes will be covered by unit tests; functional testing will be done using a combination of Amulet, Bundle tester and Mojo specification.

Dependencies

  • Provide mongodb interface

  • Provide hacluster interface layer

  • Provide nrpe-external-master interface layer

  • Provide OpenStack base layer with all common hook code that is not already covered by an interface layer.

  • Provide OpenStack base layer with support for HA deployments

  • Provide OpenStack base layer with support for SSL communication

  • Provide OpenStack base layer with support for workload status