| | |
| | | --- |
| | | - name: Create operator |
| | | - name: Create operator resource files |
| | | k8s: |
| | | state: present |
| | | namespace: "{{ _namespace }}" |
| | | definition: "{{ lookup('file', role_path ~ '/files/prometheus/operator.yml' ) | from_yaml }}" |
| | | definition: "{{ lookup('file', role_path ~ '/files/prometheus/operator/{{ item }}.yml' ) | from_yaml }}" |
| | | with_items: |
| | | - role |
| | | - role2 |
| | | - sa |
| | | - k8s-sa |
| | | |
| | | - name: Wait until csv/{{ _prometheus_csv_version }} is Succeeded |
| | | - name: Create operator resource templates |
| | | k8s: |
| | | state: present |
| | | namespace: "{{ _namespace }}" |
| | | definition: "{{ lookup('template', role_path ~ '/templates/prometheus/operator/{{ item }}.j2' ) | from_yaml }}" |
| | | with_items: |
| | | - rolebinding |
| | | - rolebinding2 |
| | | - deployment |
| | | |
| | | - name: Wait until prometheus-operator is running |
| | | command: > |
| | | oc get csv/{{ _prometheus_csv_version }} -o jsonpath='{.status.phase}' -n "{{ _namespace }}" |
| | | register: promcsv |
| | | retries: "{{ _retry }}" |
| | | delay: "{{ _delay }}" |
| | | until: promcsv.stdout == "Succeeded" |
| | | oc rollout status Deployment/prometheus-operator --watch=true -n "{{ _namespace }}" |
| | | |
| | | - name: Create Prometheus |
| | | k8s: |
| | |
| | | k8s: |
| | | state: present |
| | | namespace: "{{ _namespace }}" |
| | | definition: "{{ lookup('template', role_path ~ '/files/prometheus/servicemonitor.yml' ) | from_yaml }}" |
| | | |
| | | - name: Check Prometheus is running |
| | | command: > |
| | | oc rollout status StatefulSet/prometheus-prom --watch=true -n "{{ _namespace }}" |
| | | |
| | | - name: Get Prometheus route host |
| | | command: > |
| | | oc get route/prometheus-prom -o jsonpath='{.spec.host}' -n "{{ _namespace }}" |
| | | register: prom_route |
| | | retries: "{{ _retry }}" |
| | | delay: "{{ _delay }}" |
| | | until: prom_route.stdout != "" |
| | | |
| | | - name: Wait for Prometheus route to respond with 200 |
| | | uri: |
| | | url: "https://{{ prom_route.stdout }}" |
| | | method: GET |
| | | validate_certs: false |
| | | follow_redirects: yes |
| | | register: promresult |
| | | retries: "{{ _retry }}" |
| | | delay: "{{ _delay }}" |
| | | until: promresult.status == 200 |
| | | definition: "{{ lookup('template', role_path ~ '/files/prometheus/servicemonitor.yml' ) | from_yaml }}" |