sync.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ---
  2. - name: Ensure project exists
  3. oc_project:
  4. name: openshift-node
  5. state: present
  6. node_selector:
  7. - ""
  8. - name: Make temp directory for templates
  9. command: mktemp -d /tmp/ansible-XXXXXX
  10. register: mktemp
  11. changed_when: False
  12. - name: Copy templates to temp directory
  13. copy:
  14. src: "{{ item }}"
  15. dest: "{{ mktemp.stdout }}/{{ item | basename }}"
  16. with_fileglob:
  17. - "files/*.yaml"
  18. - name: Update the image tag
  19. yedit:
  20. src: "{{ mktemp.stdout }}/sync-images.yaml"
  21. key: 'tag.from.name'
  22. value: "{{ osn_image }}"
  23. - name: Ensure the service account can run privileged
  24. oc_adm_policy_user:
  25. namespace: "openshift-node"
  26. resource_kind: scc
  27. resource_name: privileged
  28. state: present
  29. user: "system:serviceaccount:openshift-node:sync"
  30. # TODO: temporary until we fix apply for image stream tags
  31. - name: Remove the image stream tag
  32. shell: >
  33. {{ openshift_client_binary }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig delete -n openshift-node istag node:v3.11 --ignore-not-found
  34. - name: Apply the config
  35. shell: >
  36. {{ openshift_client_binary }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig apply -f {{ mktemp.stdout }}
  37. - name: Remove temp directory
  38. file:
  39. state: absent
  40. name: "{{ mktemp.stdout }}"
  41. changed_when: False
  42. - name: Wait for the sync daemonset to become ready and available
  43. oc_obj:
  44. state: list
  45. kind: daemonset
  46. name: sync
  47. namespace: openshift-node
  48. register: __status_of_sync_ds
  49. until:
  50. - __status_of_sync_ds.results is defined
  51. - __status_of_sync_ds.results.results is defined
  52. - __status_of_sync_ds.results.results | length > 0
  53. - __status_of_sync_ds.results.results[0].status is defined
  54. - __status_of_sync_ds.results.results[0].status.numberAvailable is defined
  55. - __status_of_sync_ds.results.results[0].status.desiredNumberScheduled is defined
  56. - __status_of_sync_ds.results.results[0].status.numberAvailable == __status_of_sync_ds.results.results[0].status.desiredNumberScheduled
  57. retries: 60
  58. delay: 30
  59. failed_when: false