diff options
| author | Devan Goodwin <dgoodwin@redhat.com> | 2016-06-09 08:08:49 -0300 | 
|---|---|---|
| committer | Devan Goodwin <dgoodwin@redhat.com> | 2016-06-09 10:18:16 -0300 | 
| commit | 096cf64128ebcb1249044a1cb28b1b06154766ae (patch) | |
| tree | a8563ad78e480d32f858a679757b3831ce35c6e9 /playbooks/common/openshift-cluster/upgrades | |
| parent | 258ea62f3bb1bfc89eb4e676c77d1610aa067c43 (diff) | |
Begin major simplification of 3.2 upgrade.
Diffstat (limited to 'playbooks/common/openshift-cluster/upgrades')
| -rw-r--r-- | playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml | 97 | 
1 files changed, 24 insertions, 73 deletions
| diff --git a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml index 8596443c0..03b4bd751 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml @@ -77,7 +77,6 @@    roles:    - openshift_facts    tasks: -  - fail:    - openshift_facts:        role: master        local_facts: @@ -116,22 +115,20 @@        enabled: yes      when: openshift.common.is_containerized | bool -- name: Verify upgrade can proceed +- name: Verify upgrade can proceed on masters and nodes    hosts: oo_masters_to_config:oo_nodes_to_config    vars: -    target_version: "{{ '1.2' if deployment_type == 'origin' else '3.1.1.900' }}" +    target_version: "{{ '1.2' if deployment_type == 'origin' else '3.2' }}"      openshift_docker_hosted_registry_network: "{{ hostvars[groups.oo_first_master.0].openshift.common.portal_net }}" -    upgrading: True -  handlers: -  - include: ../../../../../roles/openshift_master/handlers/main.yml -  - include: ../../../../../roles/openshift_node/handlers/main.yml -  roles: -  # We want the cli role to evaluate so that the containerized oc/oadm wrappers -  # are modified to use the correct image tag.  However, this can trigger a -  # docker restart if new configuration is laid down which would immediately -  # pull the latest image and defeat the purpose of these tasks. -  - { role: openshift_cli }    pre_tasks: +  - fail: +      msg: Verify OpenShift is already installed +    when: openshift.common.version is not defined + +  - fail: +      msg: Verify the correct version was found +    when: verify_upgrade_version is defined and openshift_version != verify_upgrade_version +    - name: Clean package cache      command: "{{ ansible_pkg_mgr }} clean all"      when: not openshift.common.is_atomic | bool @@ -140,60 +137,17 @@        g_new_service_name: "{{ 'origin' if deployment_type =='origin' else 'atomic-openshift' }}"      when: not openshift.common.is_containerized | bool -  - name: Determine available versions -    script: ../files/rpm_versions.sh {{ g_new_service_name }} -    register: g_rpm_versions_result -    when: not openshift.common.is_containerized | bool - -  - debug: var=g_rpm_versions_result - -  - set_fact: -      g_aos_versions: "{{ g_rpm_versions_result.stdout | from_yaml }}" -    when: not openshift.common.is_containerized | bool - -  - name: Determine available versions -    script: ../files/openshift_container_versions.sh {{ openshift.common.service_type }} -    register: g_containerized_versions_result -    when: openshift.common.is_containerized | bool - -  - set_fact: -      g_aos_versions: "{{ g_containerized_versions_result.stdout | from_yaml }}" +  - name: Verify containers are available for upgrade +    command: > +      docker pull {{ openshift.common.cli_image }}:v{{ openshift_version }}      when: openshift.common.is_containerized | bool -  - set_fact: -      g_new_version: "{{ g_aos_versions.curr_version.split('-', 1).0 if g_aos_versions.avail_version is none else g_aos_versions.avail_version.split('-', 1).0 }}" -    when: openshift_pkg_version is not defined - -  - set_fact: -      g_new_version: "{{ openshift_pkg_version | replace('-','') }}" -    when: openshift_pkg_version is defined - -  - set_fact: -      g_new_version: "{{ openshift_image_tag | replace('v','') }}" -    when: openshift_image_tag is defined - -  - fail: -      msg: Verifying the correct version was found -    when: g_aos_versions.curr_version == "" - -  - fail: -      msg: Verifying the correct version was found -    when: verify_upgrade_version is defined and g_new_version != verify_upgrade_version - -  - include_vars: ../../../../../roles/openshift_master/vars/main.yml -    when: inventory_hostname in groups.oo_masters_to_config - -  - name: Update systemd units -    include: ../../../../../roles/openshift_master/tasks/systemd_units.yml openshift_version=v{{ g_new_version }} -    when: inventory_hostname in groups.oo_masters_to_config - -  - include_vars: ../../../../../roles/openshift_node/vars/main.yml -    when: inventory_hostname in groups.oo_nodes_to_config - -  - name: Update systemd units -    include: ../../../../../roles/openshift_node/tasks/systemd_units.yml openshift_version=v{{ g_new_version }} -    when: inventory_hostname in groups.oo_nodes_to_config +  - name: Verify RPMs are available for upgrade +    command: > +      yum list available -e 0 -q "{{ g_new_service_name }}" 2>&1 | tail -n +2 | grep -v 'el7ose' | awk '{ print $2 }' | sort -r | tr '\n' ' ') +    when: not openshift.common.is_containerized | bool +  # TODO: Are these two grep checks necessary anymore?    # Note: the version number is hardcoded here in hopes of catching potential    # bugs in how g_aos_versions.curr_version is set    - name: Verifying the correct version is installed for upgrade @@ -208,19 +162,15 @@      with_items:        - /etc/systemd/system/openvswitch.service        - /etc/systemd/system/{{ openshift.common.service_type }}*.service -    when: openshift.common.is_containerized | bool - -  - fail: -      msg: This playbook requires Origin 1.1 or later -    when: deployment_type == 'origin' and g_aos_versions.curr_version | version_compare('1.1','<') +    when: openshift.common.is_containerized | bool and verify_upgrade_version is defined    - fail: -      msg: This playbook requires Atomic Enterprise Platform/OpenShift Enterprise 3.1 or later -    when: deployment_type == 'atomic-openshift' and g_aos_versions.curr_version | version_compare('3.1','<') +      msg: This upgrade playbook must be run on Origin 1.1 or later +    when: deployment_type == 'origin' and openshift.common.version | version_compare('1.1','<')    - fail: -      msg: Upgrade packages not found -    when: openshift_image_tag is not defined and (g_aos_versions.avail_version | default(g_aos_versions.curr_version, true) | version_compare(target_version, '<')) +      msg: This upgrade playbook must be run on OpenShift Enterprise 3.1 or later +    when: deployment_type == 'atomic-openshift' and openshift.common.version | version_compare('3.1','<')    - name: Determine available Docker      script: ../files/rpm_versions.sh docker @@ -240,6 +190,7 @@        g_docker_version: "{{ g_atomic_docker_version_result.stdout | from_yaml }}"      when: openshift.common.is_atomic | bool +  # TODO: Update to 1.10 once branch merges    - fail:        msg: This playbook requires access to Docker 1.9 or later      when: g_docker_version.avail_version | default(g_docker_version.curr_version, true) | version_compare('1.9','<') | 
