You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.2 KiB
60 lines
2.2 KiB
---
|
|
|
|
- name: Deploy Prometheus on OpenShift
|
|
hosts: itix
|
|
become: yes
|
|
vars:
|
|
itix_openshift_docker_images_repo_url: https://github.com/nmasse-itix/OpenShift-Docker-Images.git
|
|
itix_prometheus_project: openshift-metrics
|
|
itix_grafana_route: grafana.{{ openshift_master_default_subdomain }}
|
|
itix_prometheus_route: prometheus.{{ openshift_master_default_subdomain }}
|
|
itix_alerts_route: prometheus-alerts.{{ openshift_master_default_subdomain }}
|
|
tasks:
|
|
- name: Create a temporary directory
|
|
tempfile:
|
|
state: directory
|
|
register: tempfile
|
|
|
|
- name: Clone the nmasse-itix/OpenShift-Docker-Images GIT repository
|
|
git:
|
|
repo: '{{ itix_openshift_docker_images_repo_url }}'
|
|
dest: '{{ tempfile.path }}'
|
|
version: '{{ itix_openshift_docker_images_repo_tag|default(''master'') }}'
|
|
|
|
- name: Process the grafana-prometheus-storage template
|
|
command: oc process -f '{{ tempfile.path }}/grafana/grafana-prometheus-storage.yaml' -p 'NAMESPACE={{ itix_prometheus_project }}'
|
|
register: oc_process
|
|
|
|
- set_fact:
|
|
grafana_prometheus_storage: '{{ oc_process.stdout }}'
|
|
|
|
- name: Process the grafana-prometheus template
|
|
command: oc process -f '{{ tempfile.path }}/grafana/grafana-prometheus.yaml' -p 'NAMESPACE={{ itix_prometheus_project }}' -p 'PROMETHEUS_ROUTE_HOSTNAME={{ itix_prometheus_route }}' -p 'ALERTS_ROUTE_HOSTNAME={{ itix_alerts_route }}'
|
|
register: oc_process
|
|
|
|
- set_fact:
|
|
grafana_prometheus: '{{ oc_process.stdout }}'
|
|
|
|
- name: Process the grafana-base template
|
|
command: oc process -f '{{ tempfile.path }}/grafana/grafana-base.yaml' -p 'NAMESPACE={{ itix_prometheus_project }}' -p 'GRAFANA_ROUTE_HOSTNAME={{ itix_grafana_route }}'
|
|
register: oc_process
|
|
|
|
- set_fact:
|
|
grafana_base: '{{ oc_process.stdout }}'
|
|
|
|
- name: Create the objects
|
|
command: oc create -f -
|
|
args:
|
|
stdin: '{{ item|to_json }}'
|
|
register: oc
|
|
failed_when: oc.rc > 0 and 'Error from server (AlreadyExists):' not in oc.stderr
|
|
changed_when: oc.rc == 0
|
|
with_items:
|
|
- '{{ grafana_prometheus_storage }}'
|
|
- '{{ grafana_prometheus }}'
|
|
- '{{ grafana_base }}'
|
|
|
|
- name: Delete the temporary directory
|
|
file:
|
|
path: '{{ tempfile.path }}'
|
|
state: absent
|
|
|