Upgrade UC and OC using tripleo-upgrade role.
Link tripleo-upgrade [0] role into oooq multinode playbook: - Added a containers preparation step for upgrades - Call tripleo-upgrade role with the specific parameters set in the job featureset. [0] https://github.com/openstack/tripleo-upgrade This keeps backward compatibility. All the necessary bit for the docker switching repository configuration will come in a later patch. Here we just add the step. The first target of this role being O->P, this isn't yet needed as docker images are not upgrade in this scenario. We are introducing a tech-debt here. We have to refactor the set of tasks introduced in the playbook to a proper role inside oooq-extra. This should be done in a following refactor. Related-Bug: #1749740 implements: blueprint tripleo-upgrade Co-Authored-By: Sofer Athlan-Guyot <sathlang@redhat.com> Change-Id: I92a1d915441686453ef0b241e4ba151c03595074
This commit is contained in:
parent
966a9650a0
commit
80ba11d9d6
|
@ -33,7 +33,7 @@
|
|||
- overcloud-prep-containers
|
||||
roles:
|
||||
- role: overcloud-prep-containers
|
||||
when: containerized_overcloud|bool or containerized_overcloud_upgrade|bool
|
||||
when: containerized_overcloud|bool
|
||||
|
||||
- name: Run tripleo-validations pre-deployment tests
|
||||
hosts: undercloud
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
- name: Set up repos on subnodes for upgrading
|
||||
hosts: overcloud
|
||||
vars:
|
||||
ib_repo_host: undercloud
|
||||
roles:
|
||||
- role: repo-setup
|
||||
when: mixed_upgrade|default(false)|bool
|
||||
- role: install-built-repo
|
||||
when: hostvars['undercloud']['compressed_gating_repo'] is defined and mixed_upgrade|default(false)|bool
|
||||
|
||||
- name: Upgrade Tripleo
|
||||
hosts: undercloud
|
||||
tags:
|
||||
- overcloud-upgrade
|
||||
gather_facts: no
|
||||
roles:
|
||||
- role: overcloud-upgrade
|
||||
when: containerized_overcloud_upgrade|bool
|
|
@ -0,0 +1,69 @@
|
|||
- name: Prepare containers for Upgrade
|
||||
hosts: undercloud
|
||||
gather_facts: no
|
||||
tags:
|
||||
- overcloud-prep-containers
|
||||
roles:
|
||||
- role: overcloud-prep-containers
|
||||
when: containerized_overcloud_upgrade|bool
|
||||
|
||||
- name: Generate repo-setup script for overcloud upgrade
|
||||
hosts: undercloud
|
||||
tags:
|
||||
- overcloud-upgrade
|
||||
gather_facts: no
|
||||
vars:
|
||||
repo_run_live: false
|
||||
repo_setup_script: "repo-setup-{{ target_upgrade_version }}.sh"
|
||||
# Avoid running yum update, only set up repos
|
||||
repo_setup_run_update: false
|
||||
roles:
|
||||
- role: repo-setup
|
||||
when: containerized_overcloud_upgrade|bool
|
||||
|
||||
|
||||
#FIXME(chem): tech-debt LP#1749740
|
||||
- name: Upgrade TripleO
|
||||
hosts: undercloud
|
||||
gather_facts: yes
|
||||
tags:
|
||||
- overcloud-upgrade
|
||||
vars:
|
||||
update_repo_script: "{{ lookup('file', '{{ working_dir }}/repo-setup-{{ target_upgrade_version }}.sh') }}"
|
||||
tripleo_upgrade_branch: "{{ 'stable/'+target_upgrade_version if target_upgrade_version!='master' else target_upgrade_version }}"
|
||||
tasks:
|
||||
- name: Filter ansible_br_*
|
||||
setup:
|
||||
filter: ansible_br_*
|
||||
|
||||
- name: Copy current T-H-T directory to the upgrade working dir
|
||||
synchronize:
|
||||
src: /usr/share/openstack-tripleo-heat-templates
|
||||
dest: "{{ overcloud_templates_path }}"
|
||||
|
||||
- name: Check if we have a local copy of the tripleo-upgrade role
|
||||
stat:
|
||||
path: /opt/stack/new/tripleo-upgrade
|
||||
register: tripleo_upgrade_local_role
|
||||
|
||||
- name: Set the pip URL when we have a local copy of the role
|
||||
set_fact:
|
||||
tripleo_upgrade_pip_url: "file:///opt/stack/new/tripleo-upgrade#egg=tripleo-upgrade"
|
||||
when: tripleo_upgrade_local_role.stat.exists
|
||||
|
||||
- name: Set the pip URL when we DO NOT have a local copy of the role
|
||||
set_fact:
|
||||
tripleo_upgrade_pip_url: "git+https://git.openstack.org/openstack/tripleo-upgrade.git@{{ tripleo_upgrade_branch }}#egg=tripleo-upgrade"
|
||||
when: tripleo_upgrade_local_role.stat.exists == False
|
||||
|
||||
- name: Install tripleo-upgrade role "{{ tripleo_upgrade_branch }}" branch
|
||||
pip:
|
||||
name: "{{ tripleo_upgrade_pip_url }}"
|
||||
executable: "{{ local_working_dir }}/bin/pip"
|
||||
|
||||
- name: Run Tripleo-upgrade role
|
||||
vars:
|
||||
upgrade_init_command: "{{ update_repo_script }}"
|
||||
include_role:
|
||||
name: tripleo-upgrade
|
||||
when: containerized_overcloud_upgrade|bool
|
|
@ -1,18 +1,12 @@
|
|||
- name: Set up repos on subnodes for upgrading
|
||||
hosts: overcloud
|
||||
vars:
|
||||
ib_repo_host: undercloud
|
||||
roles:
|
||||
- role: repo-setup
|
||||
when: mixed_upgrade|default(false)|bool
|
||||
- role: install-built-repo
|
||||
when: hostvars['undercloud']['compressed_gating_repo'] is defined and mixed_upgrade|default(false)|bool
|
||||
# TODO: This is to keep legacy job compatibility.
|
||||
# Currently used by P->Q and O->P job.
|
||||
- name: Overcloud upgrade compatibility mode. Please switch to tripleo-upgrade role.
|
||||
when: not use_tripleo_upgrade|default(false)|bool
|
||||
include: multinode-overcloud-upgrade-legacy.yml
|
||||
|
||||
# TODO(chem): that glue code part should be in its own role, to keep the
|
||||
# playbook clean.
|
||||
- name: Overcloud tripleo-upgrade.
|
||||
when: use_tripleo_upgrade|default(false)|bool
|
||||
include: multinode-overcloud-upgrade-new.yml
|
||||
|
||||
- name: Upgrade Tripleo
|
||||
hosts: undercloud
|
||||
tags:
|
||||
- overcloud-upgrade
|
||||
gather_facts: no
|
||||
roles:
|
||||
- role: overcloud-upgrade
|
||||
when: containerized_overcloud_upgrade|bool
|
||||
|
|
Loading…
Reference in New Issue