Configuring AODH DB now that it uses MySQL.
AODH now uses MySQL and needs Ansible tasks to setup the respective DB and user. Related: I94a585f9c1da51c4f278f4a12e29d395a261e716x Change-Id: Ie5705ead548f2ceed50348131cdc5ab8f72e12f4
This commit is contained in:
parent
96e2f9553b
commit
5db330d9dc
@ -9,74 +9,6 @@ The Telemetry (ceilometer) alarming services perform the following functions:
|
||||
|
||||
- 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:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# apt-get install mongodb-server mongodb-clients python-pymongo
|
||||
|
||||
|
||||
2. Edit the ``/etc/mongodb.conf`` file and change ``bind_ip`` to the
|
||||
management interface of the node running Aodh:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
bind_ip = 10.0.0.11
|
||||
|
||||
|
||||
3. Edit the ``/etc/mongodb.conf`` file and enable ``smallfiles``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
smallfiles = true
|
||||
|
||||
|
||||
4. Restart the MongoDB service:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# service mongodb restart
|
||||
|
||||
|
||||
5. Create the Aodh database:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# mongo --host controller --eval 'db = db.getSiblingDB("aodh"); db.addUser({user: "aodh", pwd: "AODH_DBPASS", roles: [ "readWrite", "dbAdmin" ]});'
|
||||
|
||||
|
||||
This returns:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
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
|
||||
@ -120,19 +52,6 @@ The ``metering-alarm_hosts`` provides several services:
|
||||
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.
|
||||
|
@ -36,11 +36,6 @@ debug: false
|
||||
# neutron_ceilometer_enabled: True
|
||||
# keystone_ceilometer_enabled: True
|
||||
|
||||
## Common Aodh Overrides
|
||||
# aodh_db_type: mongodb
|
||||
# aodh_db_ip: localhost
|
||||
# aodh_db_port: 27017
|
||||
|
||||
## Common Glance Overrides
|
||||
# Set glance_default_store to "swift" if using Cloud Files or swift backend
|
||||
# or "rbd" if using ceph backend; the latter will trigger ceph to get
|
||||
|
@ -86,12 +86,11 @@ dhcp_domain: openstacklocal
|
||||
service_ldap_backend_enabled: "{{ keystone_ldap is defined and keystone_ldap.Default is defined }}"
|
||||
|
||||
## Aodh DB info
|
||||
aodh_database_name: aodh
|
||||
aodh_database_user: aodh
|
||||
aodh_db_type: mongodb
|
||||
aodh_db_ip: localhost
|
||||
aodh_db_port: 27017
|
||||
aodh_connection_string: "{{ aodh_db_type }}://{{ aodh_database_user }}:{{ aodh_container_db_password }}@{{ aodh_db_ip }}:{{ aodh_db_port }}/{{ aodh_database_name }}"
|
||||
aodh_galera_user: aodh
|
||||
aodh_galera_database: aodh
|
||||
aodh_galera_address: "{{ internal_lb_vip_address }}"
|
||||
aodh_connection_string: "mysql+pymysql://{{ aodh_galera_user }}:{{ aodh_container_db_password }}@{{ aodh_galera_address }}/{{ aodh_galera_database }}?charset=utf8"
|
||||
|
||||
|
||||
## Ceilometer
|
||||
ceilometer_service_user_name: ceilometer
|
||||
|
@ -91,6 +91,34 @@
|
||||
tags:
|
||||
- aodh-rabbitmq
|
||||
- aodh-rabbitmq-user
|
||||
- name: Create DB for service
|
||||
mysql_db:
|
||||
login_user: "{{ galera_root_user }}"
|
||||
login_password: "{{ galera_root_password }}"
|
||||
login_host: "{{ aodh_galera_address }}"
|
||||
name: "{{ aodh_galera_database }}"
|
||||
state: "present"
|
||||
when: inventory_hostname == groups['aodh_all'][0]
|
||||
delegate_to: "{{ groups['galera_all'][0] }}"
|
||||
tags:
|
||||
- mysql-db-setup
|
||||
- name: Grant access to the DB for the service
|
||||
mysql_user:
|
||||
login_user: "{{ galera_root_user }}"
|
||||
login_password: "{{ galera_root_password }}"
|
||||
login_host: "{{ aodh_galera_address }}"
|
||||
name: "{{ aodh_galera_user }}"
|
||||
password: "{{ aodh_container_db_password }}"
|
||||
host: "{{ item }}"
|
||||
state: "present"
|
||||
priv: "{{ aodh_galera_database }}.*:ALL"
|
||||
when: inventory_hostname == groups['aodh_all'][0]
|
||||
delegate_to: "{{ groups['galera_all'][0] }}"
|
||||
with_items:
|
||||
- "localhost"
|
||||
- "%"
|
||||
tags:
|
||||
- mysql-db-setup
|
||||
roles:
|
||||
- role: "os_aodh"
|
||||
aodh_venv_tag: "{{ openstack_release }}"
|
||||
@ -107,6 +135,9 @@
|
||||
- "aodh-rsyslog-client"
|
||||
vars:
|
||||
is_metal: "{{ properties.is_metal|default(false) }}"
|
||||
aodh_galera_address: "{{ internal_lb_vip_address }}"
|
||||
aodh_galera_user: aodh
|
||||
aodh_galera_database: aodh
|
||||
aodh_rabbitmq_userid: aodh
|
||||
aodh_rabbitmq_vhost: /aodh
|
||||
aodh_rabbitmq_servers: "{{ rabbitmq_servers }}"
|
||||
|
Loading…
Reference in New Issue
Block a user