89 lines
3.3 KiB
YAML
89 lines
3.3 KiB
YAML
- 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
|
|
role: install-built-repo
|
|
when: hostvars['undercloud']['compressed_gating_repo'] is defined and mixed_upgrade|default(false)|bool
|
|
|
|
- name: Prepare containers for Upgrade
|
|
hosts: undercloud
|
|
gather_facts: no
|
|
tags:
|
|
- overcloud-prep-containers
|
|
roles:
|
|
- role: overcloud-prep-containers
|
|
# This need the new repo in place.
|
|
update_containers: true
|
|
# This enable us to run it even on non-containerized overcloud deployment
|
|
# ie, ffu upgrade where deployment is on newton.
|
|
containerized_overcloud: "{{prep_container_upgrade_run|default(false)}}"
|
|
# Do not overwrite the deployment log if any.
|
|
overcloud_prep_containers_log: "upgrade_overcloud_prep_containers.log"
|
|
overcloud_prep_containers_script: "upgrade_overcloud_prep_containers.sh"
|
|
when: containerized_overcloud_upgrade|bool
|
|
|
|
#FIXME(chem): tech-debt LP#1749740
|
|
- name: Upgrade TripleO
|
|
hosts: undercloud
|
|
gather_facts: yes
|
|
tags:
|
|
- overcloud-upgrade
|
|
vars:
|
|
repo_setup_script: "{{ 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: Check repo setup script exists
|
|
stat:
|
|
path: "{{ repo_setup_script }}"
|
|
register: repo_script_status
|
|
|
|
- name: Set fact with repo script content or false
|
|
set_fact:
|
|
update_repo_script_content: "{% if repo_script_status.stat.exists %}{{ lookup('file', repo_setup_script) }}{% else %}false{% endif %}"
|
|
|
|
- name: Copy current T-H-T directory to the upgrade working dir
|
|
synchronize:
|
|
src: /usr/share/openstack-tripleo-heat-templates
|
|
dest: "{{ overcloud_templates_path }}"
|
|
when: containerized_overcloud_upgrade|bool
|
|
|
|
- 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_content }}"
|
|
include_role:
|
|
name: tripleo-upgrade
|
|
when: containerized_overcloud_upgrade|bool or undercloud_upgrade|default(false)|bool
|