summaryrefslogtreecommitdiffstats
path: root/roles/openshift_manage_node/tasks/main.yml
blob: 28e4e46e9f008443e91244f0dc0539f8c5a6d482 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---
- name: Create temp directory for kubeconfig
  command: mktemp -d /tmp/openshift-ansible-XXXXXX
  register: mktemp
  changed_when: False

- set_fact:
    openshift_manage_node_kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig"

- name: Copy the admin client config(s)
  command: >
    cp {{ openshift.common.config_base }}/master/admin.kubeconfig {{ openshift_manage_node_kubeconfig }}
  changed_when: False

- name: Wait for Node Registration
  command: >
    {{ openshift.common.client_binary }} get node {{ hostvars[item].openshift.node.nodename }}
    --config={{ openshift_manage_node_kubeconfig }}
    -n default
  register: omd_get_node
  until: omd_get_node.rc == 0
  retries: 50
  delay: 5
  changed_when: false
  with_items: "{{ openshift_nodes }}"

- name: Set node schedulability
  command: >
    {{ openshift.common.client_binary }} adm manage-node {{ hostvars[item].openshift.node.nodename }} --schedulable={{ 'true' if hostvars[item].openshift.node.schedulable | bool else 'false' }}
    --config={{ openshift_manage_node_kubeconfig }}
    -n default
  with_items: "{{ openshift_nodes }}"
  when: hostvars[item].openshift.node.nodename is defined

- name: Label nodes
  command: >
    {{ openshift.common.client_binary }} label --overwrite node {{ hostvars[item].openshift.node.nodename }} {{ hostvars[item].openshift.node.labels | oo_combine_dict  }}
    --config={{ openshift_manage_node_kubeconfig }}
    -n default
  with_items: "{{ openshift_nodes }}"
  when: hostvars[item].openshift.node.nodename is defined and 'labels' in hostvars[item].openshift.node and hostvars[item].openshift.node.labels != {}

- name: Delete temp directory
  file:
    name: "{{ mktemp.stdout }}"
    state: absent
  changed_when: False