b9d76f6ef5
* Always use Python 3 * Drop code paths for CentOS 7 * Drop support for Yum * Remove support for host NTP daemon, always use chrony * Switch references from 'yum_install_epel' to 'dnf_install_epel' * Remove overcloud host image workaround for tagged VLAN admin network * Remove the kayobe.utils.yum_install function, which is unused Change-Id: I368f6edafed9779658798fc342116b4c1b3ffd48 Story: 2006574 Task: 39481
86 lines
3.3 KiB
YAML
86 lines
3.3 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: >
|
|
source {{ 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: Set fact for the VIP address
|
|
set_fact:
|
|
kolla_internal_vip_address: "{{ internal_net_name | net_vip_address }}"
|
|
when: kolla_enable_haproxy | bool
|
|
|
|
- name: Set fact for the VIP address
|
|
set_fact:
|
|
kolla_internal_vip_address: "{{ internal_net_name | net_ip }}"
|
|
when: not kolla_enable_haproxy | bool
|
|
|
|
- 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 }}"
|