join.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. ---
  2. - name: Node Join Checkpoint Start
  3. hosts: all
  4. gather_facts: false
  5. tasks:
  6. - name: Set Node Join 'In Progress'
  7. run_once: true
  8. set_stats:
  9. data:
  10. installer_phase_node_join:
  11. title: "Node Join"
  12. playbook: "playbooks/openshift-node/join.yml"
  13. status: "In Progress"
  14. start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
  15. - name: Distribute bootstrap and start nodes
  16. hosts: oo_nodes_to_config
  17. gather_facts: no
  18. tasks:
  19. - import_role:
  20. name: openshift_node
  21. tasks_from: distribute_bootstrap.yml
  22. - name: Approve any pending CSR requests from inventory nodes
  23. hosts: oo_first_master
  24. gather_facts: no
  25. tasks:
  26. - name: Dump all candidate bootstrap hostnames
  27. debug:
  28. msg: "{{ groups['oo_nodes_to_config'] | default([]) }}"
  29. - name: Find all hostnames for bootstrapping
  30. set_fact:
  31. l_nodes_to_join: "{{ groups['oo_nodes_to_config'] | default([]) | map('extract', hostvars) | map(attribute='l_kubelet_node_name') | list }}"
  32. - name: Dump the bootstrap hostnames
  33. debug:
  34. msg: "{{ l_nodes_to_join }}"
  35. - name: Approve node certificates when bootstrapping
  36. oc_csr_approve:
  37. oc_bin: "{{ openshift_client_binary }}"
  38. oc_conf: "{{ openshift.common.config_base }}/master/admin.kubeconfig"
  39. node_list: "{{ l_nodes_to_join }}"
  40. register: node_bootstrap_csr_approve
  41. retries: 30
  42. until: node_bootstrap_csr_approve is succeeded
  43. when:
  44. - l_nodes_to_join|length > 0
  45. - name: Ensure any inventory labels are applied to the nodes
  46. hosts: oo_nodes_to_config
  47. vars:
  48. openshift_node_master_api_url: "{{ hostvars[groups.oo_first_master.0].openshift.master.api_url }}"
  49. roles:
  50. - role: openshift_manage_node
  51. openshift_master_host: "{{ groups.oo_first_master.0 }}"
  52. openshift_manage_node_is_master: "{{ ('oo_masters_to_config' in group_names) | bool }}"
  53. - name: Create additional node network plugin groups
  54. hosts: "{{ openshift_node_scale_up_group | default('oo_nodes_to_config') }}"
  55. tasks:
  56. - group_by:
  57. key: oo_nodes_use_{{ (openshift_use_calico | default(False)) | ternary('calico','nothing') }}
  58. changed_when: False
  59. - name: Additional calico node config
  60. hosts: oo_nodes_use_calico
  61. roles:
  62. - role: calico_node
  63. when: openshift_use_calico | default(false) | bool
  64. - name: Node Join Checkpoint End
  65. hosts: all
  66. gather_facts: false
  67. tasks:
  68. - name: Set Node Join 'Complete'
  69. run_once: true
  70. set_stats:
  71. data:
  72. installer_phase_node_join:
  73. status: "Complete"
  74. end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"