Gareth Healy
2020-02-19 22fc6b3780609316bf50eedfdf20f23a492d861f
ansible/roles/ocp4-workload-pam-fraudmanagement-workshop/tasks/workload_per_project_prometheus.yml
@@ -1,17 +1,28 @@
---
- 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:
@@ -35,27 +46,4 @@
  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 }}"