tripleo-upgrade/templates/overcloud_upgrade_run.sh.j2
Sergii Golovatiuk 3eaa416889 FFWD3: Refactor system upgrade
Upgrade should use system_upgrade.yaml that provides Leapp options.
Undercloud should use upgrade run with --system-upgrade and the yaml
file. After this run user has to reboot it.

Introduce tag for Controlplane and Compute upgrades separately so we
can have different stages for them.

Cleanup unneeded code for Overcloud upgrade.

Note that all workaround scripts still use os_upgrade instead of
system_upgrade. The changing of the naming convention for the hooks
can be done in another patch.

Co-authored-by: Daniel Bengtsson <dbengt@redhat.com>
Co-authored-by: Lukas Bezdicka <social@v3.sk>

Change-Id: I573e01b8ce3060f78af5daa61e25fbc428d19518
2023-03-29 11:20:45 +00:00

128 lines
3.6 KiB
Django/Jinja

#!/bin/env bash
#
# Run major upgrade on overcloud nodes
#
set -euo pipefail
{% if overcloud_upgrade_multibooks|bool %}
{%- for playbook in overcloud_upgrade_playbooks -%}
{% if l3_agent_connectivity_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_start_ping.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_start_ping.sh
fi
{% endif %}
{% if l3_agent_failover_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_failover_pre.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_failover_pre.sh
fi
{% endif %}
{% if fip_http_check|bool %}
source {{ overcloud_rc }}
kill -9 $( lsof -t {{ working_dir }}/fip_http_check_start.sh ) || :
bash {{ working_dir }}/fip_http_check_start.sh &
{% endif %}
source {{ undercloud_rc }}
set -o pipefail
echo "[$(date)] Running major upgrade {{ playbook }} playbook for {{ item }} role"
openstack overcloud upgrade run --yes \
--stack {{ overcloud_stack_name }} \
{% if tripleo_upgrade_debug|bool -%}
--debug \
{% endif -%}
--limit {{ item }} --playbook {{ playbook }} 2>&1
echo "[$(date)] Finished major upgrade {{ playbook }} playbook for {{ item }} role"
{%- endfor %}
{# validation scripts should run after all playbooks are finished #}
{% if l3_agent_connectivity_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_stop_ping.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_stop_ping.sh
fi
{% endif %}
{% if l3_agent_failover_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_failover_post.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_failover_post.sh
fi
{% endif %}
{% if fip_http_check|bool %}
source {{ overcloud_rc }}
kill -9 $( lsof -t {{ working_dir }}/fip_http_check_start.sh )
bash {{ working_dir }}/fip_http_check_stop.sh
{% endif %}
{% if launch_sanity_workload|bool %}
bash {{ working_dir }}/workload_launch.sh 'sanity'
{% endif %}
{# finished overcloud_upgrade_multibooks section #}
{% else %}
{% if l3_agent_connectivity_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_start_ping.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_start_ping.sh
fi
{% endif %}
{% if l3_agent_failover_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_failover_pre.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_failover_pre.sh
fi
{% endif %}
{% if fip_http_check|bool %}
source {{ overcloud_rc }}
kill -9 $( lsof -t {{ working_dir }}/fip_http_check_start.sh ) || :
bash {{ working_dir }}/fip_http_check_start.sh &
{% endif %}
source {{ undercloud_rc }}
set -o pipefail
echo "[$(date)] Running major upgrade for {{ item }} role"
openstack overcloud upgrade run --yes \
--stack {{ overcloud_stack_name }} \
{% if tripleo_upgrade_debug|bool %}
--debug \
{% endif -%}
--limit {{ item }} --playbook all 2>&1
echo "[$(date)] Finished major upgrade for {{ item }} role"
{% if l3_agent_connectivity_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_stop_ping.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_stop_ping.sh
fi
{% endif %}
{% if l3_agent_failover_check|bool %}
if [[ -e {{ working_dir }}/l3_agent_failover_post.sh ]]; then
source {{ overcloud_rc }}
bash {{ working_dir }}/l3_agent_failover_post.sh
fi
{% endif %}
{% if fip_http_check|bool %}
source {{ overcloud_rc }}
kill -9 $( lsof -t {{ working_dir }}/fip_http_check_start.sh )
bash {{ working_dir }}/fip_http_check_stop.sh
{% endif %}
{% if launch_sanity_workload|bool %}
bash {{ working_dir }}/workload_launch.sh 'sanity'
{% endif %}
{% endif %}