mirror of https://github.com/ceph/ceph-ansible.git
Configure ceph dashboard backend and dashboard_frontend_vip
This change introduces a new set of tasks to configure the
ceph dashboard backend and listen just on the mgr related
subnet (and not on '*'). For the same reason the proper
server address is added in both prometheus and alertmanger
systemd units.
This patch also adds the "dashboard_frontend_vip" parameter
to make sure we're able to support the HA model when multiple
grafana instances are deployed.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1792230
Signed-off-by: Francesco Pantano <fpantano@redhat.com>
(cherry picked from commit 15ed9eebf1
)
pull/5097/head
parent
ca2003fbcc
commit
f5e2a69134
|
@ -715,6 +715,7 @@ dummy:
|
|||
#dashboard_rgw_api_user_id: ceph-dashboard
|
||||
#dashboard_rgw_api_admin_resource: ''
|
||||
#dashboard_rgw_api_no_ssl_verify: False
|
||||
#dashboard_frontend_vip: ''
|
||||
#node_exporter_container_image: "prom/node-exporter:v0.17.0"
|
||||
#node_exporter_port: 9100
|
||||
#grafana_admin_user: admin
|
||||
|
|
|
@ -715,6 +715,7 @@ ceph_docker_registry_auth: true
|
|||
#dashboard_rgw_api_user_id: ceph-dashboard
|
||||
#dashboard_rgw_api_admin_resource: ''
|
||||
#dashboard_rgw_api_no_ssl_verify: False
|
||||
#dashboard_frontend_vip: ''
|
||||
node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.1
|
||||
#node_exporter_port: 9100
|
||||
#grafana_admin_user: admin
|
||||
|
|
|
@ -123,6 +123,18 @@
|
|||
vars:
|
||||
grafana_server_addr: '{{ item }}'
|
||||
|
||||
- name: config grafana api url vip
|
||||
command: "{{ container_exec_cmd }} ceph --cluster {{ cluster }} dashboard set-grafana-api-url {{ dashboard_protocol }}://{{ dashboard_frontend_vip }}:{{ grafana_port }}"
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
run_once: true
|
||||
changed_when: false
|
||||
when: dashboard_frontend_vip is defined and dashboard_frontend_vip |length > 0
|
||||
|
||||
- include_tasks: configure_dashboard_backends.yml
|
||||
with_items: '{{ groups[mgr_group_name] | default(groups[mon_group_name]) }}'
|
||||
vars:
|
||||
dashboard_backend: '{{ item }}'
|
||||
|
||||
- name: dashboard object gateway management frontend
|
||||
when: groups.get(rgw_group_name, []) | length > 0
|
||||
block:
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
- name: get current mgr backend - ipv4
|
||||
set_fact:
|
||||
mgr_server_addr: "{{ hostvars[dashboard_backend]['ansible_all_ipv4_addresses'] | ips_in_ranges(public_network.split(',')) | first }}"
|
||||
when: ip_version == 'ipv4'
|
||||
|
||||
- name: get current mgr backend - ipv6
|
||||
set_fact:
|
||||
mgr_server_addr: "{{ hostvars[dashboard_backend]['ansible_all_ipv6_addresses'] | ips_in_ranges(public_network.split(',')) | last | ipwrap }}"
|
||||
when: ip_version == 'ipv6'
|
||||
|
||||
- name: config the current dashboard backend
|
||||
command: "{{ container_exec_cmd }} ceph --cluster {{ cluster }} config set mgr mgr/dashboard/{{ hostvars[dashboard_backend]['ansible_hostname'] }}/server_addr {{ mgr_server_addr }}"
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
changed_when: false
|
||||
run_once: true
|
|
@ -707,6 +707,7 @@ dashboard_key: ''
|
|||
dashboard_rgw_api_user_id: ceph-dashboard
|
||||
dashboard_rgw_api_admin_resource: ''
|
||||
dashboard_rgw_api_no_ssl_verify: False
|
||||
dashboard_frontend_vip: ''
|
||||
node_exporter_container_image: "prom/node-exporter:v0.17.0"
|
||||
node_exporter_port: 9100
|
||||
grafana_admin_user: admin
|
||||
|
|
|
@ -24,7 +24,7 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --name=prometheus \
|
|||
--config.file=/etc/prometheus/prometheus.yml \
|
||||
--storage.tsdb.path=/prometheus \
|
||||
--web.external-url=http://{{ ansible_fqdn }}:{{ prometheus_port }}/ \
|
||||
--web.listen-address=:{{ prometheus_port }}
|
||||
--web.listen-address={{ grafana_server_addr }}:{{ prometheus_port }}
|
||||
ExecStop=/usr/bin/{{ container_binary }} stop prometheus
|
||||
KillMode=none
|
||||
Restart=always
|
||||
|
|
Loading…
Reference in New Issue