--- # 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 - name: Ensure https repos function apt: pkg: "apt-transport-https" state: "latest" roles: - role: grafana