summaryrefslogtreecommitdiffstats
path: root/roles/openshift_hosted_metrics/tasks/main.yaml
diff options
context:
space:
mode:
authorJeff Cantrill <jcantril@redhat.com>2016-11-29 15:12:48 -0500
committerJeff Cantrill <jcantril@redhat.com>2017-01-11 10:35:36 -0500
commit7a351a8bf87e6678e273d94ec7d003e1baa9fe90 (patch)
treeeba19b0838e942f66af7278eea92357fdc05304e /roles/openshift_hosted_metrics/tasks/main.yaml
parentf443452d1a999df7417e665533494cebb44c0e7a (diff)
downloadopenshift-7a351a8bf87e6678e273d94ec7d003e1baa9fe90.tar.gz
openshift-7a351a8bf87e6678e273d94ec7d003e1baa9fe90.tar.bz2
openshift-7a351a8bf87e6678e273d94ec7d003e1baa9fe90.tar.xz
openshift-7a351a8bf87e6678e273d94ec7d003e1baa9fe90.zip
rename openshift_metrics to openshift_hosted_metrics
Diffstat (limited to 'roles/openshift_hosted_metrics/tasks/main.yaml')
-rw-r--r--roles/openshift_hosted_metrics/tasks/main.yaml75
1 files changed, 75 insertions, 0 deletions
diff --git a/roles/openshift_hosted_metrics/tasks/main.yaml b/roles/openshift_hosted_metrics/tasks/main.yaml
new file mode 100644
index 000000000..5ce8aa92b
--- /dev/null
+++ b/roles/openshift_hosted_metrics/tasks/main.yaml
@@ -0,0 +1,75 @@
+---
+- name: Create temp directory for kubeconfig
+ command: mktemp -d /tmp/openshift-ansible-XXXXXX
+ register: mktemp
+ changed_when: False
+
+- name: Record kubeconfig tmp dir
+ set_fact:
+ openshift_hosted_metrics_kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig"
+
+- name: Copy the admin client config(s)
+ command: >
+ cp {{ openshift_master_config_dir }}/admin.kubeconfig {{ openshift_hosted_metrics_kubeconfig }}
+ changed_when: False
+
+- name: Set hosted metrics facts
+ openshift_facts:
+ role: hosted
+ openshift_env: "{{ hostvars
+ | oo_merge_hostvars(vars, inventory_hostname)
+ | oo_openshift_env }}"
+ openshift_env_structures:
+ - 'openshift.hosted.metrics.*'
+
+- set_fact:
+ metrics_persistence: "{{ openshift.hosted.metrics.storage_kind | default(none) is not none }}"
+ metrics_dynamic_vol: "{{ openshift.hosted.metrics.storage_kind | default(none) == 'dynamic' }}"
+ metrics_template_dir: "{{ openshift.common.config_base if openshift.common.is_containerized | bool else '/usr/share/openshift' }}/examples/infrastructure-templates/{{ 'origin' if deployment_type == 'origin' else 'enterprise' }}"
+ image_prefix: "{{ '-v IMAGE_PREFIX=' ~ openshift.hosted.metrics.deployer.prefix if 'prefix' in openshift.hosted.metrics.deployer else '' }}"
+ image_version: "{{ '-v IMAGE_VERSION=' ~ openshift.hosted.metrics.deployer.version if 'version' in openshift.hosted.metrics.deployer else '' }}"
+
+
+- name: Check for existing metrics pods
+ shell: >
+ {{ openshift.common.client_binary }}
+ --config={{ openshift_hosted_metrics_kubeconfig }}
+ --namespace openshift-infra
+ get pods -l {{ item }} | grep -q Running
+ register: metrics_pods_status
+ with_items:
+ - metrics-infra=hawkular-metrics
+ - metrics-infra=heapster
+ - metrics-infra=hawkular-cassandra
+ failed_when: false
+ changed_when: false
+
+- name: Check for previous deployer
+ shell: >
+ {{ openshift.common.client_binary }}
+ --config={{ openshift_hosted_metrics_kubeconfig }}
+ --namespace openshift-infra
+ get pods -l metrics-infra=deployer --sort-by='{.metadata.creationTimestamp}' | tail -1 | grep metrics-deployer-
+ register: metrics_deployer_status
+ failed_when: false
+ changed_when: false
+
+- name: Record current deployment status
+ set_fact:
+ greenfield: "{{ not metrics_deployer_status.rc == 0 }}"
+ failed_error: "{{ True if 'Error' in metrics_deployer_status.stdout else False }}"
+ metrics_running: "{{ metrics_pods_status.results | oo_collect(attribute='rc') == [0,0,0] }}"
+
+- name: Set deployment mode
+ set_fact:
+ deployment_mode: "{{ 'refresh' if (failed_error | bool or metrics_upgrade | bool) else 'deploy' }}"
+
+# TODO: handle non greenfield deployments in the future
+- include: install.yml
+ when: greenfield
+
+- name: Delete temp directory
+ file:
+ name: "{{ mktemp.stdout }}"
+ state: absent
+ changed_when: False