Home OpenStack-Ansible Installation Guide

Configuring the Aodh service (optional)

The Telemetry (ceilometer) alarming services perform the following functions:

  • Creates an API endpoint for controlling alarms.
  • Allows you to set alarms based on threshold evaluation for a collection of samples.

Aodh on OpenStack-Ansible requires a configured MongoDB backend prior to running the Aodh playbooks. To specify the connection data, edit the user_variables.yml file (see section Configuring the user data below).

Setting up a MongoDB database for Aodh

  1. Install the MongoDB package:
# apt-get install mongodb-server mongodb-clients python-pymongo
  1. Edit the /etc/mongodb.conf file and change bind_ip to the management interface of the node running Aodh:
bind_ip = 10.0.0.11
  1. Edit the /etc/mongodb.conf file and enable smallfiles:
smallfiles = true
  1. Restart the MongoDB service:
# service mongodb restart
  1. Create the Aodh database:
# mongo --host controller --eval 'db = db.getSiblingDB("aodh"); db.addUser({user: "aodh", pwd: "AODH_DBPASS", roles: [ "readWrite", "dbAdmin" ]});'

This returns:

MongoDB shell version: 2.4.x
connecting to: controller:27017/test
{
  "user" : "aodh",
  "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f",
  "roles" : [
   "readWrite",
   "dbAdmin"
  ],
  "_id" : ObjectId("5489c22270d7fad1ba631dc3")
}

Note

Ensure AODH_DBPASS matches the aodh_container_db_password in the /etc/openstack_deploy/user_secrets.yml file. This allows Ansible to configure the connection string within the Aodh configuration files.

Configuring the hosts

Configure Aodh by specifying the metering-alarm_hosts directive in the /etc/openstack_deploy/conf.d/aodh.yml file. The following shows the example included in the etc/openstack_deploy/conf.d/aodh.yml.example file:

# The infra nodes that the Aodh services run on.
metering-alarm_hosts:
  infra1:
    ip: 172.20.236.111
  infra2:
    ip: 172.20.236.112
  infra3:
    ip: 172.20.236.113

The metering-alarm_hosts provides several services:

  • An API server (aodh-api): Runs on one or more central management servers to provide access to the alarm information in the data store.
  • An alarm evaluator (aodh-evaluator): Runs on one or more central management servers to determine alarm fire due to the associated statistic trend crossing a threshold over a sliding time window.
  • A notification listener (aodh-listener): Runs on a central management server and fire alarms based on defined rules against event captured by ceilometer’s module’s notification agents.
  • An alarm notifier (aodh-notifier). Runs on one or more central management servers to allow the setting of alarms to base on the threshold evaluation for a collection of samples.

These services communicate by using the OpenStack messaging bus. Only the API server has access to the data store.

Configuring the user data

Specify the following considerations in /etc/openstack_deploy/user_variables.yml:

  • The type of database backend Aodh uses. Currently, only MongoDB is supported: aodh_db_type: mongodb
  • The IP address of the MonogoDB host: aodh_db_ip: localhost
  • The port of the MongoDB service: aodh_db_port: 27017

Run the os-aodh-install.yml playbook. If deploying a new OpenStack (instead of only Aodh), run setup-openstack.yml. The Aodh playbooks run as part of this playbook.