271ff6a09c
The use of an overlay inventory has now been added to a stand alone directory which should help deployers understand how this could work within their environments. Inventory configuration has been updated to show this working in the various projects that have tests and could benefit from an overlay inventory. Change-Id: I1681fce160b43e9127851f06ae05ff5eaabe852f Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
85 lines
2.6 KiB
YAML
85 lines
2.6 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_all
|
|
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: Install PyMySQL
|
|
package:
|
|
name: python-pymysql
|
|
|
|
- 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
|
|
|
|
- name: Ensure https repos function
|
|
apt:
|
|
pkg: "apt-transport-https"
|
|
state: "latest"
|
|
|
|
roles:
|
|
- role: grafana
|