Skip to content

Commit 13ce927

Browse files
committed
Improve playbook with run_once
1 parent 37177b1 commit 13ce927

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

etc/kayobe/ansible/deploy-radosgw-usage-exporter.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
environment: "{{ openstack_auth_env }}"
1414
delegate_to: localhost
1515
register: credential_check
16+
run_once: true
1617

1718
- name: Create ec2 credential if there's none
1819
command: >
@@ -21,6 +22,7 @@
2122
--format json
2223
environment: "{{ openstack_auth_env }}"
2324
delegate_to: localhost
25+
run_once: true
2426
when: "{{ credential_check.stdout == [] }}"
2527

2628
- name: Query ec2 credential for admin
@@ -31,6 +33,7 @@
3133
environment: "{{ openstack_auth_env }}"
3234
delegate_to: localhost
3335
register: credential
36+
run_once: true
3437

3538
- name: Get object storage endpoint
3639
command: >
@@ -40,6 +43,7 @@
4043
environment: "{{ openstack_auth_env }}"
4144
delegate_to: localhost
4245
register: endpoint
46+
run_once: true
4347

4448
- name: Ensure radosgw_usage_exporter container is running
4549
community.docker.docker_container:
@@ -57,17 +61,21 @@
5761
radosgw_server: "{{ host.URL | regex_replace('(https?://)([^:/]+):([0-9]+)/.*', '\\1\\2:\\3') }}" # Drop Swift api address
5862
become: true
5963

60-
- name: Get target ip addresses
64+
- name: Get Prometheus target ip addresses of RADOS gateway usage exporters
6165
set_fact:
6266
prometheus_targets: "{{ prometheus_targets | default([]) +[( internal_net_name | net_ip( item ) + ':9242' )] }}"
6367
loop: "{{ groups['monitoring'] }}"
68+
run_once: true
6469

65-
- name: Ensure radosgw_usage_exporter is targeted by prometheus-server
66-
blockinfile:
67-
path: /etc/kolla/prometheus-server/prometheus.yml
68-
block: |
69-
- honor_labels: true
70-
job_name: ceph_radosgw_usage_exporter
70+
- name: Print config to append on prometheus.yml
71+
debug:
72+
msg: |
73+
Add Prometheus target for RADOS gateway usage exporter below at prometheus.yml then reconfigure prometheus_server.
74+
You can find a template to prometheus.yml at ``ansible/roles/prometheus/templates/prometheus.yml.j2`` under kolla-ansible directory.
75+
Make sure to use {% raw %} and {% endraw %} tags appropriately on prometheus.yml if you're overriding it for the first time.
76+
77+
- job_name: ceph_radosgw_usage_exporter
78+
honor_labels: true
7179
scrape_interval: 15s
7280
static_configs:
7381
- targets:
@@ -80,9 +88,5 @@
8088
separator: ""
8189
regex: (.+)
8290
replacement: ${1}
83-
become: true
91+
run_once: true
8492

85-
- name: Restart prometheus-server
86-
ansible.builtin.command:
87-
cmd: systemctl restart kolla-prometheus_server-container
88-
become: true

0 commit comments

Comments
 (0)