main.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. ---
  2. - name: Create temp directory for kubeconfig
  3. command: mktemp -d /tmp/openshift-ansible-XXXXXX
  4. register: mktemp
  5. changed_when: False
  6. - set_fact:
  7. openshift_manage_node_kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig"
  8. - name: Copy the admin client config(s)
  9. command: >
  10. cp {{ openshift.common.config_base }}/master/admin.kubeconfig {{ openshift_manage_node_kubeconfig }}
  11. changed_when: False
  12. - name: Wait for Node Registration
  13. command: >
  14. {{ openshift.common.client_binary }} get node {{ item | lower }}
  15. --config={{ openshift_manage_node_kubeconfig }}
  16. -n default
  17. register: omd_get_node
  18. until: omd_get_node.rc == 0
  19. retries: 50
  20. delay: 5
  21. changed_when: false
  22. with_items: "{{ openshift_nodes }}"
  23. - name: Set node schedulability
  24. command: >
  25. {{ openshift.common.admin_binary }} manage-node {{ hostvars[item].openshift.common.hostname | lower }} --schedulable={{ 'true' if hostvars[item].openshift.node.schedulable | bool else 'false' }}
  26. --config={{ openshift_manage_node_kubeconfig }}
  27. -n default
  28. with_items:
  29. - "{{ openshift_nodes }}"
  30. when: hostvars[item].openshift.common.hostname is defined
  31. - name: Label nodes
  32. command: >
  33. {{ openshift.common.client_binary }} label --overwrite node {{ hostvars[item].openshift.common.hostname | lower }} {{ hostvars[item].openshift.node.labels | oo_combine_dict }}
  34. --config={{ openshift_manage_node_kubeconfig }}
  35. -n default
  36. with_items:
  37. - "{{ openshift_nodes }}"
  38. when: hostvars[item].openshift.common.hostname is defined and 'labels' in hostvars[item].openshift.node and hostvars[item].openshift.node.labels != {}
  39. - name: Delete temp directory
  40. file:
  41. name: "{{ mktemp.stdout }}"
  42. state: absent
  43. changed_when: False