main.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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: "{{ item }}"
  56. state: restarted
  57. with_items:
  58. - ovs-vswitchd
  59. - ovsdb-server
  60. - openvswitch
  61. when:
  62. - not openshift.common.is_containerized | bool
  63. - ovs_pkg | changed
  64. # Mandatory Docker restart, ensure all containerized services are running:
  65. - include: docker/restart.yml
  66. - name: Update oreg value
  67. yedit:
  68. src: "{{ openshift.common.config_base }}/node/node-config.yaml"
  69. key: 'imageConfig.format'
  70. value: "{{ oreg_url }}"
  71. when: oreg_url is defined
  72. - name: Restart rpm node service
  73. service:
  74. name: "{{ openshift.common.service_type }}-node"
  75. state: restarted
  76. when: not openshift.common.is_containerized | bool
  77. - name: Wait for node to be ready
  78. oc_obj:
  79. state: list
  80. kind: node
  81. name: "{{ openshift.common.hostname | lower }}"
  82. register: node_output
  83. delegate_to: "{{ groups.oo_first_master.0 }}"
  84. until: node_output.results.results[0].status.conditions | selectattr('type', 'match', '^Ready$') | map(attribute='status') | join | bool == True
  85. # Give the node two minutes to come back online.
  86. retries: 24
  87. delay: 5