From 3094794acf9e9441b3333b0149c555a3d493a218 Mon Sep 17 00:00:00 2001 From: Jason DeTiberus Date: Thu, 1 Dec 2016 16:12:32 -0500 Subject: Update scheduler predicate/priorities vars - Introduce additional variables for current scheduler config and default values to better determine if the values we are getting are user-defined, coming from config or are the default values. --- roles/openshift_master/vars/main.yml | 8 ++++++-- roles/openshift_master_facts/tasks/main.yml | 28 ++++++++++------------------ 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/roles/openshift_master/vars/main.yml b/roles/openshift_master/vars/main.yml index 4dce63630..01cd28c66 100644 --- a/roles/openshift_master/vars/main.yml +++ b/roles/openshift_master/vars/main.yml @@ -7,8 +7,12 @@ openshift_master_policy: "{{ openshift_master_config_dir }}/policy.json" scheduler_config: kind: Policy apiVersion: v1 - predicates: "{{ openshift_master_scheduler_predicates }}" - priorities: "{{ openshift_master_scheduler_priorities }}" + predicates: "{{ openshift_master_scheduler_predicates + | default(openshift_master_scheduler_current_predicates + | default(openshift_master_scheduler_default_predicates)) }}" + priorities: "{{ openshift_master_scheduler_priorities + | default(openshift_master_scheduler_current_priorities + | default(openshift_master_scheduler_default_priorities)) }}" openshift_master_valid_grant_methods: - auto diff --git a/roles/openshift_master_facts/tasks/main.yml b/roles/openshift_master_facts/tasks/main.yml index 170861484..e1cd94d75 100644 --- a/roles/openshift_master_facts/tasks/main.yml +++ b/roles/openshift_master_facts/tasks/main.yml @@ -83,15 +83,9 @@ 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 }}" +- set_fact: + openshift_master_scheduler_default_predicates: "{{ lookup('openshift_master_facts_default_predicates') }}" + openshift_master_scheduler_default_priorities: "{{ lookup('openshift_master_facts_default_priorities') }}" - block: - name: Retrieve current scheduler config @@ -99,16 +93,14 @@ 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 }}" + openshift_master_scheduler_current_config: "{{ current_scheduler_config.content | b64decode | from_json }}" - - set_fact: - openshift_master_scheduler_priorities: "{{ (current_scheduler_config.content | b64decode | from_json).priorities }}" - when: "{{ openshift_master_scheduler_priorities is not defined }}" + - fail: + msg: "Unknown scheduler config apiVersion {{ openshift_master_scheduler_config.apiVersion }}" + when: "{{ openshift_master_scheduler_current_config.apiVersion | default(None) != 'v1' }}" + - set_fact: + openshift_master_scheduler_current_predicates: "{{ openshift_master_scheduler_current_config.predicates }}" + openshift_master_scheduler_current_priorities: "{{ openshift_master_scheduler_current_config.priorities }}" when: "{{ scheduler_config_stat.stat.exists }}" -- cgit v1.2.3