
This change introduces grafana into the stack which gives us a great way to visualize the data. The grafana role from cloudalchemy is being used for the bulk of the deployment. Because the grafana deployment playbook is now standalone the mentions of grafana in the other ops directories have been removed. Change-Id: I23e1c96cd1fda7ece9b86a69f9f0326913de714d Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
82 lines
2.5 KiB
YAML
82 lines
2.5 KiB
YAML
---
|
|
# Copyright 2016, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- name: Deploy Grafana
|
|
hosts: grafana
|
|
become: true
|
|
vars_files:
|
|
- vars/variables.yml
|
|
|
|
pre_tasks:
|
|
- name: Galera database block
|
|
block:
|
|
- name: Check for db password
|
|
fail:
|
|
msg: >-
|
|
The database root login user is undefined
|
|
when:
|
|
- galera_root_user is undefined
|
|
|
|
- name: Check for db password
|
|
fail:
|
|
msg: >-
|
|
The database root password is undefined
|
|
when:
|
|
- galera_root_password is undefined
|
|
|
|
- name: Create DB for service
|
|
mysql_db:
|
|
login_user: "{{ galera_root_user }}"
|
|
login_password: "{{ galera_root_password }}"
|
|
login_host: "{{ galera_address | default('127.0.0.1') }}"
|
|
name: "{{ grafana_db_name }}"
|
|
state: "present"
|
|
delegate_to: "{{ groups['galera_all'][0] }}"
|
|
|
|
- name: Grant access to the DB for the service
|
|
mysql_user:
|
|
login_user: "{{ galera_root_user }}"
|
|
login_password: "{{ galera_root_password }}"
|
|
login_host: "{{ galera_address | default('127.0.0.1') }}"
|
|
name: "{{ grafana_db_user }}"
|
|
password: "{{ grafana_db_password }}"
|
|
host: "{{ item }}"
|
|
state: "present"
|
|
priv: "{{ grafana_db_name }}.*:ALL"
|
|
with_items:
|
|
- "localhost"
|
|
- "%"
|
|
delegate_to: "{{ groups['galera_all'][0] }}"
|
|
|
|
- name: Set grafana database fact
|
|
set_fact:
|
|
grafana_database:
|
|
type: mysql
|
|
host: "{{ galera_address }}:3306"
|
|
name: "{{ grafana_db_name }}"
|
|
user: "{{ grafana_db_user }}"
|
|
password: "{{ grafana_db_password }}"
|
|
when:
|
|
- (groups['galera_all'] | default([])) | length > 0
|
|
|
|
pre_tasks:
|
|
- name: Ensure https repos function
|
|
apt:
|
|
pkg: "apt-transport-https"
|
|
state: "latest"
|
|
|
|
roles:
|
|
- role: grafana
|