main.yml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. ---
  2. # input variables:
  3. # - l_docker_upgrade
  4. # - openshift.common.is_atomic
  5. # - node_config_hook
  6. # - openshift_pkg_version
  7. # - openshift.common.is_containerized
  8. # - deployment_type
  9. # - openshift_release
  10. # tasks file for openshift_node_upgrade
  11. - include: docker/upgrade.yml
  12. vars:
  13. # We will restart Docker ourselves after everything is ready:
  14. skip_docker_restart: True
  15. when:
  16. - l_docker_upgrade is defined
  17. - l_docker_upgrade | bool
  18. - not openshift.common.is_containerized | bool
  19. - include: "{{ node_config_hook }}"
  20. when: node_config_hook is defined
  21. - include: rpm_upgrade.yml
  22. vars:
  23. component: "node"
  24. openshift_version: "{{ openshift_pkg_version | default('') }}"
  25. when: not openshift.common.is_containerized | bool
  26. - name: Remove obsolete docker-sdn-ovs.conf
  27. file:
  28. path: "/etc/systemd/system/docker.service.d/docker-sdn-ovs.conf"
  29. state: absent
  30. when: (deployment_type == 'openshift-enterprise' and openshift_release | version_compare('3.4', '>='))
  31. or (deployment_type == 'origin' and openshift_release | version_compare('1.4', '>='))
  32. - include: containerized_node_upgrade.yml
  33. when: openshift.common.is_containerized | bool
  34. - name: Ensure containerized services stopped before Docker restart
  35. service:
  36. name: "{{ item }}"
  37. state: stopped
  38. with_items:
  39. - etcd_container
  40. - openvswitch
  41. - "{{ openshift.common.service_type }}-master"
  42. - "{{ openshift.common.service_type }}-master-api"
  43. - "{{ openshift.common.service_type }}-master-controllers"
  44. - "{{ openshift.common.service_type }}-node"
  45. failed_when: false
  46. when: openshift.common.is_containerized | bool
  47. - name: Upgrade openvswitch
  48. package:
  49. name: openvswitch
  50. state: latest
  51. register: ovs_pkg
  52. when: not openshift.common.is_containerized | bool
  53. - name: Restart openvswitch
  54. systemd:
  55. name: openvswitch
  56. state: restarted
  57. when:
  58. - not openshift.common.is_containerized | bool
  59. - ovs_pkg | changed
  60. # Mandatory Docker restart, ensure all containerized services are running:
  61. - include: docker/restart.yml
  62. - name: Restart rpm node service
  63. service:
  64. name: "{{ openshift.common.service_type }}-node"
  65. state: restarted
  66. when: not openshift.common.is_containerized | bool
  67. - name: Wait for node to be ready
  68. oc_obj:
  69. state: list
  70. kind: node
  71. name: "{{ openshift.common.hostname | lower }}"
  72. register: node_output
  73. delegate_to: "{{ groups.oo_first_master.0 }}"
  74. until: node_output.results.results[0].status.conditions | selectattr('type', 'equalto', 'Ready') | map(attribute='status') | join | bool == True
  75. # Give the node two minutes to come back online.
  76. retries: 24
  77. delay: 5