main.yml 3.0 KB

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