712c89760c
The Monasca Grafana fork allows users to log into Grafana with their OpenStack user credentials and see metrics associated with their OpenStack project. The long term goal is to enable Keystone support in upstream Grafana, but this work seems to have stalled. Partially-Implements: blueprint monasca-grafana Change-Id: Icc04613b2571c094ae23b66d0bcc38b58c0ee4e1
63 lines
2.6 KiB
YAML
63 lines
2.6 KiB
YAML
---
|
|
- name: Creating monasca database
|
|
kolla_toolbox:
|
|
module_name: mysql_db
|
|
module_args:
|
|
login_host: "{{ monasca_database_address }}"
|
|
login_port: "{{ monasca_database_port }}"
|
|
login_user: "{{ database_user }}"
|
|
login_password: "{{ database_password }}"
|
|
name: "{{ item }}"
|
|
register: database
|
|
run_once: True
|
|
delegate_to: "{{ groups['monasca-api'][0] }}"
|
|
with_items:
|
|
- "{{ monasca_database_name }}"
|
|
- "{{ monasca_grafana_database_name }}"
|
|
when:
|
|
- not use_preconfigured_databases | bool
|
|
|
|
- name: Creating monasca database user and setting permissions
|
|
kolla_toolbox:
|
|
module_name: mysql_user
|
|
module_args:
|
|
login_host: "{{ monasca_database_address }}"
|
|
login_port: "{{ monasca_database_port }}"
|
|
login_user: "{{ database_user }}"
|
|
login_password: "{{ database_password }}"
|
|
name: "{{ monasca_database_user }}"
|
|
password: "{{ monasca_database_password }}"
|
|
host: "%"
|
|
priv: "{{ monasca_database_name }}.*:ALL/{{ monasca_grafana_database_name }}.*:ALL"
|
|
append_privs: "yes"
|
|
run_once: True
|
|
delegate_to: "{{ groups['monasca-api'][0] }}"
|
|
when:
|
|
- not use_preconfigured_databases | bool
|
|
- database.changed
|
|
|
|
- include_tasks: bootstrap_service.yml
|
|
when: database.changed or use_preconfigured_databases | bool
|
|
|
|
# NOTE(dszumski): Monasca is not yet compatible with InfluxDB > 1.1.10, which means
|
|
# that the official Ansible modules for managing InfluxDB don't work [1].
|
|
# We therefore fall back to manual commands to register the database
|
|
# and set a default retention policy.
|
|
# [1] https://github.com/influxdata/influxdb-python#influxdb-pre-v110-users
|
|
- name: List influxdb databases
|
|
command: "docker exec influxdb influx -host {{ monasca_influxdb_address }} -port {{ monasca_influxdb_http_port }} -execute 'show databases'"
|
|
run_once: True
|
|
delegate_to: "{{ groups['influxdb'][0] }}"
|
|
register: monasca_influxdb_database
|
|
changed_when: False
|
|
|
|
- name: Creating monasca influxdb database
|
|
command: "docker exec influxdb influx -host {{ monasca_influxdb_address }} -port {{ monasca_influxdb_http_port }} -execute 'CREATE DATABASE {{ monasca_influxdb_name }} WITH DURATION {{ monasca_influxdb_retention_policy.duration }} REPLICATION {{ monasca_influxdb_retention_policy.replication_count }} NAME {{ monasca_influxdb_retention_policy.name }}'"
|
|
run_once: True
|
|
delegate_to: "{{ groups['influxdb'][0] }}"
|
|
when: monasca_influxdb_name not in monasca_influxdb_database.stdout_lines
|
|
|
|
# NOTE(dszumski): The Monasca APIs write logs and messages to Kafka. Since
|
|
# Kafka has automatic topic generation enabled by default we don't need to
|
|
# create topics here.
|