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 
