kayobe/ansible/overcloud-grafana-configure.yml

76 lines
2.9 KiB
YAML

---
- name: Check whether Monasca is enabled
hosts: overcloud
tags:
- grafana
tasks:
- name: Create monitoring group with grafana enabled
group_by:
key: "monitoring_with_grafana_enabled_{{ kolla_enable_monasca | bool }}"
- name: Set the Monasca control plane project ID
hosts: monitoring_with_grafana_enabled_True[0]
gather_facts: False
tags:
- grafana
vars:
venv: "{{ virtualenv_path }}/openstacksdk"
pre_tasks:
- name: Validate OpenStack password authentication parameters
fail:
msg: >
Required OpenStack authentication parameter {{ item }} is
{% if item in openstack_auth %}empty{% else %}not present{% endif %}
in openstack_auth. Have you sourced the environment file?
when:
- openstack_auth_type == 'password'
- item not in openstack_auth or not openstack_auth[item]
with_items: "{{ openstack_auth_password_required_params }}"
tags:
- config-validation
roles:
- role: stackhpc.os-openstackclient
os_openstackclient_venv: "{{ venv }}"
os_openstackclient_install_epel: "{{ dnf_install_epel }}"
os_openstackclient_state: latest
os_openstackclient_upper_constraints_file: "{{ pip_upper_constraints_file }}"
when: kolla_enable_monasca | bool
tasks:
- name: Look up Monasca control plane project ID
shell: >
. {{ venv }}/bin/activate &&
openstack project show {{ monasca_control_plane_project }} --format json --column id
register: monasca_project_show
changed_when: False
environment: "{{ openstack_auth_env }}"
when: kolla_enable_monasca | bool
- name: Set Monasca control plane ID
set_fact:
monasca_control_plane_project_id: "{{ (monasca_project_show.stdout | from_json).get('id') }}"
when: kolla_enable_monasca | bool
- name: Configure control plane monitoring for Grafana
# Only required to run on a single host.
hosts: monitoring_with_grafana_enabled_True[0]
gather_facts: False
tags:
- grafana
pre_tasks:
- name: Include Kolla passwords for Grafana local admin account credentials
include_vars: "{{ kayobe_config_path }}/kolla/passwords.yml"
roles:
- role: stackhpc.grafana-conf
grafana_conf_organisation: "{{ grafana_control_plane_organisation }}"
grafana_conf_grafana_admin_user: "{{ grafana_local_admin_user_name }}"
grafana_conf_grafana_admin_pass: "{{ monasca_grafana_admin_password }}"
grafana_conf_grafana_dashboard_repo:
repo: "{{ grafana_monitoring_node_dashboard_repo }}"
version: "{{ grafana_monitoring_node_dashboard_repo_version }}"
checkout_path: "{{ grafana_monitoring_node_dashboard_repo_checkout_path }}"
relative_path: "{{ grafana_monitoring_node_dashboard_repo_path }}"
grafana_conf_grafana_url: "http://{{ kolla_internal_vip_address }}:{{ monasca_grafana_server_port }}"
grafana_conf_grafana_datasources: "{{ grafana_datasources }}"