upgrade.yml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ---
  2. # input variables:
  3. # - l_docker_upgrade
  4. # - openshift_is_atomic
  5. # - node_config_hook
  6. # - openshift_pkg_version
  7. # - openshift_release
  8. # tasks file for openshift_node_upgrade
  9. - name: stop services for upgrade
  10. import_tasks: upgrade/stop_services.yml
  11. # Ensure actually install latest package.
  12. - name: install docker upgrade rpm
  13. command: "{{ ansible_pkg_mgr }} install -y docker{{ '-' + docker_version }}"
  14. register: result
  15. until: result is succeeded
  16. when:
  17. - l_docker_upgrade is defined
  18. - l_docker_upgrade | bool
  19. - name: Ensure cri-o is updated
  20. package:
  21. name: cri-o
  22. state: latest
  23. when:
  24. - openshift_use_crio | default(False)
  25. register: crio_update
  26. - name: Restart cri-o
  27. systemd:
  28. name: cri-o
  29. state: restarted
  30. when:
  31. - openshift_use_crio | default(False)
  32. - crio_update is changed
  33. - name: install pre-pulled rpms.
  34. import_tasks: upgrade/rpm_upgrade_install.yml
  35. when: not openshift_is_atomic | bool
  36. - include_tasks: "{{ node_config_hook }}"
  37. when: node_config_hook is defined
  38. - import_tasks: upgrade/config_changes.yml
  39. - import_tasks: dnsmasq_install.yml
  40. - import_tasks: dnsmasq.yml
  41. # Restart all services
  42. - import_tasks: upgrade/restart.yml
  43. - name: Approve node certificates when bootstrapping
  44. oc_adm_csr:
  45. nodes: "{{ openshift.node.nodename | lower }}"
  46. timeout: 180
  47. fail_on_timeout: true
  48. delegate_to: "{{ groups.oo_first_master.0 }}"
  49. ignore_errors: true
  50. - name: Wait for node to be ready
  51. oc_obj:
  52. state: list
  53. kind: node
  54. name: "{{ openshift.node.nodename | lower }}"
  55. register: node_output
  56. delegate_to: "{{ groups.oo_first_master.0 }}"
  57. until:
  58. - node_output.results is defined
  59. - node_output.results.returncode is defined
  60. - node_output.results.results is defined
  61. - node_output.results.returncode == 0
  62. - node_output.results.results[0].status.conditions | selectattr('type', 'match', '^Ready$') | map(attribute='status') | join | bool == True
  63. # Give the node three minutes to come back online.
  64. retries: 36
  65. delay: 5
  66. - import_tasks: journald.yml
  67. - meta: flush_handlers