main.yml 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. ---
  2. - name: Calico Node | Error if invalid cert arguments
  3. fail:
  4. msg: "Must provide all or none for the following etcd params: calico_etcd_cert_dir, calico_etcd_ca_cert_file, calico_etcd_cert_file, calico_etcd_key_file, calico_etcd_endpoints"
  5. when: (calico_etcd_cert_dir is defined or calico_etcd_ca_cert_file is defined or calico_etcd_cert_file is defined or calico_etcd_key_file is defined or calico_etcd_endpoints is defined) and not (calico_etcd_cert_dir is defined and calico_etcd_ca_cert_file is defined and calico_etcd_cert_file is defined and calico_etcd_key_file is defined and calico_etcd_endpoints is defined)
  6. - name: Calico Node | Generate certs if not provided
  7. include: gen_certs.yml
  8. when: item is not defined
  9. with_items:
  10. - calico_etcd_ca_cert_file
  11. - calico_etcd_cert_file
  12. - calico_etcd_key_file
  13. - calico_etcd_endpoints
  14. - calico_etcd_cert_dir
  15. - name: Calico Node | Error if no certs set.
  16. fail:
  17. msg: "Invalid etcd configuration for calico."
  18. when: item is not defined or item == ''
  19. with_items:
  20. - calico_etcd_ca_cert_file
  21. - calico_etcd_cert_file
  22. - calico_etcd_key_file
  23. - calico_etcd_endpoints
  24. - name: Calico Node | Assure the calico certs are present
  25. stat:
  26. path: "{{ item }}"
  27. with_items:
  28. - "{{ calico_etcd_ca_cert_file }}"
  29. - "{{ calico_etcd_cert_file}}"
  30. - "{{ calico_etcd_key_file }}"
  31. - name: Calico Node | Configure Calico service unit file
  32. template:
  33. dest: "/lib/systemd/system/calico.service"
  34. src: calico.service.j2
  35. - name: Calico Node | Enable calico
  36. become: yes
  37. systemd:
  38. name: calico
  39. daemon_reload: yes
  40. state: started
  41. enabled: yes
  42. register: start_result
  43. - name: Calico Node | Assure CNI conf dir exists
  44. become: yes
  45. file: path="{{ cni_conf_dir }}" state=directory
  46. - name: Calico Node | Generate Calico CNI config
  47. become: yes
  48. template:
  49. src: "10-calico.conf.j2"
  50. dest: "{{ cni_conf_dir }}/10-calico.conf"
  51. - name: Calico Node | Assures Kuberentes CNI bin dir exists
  52. become: yes
  53. file: path="{{ cni_bin_dir }}" state=directory
  54. - name: Calico Node | Download Calico CNI Plugin
  55. become: yes
  56. get_url:
  57. url: "{{ calico_url_cni }}"
  58. dest: "{{ cni_bin_dir }}"
  59. mode: a+x
  60. - name: Calico Node | Download Calico IPAM Plugin
  61. become: yes
  62. get_url:
  63. url: "{{ calico_url_ipam }}"
  64. dest: "{{ cni_bin_dir }}"
  65. mode: a+x
  66. - name: Calico Node | Download and extract standard CNI plugins
  67. become: yes
  68. unarchive:
  69. remote_src: True
  70. src: "{{ cni_url }}"
  71. dest: "{{ cni_bin_dir }}"
  72. - name: Calico Node | Assure Calico conf dir exists
  73. become: yes
  74. file: path=/etc/calico/ state=directory
  75. - name: Calico Node | Set calicoctl.cfg
  76. template:
  77. src: calicoctl.cfg.j2
  78. dest: "/etc/calico/calicoctl.cfg"