From 81d8b6a835de79f18b2cae87b7b58ba4d02f0b14 Mon Sep 17 00:00:00 2001 From: Jason DeTiberus Date: Wed, 23 Nov 2016 16:57:37 -0500 Subject: refactor handling of scheduler defaults --- roles/openshift_master_facts/tasks/main.yml | 37 +++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'roles/openshift_master_facts/tasks') diff --git a/roles/openshift_master_facts/tasks/main.yml b/roles/openshift_master_facts/tasks/main.yml index 1f27a2c1d..170861484 100644 --- a/roles/openshift_master_facts/tasks/main.yml +++ b/roles/openshift_master_facts/tasks/main.yml @@ -64,8 +64,6 @@ master_count: "{{ openshift_master_count | default(None) }}" controller_lease_ttl: "{{ osm_controller_lease_ttl | default(None) }}" master_image: "{{ osm_image | default(None) }}" - scheduler_predicates: "{{ openshift_master_scheduler_predicates | default(None) }}" - scheduler_priorities: "{{ openshift_master_scheduler_priorities | default(None) }}" admission_plugin_config: "{{openshift_master_admission_plugin_config | default(None) }}" kube_admission_plugin_config: "{{openshift_master_kube_admission_plugin_config | default(None) }}" # deprecated, merged with admission_plugin_config oauth_template: "{{ openshift_master_oauth_template | default(None) }}" # deprecated in origin 1.2 / OSE 3.2 @@ -79,3 +77,38 @@ audit_config: "{{ openshift_master_audit_config | default(None) }}" metrics_public_url: "{% if openshift_hosted_metrics_deploy | default(false) %}https://{{ metrics_hostname }}/hawkular/metrics{% endif %}" scheduler_args: "{{ openshift_master_scheduler_args | default(None) }}" + +- name: Determine if scheduler config present + stat: + path: "{{ openshift_master_scheduler_conf }}" + register: scheduler_config_stat + +- block: + - set_fact: + openshift_master_scheduler_predicates: "{{ lookup('openshift_master_facts_default_predicates') }}" + when: "{{ openshift_master_scheduler_predicates is not defined }}" + + - set_fact: + openshift_master_scheduler_priorities: "{{ lookup('openshift_master_facts_default_priorities') }}" + when: "{{ openshift_master_scheduler_priorities is not defined }}" + when: "{{ not scheduler_config_stat.stat.exists }}" + +- block: + - name: Retrieve current scheduler config + slurp: + src: "{{ openshift_master_scheduler_conf }}" + register: current_scheduler_config + + - fail: + msg: "Could not decode scheduler config" + when: "{{ (current_scheduler_config.content | b64decode | from_json).apiVersion | default(none) != 'v1' }}" + + - set_fact: + openshift_master_scheduler_predicates: "{{ (current_scheduler_config.content | b64decode | from_json).predicates }}" + when: "{{ openshift_master_scheduler_predicates is not defined }}" + + - set_fact: + openshift_master_scheduler_priorities: "{{ (current_scheduler_config.content | b64decode | from_json).priorities }}" + when: "{{ openshift_master_scheduler_priorities is not defined }}" + + when: "{{ scheduler_config_stat.stat.exists }}" -- cgit v1.2.3