From f83c41821322d74db35493fcc3a4fcd1c0359bf5 Mon Sep 17 00:00:00 2001 From: Vadim Rutkovsky Date: Wed, 24 Jan 2018 14:50:05 +0100 Subject: Label masters with node-role.kubernetes.io/master. This PR also sets these labels and scheduling status during upgrades Signed-off-by: Vadim Rutkovsky --- roles/openshift_manage_node/defaults/main.yml | 3 +++ roles/openshift_manage_node/tasks/config.yml | 35 +++++++++++++++++++++++++++ roles/openshift_manage_node/tasks/main.yml | 23 +----------------- 3 files changed, 39 insertions(+), 22 deletions(-) create mode 100644 roles/openshift_manage_node/tasks/config.yml (limited to 'roles/openshift_manage_node') diff --git a/roles/openshift_manage_node/defaults/main.yml b/roles/openshift_manage_node/defaults/main.yml index f0e728a3f..00e04b9f2 100644 --- a/roles/openshift_manage_node/defaults/main.yml +++ b/roles/openshift_manage_node/defaults/main.yml @@ -4,3 +4,6 @@ openshift_manage_node_is_master: False # Default is to be schedulable except for master nodes. l_openshift_manage_schedulable: "{{ openshift_schedulable | default(not openshift_manage_node_is_master) }}" + +openshift_master_node_labels: + node-role.kubernetes.io/master: 'true' diff --git a/roles/openshift_manage_node/tasks/config.yml b/roles/openshift_manage_node/tasks/config.yml new file mode 100644 index 000000000..300f19cbd --- /dev/null +++ b/roles/openshift_manage_node/tasks/config.yml @@ -0,0 +1,35 @@ +--- +- name: Set node schedulability + oc_adm_manage_node: + node: "{{ openshift.node.nodename | lower }}" + schedulable: "{{ 'true' if l_openshift_manage_schedulable | bool else 'false' }}" + retries: 10 + delay: 5 + register: node_schedulable + until: node_schedulable is succeeded + when: "'nodename' in openshift.node" + delegate_to: "{{ openshift_master_host }}" + +- name: Label nodes + oc_label: + name: "{{ openshift.node.nodename }}" + kind: node + state: add + labels: "{{ openshift_node_labels | lib_utils_oo_dict_to_list_of_dict }}" + namespace: default + when: + - "'nodename' in openshift.node" + - openshift_node_labels | default({}) != {} + delegate_to: "{{ openshift_master_host }}" + +- name: Label master nodes + oc_label: + name: "{{ openshift.node.nodename }}" + kind: node + state: add + labels: "{{ openshift_master_node_labels | lib_utils_oo_dict_to_list_of_dict }}" + namespace: default + when: + - "'nodename' in openshift.node" + - "'oo_masters_to_config' in group_names" + delegate_to: "{{ openshift_master_host }}" diff --git a/roles/openshift_manage_node/tasks/main.yml b/roles/openshift_manage_node/tasks/main.yml index 9251d380b..154e2b45f 100644 --- a/roles/openshift_manage_node/tasks/main.yml +++ b/roles/openshift_manage_node/tasks/main.yml @@ -34,25 +34,4 @@ when: "'nodename' in openshift.node" delegate_to: "{{ openshift_master_host }}" -- name: Set node schedulability - oc_adm_manage_node: - node: "{{ openshift.node.nodename | lower }}" - schedulable: "{{ 'true' if l_openshift_manage_schedulable | bool else 'false' }}" - retries: 10 - delay: 5 - register: node_schedulable - until: node_schedulable is succeeded - when: "'nodename' in openshift.node" - delegate_to: "{{ openshift_master_host }}" - -- name: Label nodes - oc_label: - name: "{{ openshift.node.nodename }}" - kind: node - state: add - labels: "{{ openshift_node_labels | lib_utils_oo_dict_to_list_of_dict }}" - namespace: default - when: - - "'nodename' in openshift.node" - - openshift_node_labels | default({}) != {} - delegate_to: "{{ openshift_master_host }}" +- include_tasks: config.yml -- cgit v1.2.3 From 4e2272db05cf00335701aa6db5ecfd9195623d35 Mon Sep 17 00:00:00 2001 From: Vadim Rutkovsky Date: Wed, 24 Jan 2018 22:50:25 +0100 Subject: openshift_manage_node: Label nodes in one pass --- roles/openshift_manage_node/tasks/config.yml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'roles/openshift_manage_node') diff --git a/roles/openshift_manage_node/tasks/config.yml b/roles/openshift_manage_node/tasks/config.yml index 300f19cbd..4f00351b5 100644 --- a/roles/openshift_manage_node/tasks/config.yml +++ b/roles/openshift_manage_node/tasks/config.yml @@ -15,21 +15,13 @@ name: "{{ openshift.node.nodename }}" kind: node state: add - labels: "{{ openshift_node_labels | lib_utils_oo_dict_to_list_of_dict }}" + labels: "{{ l_all_labels | lib_utils_oo_dict_to_list_of_dict }}" namespace: default when: - "'nodename' in openshift.node" - - openshift_node_labels | default({}) != {} - delegate_to: "{{ openshift_master_host }}" - -- name: Label master nodes - oc_label: - name: "{{ openshift.node.nodename }}" - kind: node - state: add - labels: "{{ openshift_master_node_labels | lib_utils_oo_dict_to_list_of_dict }}" - namespace: default - when: - - "'nodename' in openshift.node" - - "'oo_masters_to_config' in group_names" + - l_all_labels != {} delegate_to: "{{ openshift_master_host }}" + vars: + l_node_labels: "{{ openshift_node_labels | default({}) }}" + l_master_labels: "{{ ('oo_masters_to_config' in group_names) | ternary(openshift_master_node_labels, {}) }}" + l_all_labels: "{{ l_node_labels | combine(l_master_labels) }}" -- cgit v1.2.3