main.yml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. ---
  2. - name: Calico | Run kube proxy
  3. run_once: true
  4. import_role:
  5. name: kube_proxy_and_dns
  6. - include_tasks: certs.yml
  7. - name: Calico Master | oc adm policy add-scc-to-user privileged system:serviceaccount:kube-system:calico-node
  8. oc_adm_policy_user:
  9. user: system:serviceaccount:kube-system:calico-node
  10. resource_kind: scc
  11. resource_name: privileged
  12. state: present
  13. - name: Calico Master | oc adm policy add-scc-to-user privileged system:serviceaccount:kube-system:calico-kube-controllers
  14. oc_adm_policy_user:
  15. user: system:serviceaccount:kube-system:calico-kube-controllers
  16. resource_kind: scc
  17. resource_name: privileged
  18. state: present
  19. - name: Calico Master | oc adm policy add-scc-to-user privileged system:serviceaccount:kube-system:calico-upgrade-job
  20. oc_adm_policy_user:
  21. user: system:serviceaccount:kube-system:calico-upgrade-job
  22. resource_kind: scc
  23. resource_name: privileged
  24. state: present
  25. - name: Set default selector for kube-system
  26. command: >
  27. {{ openshift_client_binary }}
  28. --config={{ openshift.common.config_base }}/master/admin.kubeconfig
  29. annotate ns kube-system openshift.io/node-selector="" --overwrite
  30. - name: Calico Master | Create temp directory
  31. command: mktemp -d /tmp/openshift-ansible-XXXXXXX
  32. register: mktemp
  33. changed_when: False
  34. - name: Calico Master | Parse node version
  35. set_fact:
  36. node_version: "{{ calico_node_image | regex_replace('^.*node:v?(.*)$', '\\1') }}"
  37. cnx: "{{ calico_node_image | regex_replace('^.*/(.*)-node:.*$', '\\1') }}"
  38. - name: Calico Master | Write Calico v2
  39. template:
  40. dest: "{{ mktemp.stdout }}/calico.yml"
  41. src: calico.yml.j2
  42. when:
  43. - node_version | regex_search('^[0-9]\.[0-9]\.[0-9]') and node_version < '3.0.0'
  44. - cnx != "cnx"
  45. - name: Calico Master | Write Calico v3
  46. template:
  47. dest: "{{ mktemp.stdout }}/calico.yml"
  48. src: calicov3.yml.j2
  49. when: (node_version | regex_search('^[0-9]\.[0-9]\.[0-9]') and node_version >= '3.0.0') or (node_version == 'master') or (cnx == "cnx" and node_version >= '2.0.0')
  50. - name: Calico Master | Launch Calico
  51. command: >
  52. {{ openshift_client_binary }} apply
  53. -f {{ mktemp.stdout }}/calico.yml
  54. --config={{ openshift.common.config_base }}/master/admin.kubeconfig
  55. register: calico_create_output
  56. failed_when: "calico_create_output.rc != 0"
  57. changed_when: "('created' in calico_create_output.stdout) or ('configured' in calico_create_output.stdout)"
  58. - name: Calico Master | Delete temp directory
  59. file:
  60. name: "{{ mktemp.stdout }}"
  61. state: absent
  62. changed_when: False