--- # input variables: # - l_docker_upgrade # - openshift.common.is_atomic # - node_config_hook # - openshift_pkg_version # - openshift.common.is_containerized # - deployment_type # - openshift_release # tasks file for openshift_node_upgrade - include: docker/upgrade.yml vars: # We will restart Docker ourselves after everything is ready: skip_docker_restart: True when: - l_docker_upgrade is defined - l_docker_upgrade | bool - not openshift.common.is_containerized | bool - include: "{{ node_config_hook }}" when: node_config_hook is defined - include: rpm_upgrade.yml vars: component: "node" openshift_version: "{{ openshift_pkg_version | default('') }}" when: not openshift.common.is_containerized | bool - name: Remove obsolete docker-sdn-ovs.conf file: path: "/etc/systemd/system/docker.service.d/docker-sdn-ovs.conf" state: absent when: (deployment_type == 'openshift-enterprise' and openshift_release | version_compare('3.4', '>=')) or (deployment_type == 'origin' and openshift_release | version_compare('1.4', '>=')) - include: containerized_node_upgrade.yml when: openshift.common.is_containerized | bool - name: Ensure containerized services stopped before Docker restart service: name: "{{ item }}" state: stopped with_items: - etcd_container - openvswitch - "{{ openshift.common.service_type }}-master" - "{{ openshift.common.service_type }}-master-api" - "{{ openshift.common.service_type }}-master-controllers" - "{{ openshift.common.service_type }}-node" failed_when: false when: openshift.common.is_containerized | bool - name: Stop rpm based services service: name: "{{ item }}" state: stopped with_items: - "{{ openshift.common.service_type }}-node" - openvswitch failed_when: false when: not openshift.common.is_containerized | bool - name: Upgrade openvswitch package: name: openvswitch state: latest when: not openshift.common.is_containerized | bool - name: Restart openvswitch systemd: name: openvswitch state: started when: - not openshift.common.is_containerized | bool # Mandatory Docker restart, ensure all containerized services are running: - include: docker/restart.yml - name: Update oreg value yedit: src: "{{ openshift.common.config_base }}/node/node-config.yaml" key: 'imageConfig.format' value: "{{ oreg_url }}" when: oreg_url is defined - name: Restart rpm node service service: name: "{{ openshift.common.service_type }}-node" state: restarted when: not openshift.common.is_containerized | bool - name: Wait for node to be ready oc_obj: state: list kind: node name: "{{ openshift.common.hostname | lower }}" register: node_output delegate_to: "{{ groups.oo_first_master.0 }}" until: node_output.results.results[0].status.conditions | selectattr('type', 'match', '^Ready$') | map(attribute='status') | join | bool == True # Give the node two minutes to come back online. retries: 24 delay: 5