Ubuntu 18.04
Sponsored Link

OpenStack Rocky : Configure Aodh
2018/09/19
 
Install OpenStack Alarming Service (Aodh).
This example is based on the emvironment like follows.
Gnocchi package of Ubuntu OpenStack uses WSGI with Python3, but other OpenStack components like Keystone or Aodh uses WSGI with Python2, so their WSGI package conflicts and cannot install them all on a Node.
------------+---------------------------+---------------------------+------------
            |                           |                           |
        eth0|10.0.0.30              eth0|10.0.0.50              eth0|10.0.0.51
+-----------+-----------+   +-----------+-----------+   +-----------+-----------+
|    [ Control Node ]   |   |    [ Network Node ]   |   |    [ Compute Node ]   |
|                       |   |                       |   |                       |
|  MariaDB    RabbitMQ  |   |      Linux Bridge     |   |        Libvirt        |
|  Memcached  httpd     |   |        L2 Agent       |   |     Nova Compute      |
|  Keystone   Glance    |   |        L3 Agent       |   |      Linux Bridge     |
|  Nova API  Cinder API |   |     Metadata Agent    |   |        L2 Agent       |
|  Neutron Server       |   |     Cinder Volume     |   |   Ceilometer Compute  |
|  Metadata Agent       |   |        Heat API       |   |                       |
|  Aodh API,Evaluator   |   |      Heat Engine      |   |                       |
|                       |   |    Gnocchi  httpd     |   |                       |
|                       |   |   Ceilometer Central  |   |                       |
+-----------------------+   +-----------------------+   +-----------------------+

[1]
Install Gnocchi and Ceilometer first.
[2] Add users and others for Aodh in Keystone.
# add aodh user (set in service project)

root@dlp ~(keystone)#
openstack user create --domain default --project service --password servicepassword aodh

+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| default_project_id  | aaeee626080841a491235fb06e77f10c |
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 75d98e9fb85d4094962a2c966cda8484 |
| name                | aodh                             |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

# add aodh user in admin role

root@dlp ~(keystone)#
openstack role add --project service --user aodh admin
# add service entry for aodh

root@dlp ~(keystone)#
openstack service create --name aodh --description "Telemetry Alarming" alarming

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Telemetry Alarming               |
| enabled     | True                             |
| id          | 0765a18f3f3c4a189a3e03e564154bff |
| name        | aodh                             |
| type        | alarming                         |
+-------------+----------------------------------+

# define Aodh API Host

root@dlp ~(keystone)#
export controller=10.0.0.30
# add endpoint for aodh (public)

root@dlp ~(keystone)#
openstack endpoint create --region RegionOne alarming public http://$controller:8042

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | bc86c39494754091a3c91355b8eba85b |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 0765a18f3f3c4a189a3e03e564154bff |
| service_name | aodh                             |
| service_type | alarming                         |
| url          | http://10.0.0.30:8042            |
+--------------+----------------------------------+

# add endpoint for aodh (internal)

root@dlp ~(keystone)#
openstack endpoint create --region RegionOne alarming internal http://$controller:8042

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | de926c4a5621441c9b49483d04a4a8a7 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 0765a18f3f3c4a189a3e03e564154bff |
| service_name | aodh                             |
| service_type | alarming                         |
| url          | http://10.0.0.30:8042            |
+--------------+----------------------------------+

# add endpoint for aodh (admin)

root@dlp ~(keystone)#
openstack endpoint create --region RegionOne alarming admin http://$controller:8042

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | f776d267299c413daeaa186617f1809c |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 0765a18f3f3c4a189a3e03e564154bff |
| service_name | aodh                             |
| service_type | alarming                         |
| url          | http://10.0.0.30:8042            |
+--------------+----------------------------------+
[3] Add a User and Database on MariaDB for Aodh.
root@dlp ~(keystone)#
mysql -u root -p

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3718
Server version: 10.1.34-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
create database aodh;

Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on aodh.* to aodh@'localhost' identified by 'password';

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on aodh.* to aodh@'%' identified by 'password';

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
flush privileges;

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
exit

Bye
[4] Install Aodh services.
root@dlp ~(keystone)#
apt -y install aodh-api aodh-evaluator aodh-notifier aodh-listener aodh-expirer python-aodhclient
[5] Configure Aodh.
root@dlp ~(keystone)#
mv /etc/aodh/aodh.conf /etc/aodh/aodh.conf.org

root@dlp ~(keystone)#
vi /etc/aodh/aodh.conf
# create new

[DEFAULT]
log_dir = /var/log/aodh
# RabbitMQ connection info
transport_url = rabbit://openstack:password@10.0.0.30

[api]
auth_mode = keystone
gnocchi_external_project_owner = service

[database]
# MariaDB connection info
connection = mysql+pymysql://aodh:password@10.0.0.30/aodh

# Keystone auth info
[keystone_authtoken]
www_authenticate_uri = http://10.0.0.30:5000
auth_url = http://10.0.0.30:5000
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = aodh
password = servicepassword

[service_credentials]
auth_url = http://10.0.0.30:5000/v3
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = aodh
password = servicepassword
interface = internalURL

root@dlp ~(keystone)#
chmod 644 /etc/aodh/aodh.conf

root@dlp ~(keystone)#
chgrp aodh /etc/aodh/aodh.conf

root@dlp ~(keystone)#
su -s /bin/bash aodh -c "aodh-dbsync"

root@dlp ~(keystone)#
systemctl restart aodh-evaluator aodh-notifier aodh-listener

root@dlp ~(keystone)#
systemctl enable aodh-evaluator aodh-notifier aodh-listener

root@dlp ~(keystone)#
systemctl restart apache2

Matched Content
 
Tweet