3eaa416889
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
128 lines
3.6 KiB
Django/Jinja
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 %}
|