main.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. ---
  15. - name: Disable swap (if not already disabled)
  16. command: /usr/sbin/swapoff -a
  17. changed_when: true
  18. tags: init
  19. - name: Get hostname
  20. command: hostname
  21. changed_when: true
  22. register: node_hostname
  23. tags: init
  24. - name: Reset kubeadm
  25. command: kubeadm reset -f
  26. changed_when: true
  27. failed_when: false
  28. when:
  29. - groups['manager'][0] != groups['compute'][0]
  30. - groups['compute']|length >= 1
  31. - node_hostname.stdout in hostvars['K8S_TOKEN_HOLDER']['k8s_nodes_not_ready']
  32. tags: init
  33. - block:
  34. - name: Execute kubeadm join command
  35. shell: >
  36. kubeadm join --token={{ hostvars['K8S_TOKEN_HOLDER']['token'] }}
  37. --discovery-token-ca-cert-hash sha256:{{ hostvars['K8S_TOKEN_HOLDER']['hash'] }}
  38. {{ hostvars['K8S_TOKEN_HOLDER']['ip'] }}:{{ apiserver_bind_port }}
  39. when:
  40. - groups['manager'][0] != groups['compute'][0]
  41. - groups['compute']|length >= 1
  42. - node_hostname.stdout not in hostvars['K8S_TOKEN_HOLDER']['k8s_nodes_ready']
  43. tags: init
  44. rescue:
  45. - name: Execute kubeadm join command failed
  46. fail:
  47. msg: "{{ kubeadm_join_fail_msg }}"