Call L3 checks before/after Role upgrade.

It worth calling L3-agent checks before and after each role
is upgrade.
This helps to narrow down when the packet loss or L3 failover
occurs.

Change-Id: I058d0171266c21f9ec398018095fd73d8597b745
This commit is contained in:
Yurii Prokulevych 2018-05-04 11:05:35 +02:00
parent e35639bc51
commit 5ca79c26ad
2 changed files with 70 additions and 21 deletions

View File

@ -1,10 +1,4 @@
---
- name: start ping test before major upgrade
include: ../common/l3_agent_connectivity_check_start_script.yml
- name: get L3 agent hosting a router
include: ../common/l3_agent_failover_check_pre_script.yml
- name: run overcloud major upgrade in each of the roles/hostgroups
shell: "bash {{ overcloud_upgrade_run_script_base }}-{{ item }}.sh &> {{ working_dir }}/overcloud_upgrade_run_{{ item }}.log"
with_items:
@ -16,9 +10,3 @@
fail: msg="Overcloud upgrade composable step failed... :("
with_items: "{{ overcloud_upgrade_nodes.results }}"
when: item.rc != 0
- name: check packet loss ratio after major upgrade
include: ../common/l3_agent_connectivity_check_stop_script.yml
- name: check if router failover happened
include: ../common/l3_agent_failover_check_post_script.yml

View File

@ -4,13 +4,27 @@
#
set -euo pipefail
source {{ undercloud_rc }}
{% if overcloud_upgrade_multibooks|bool %}
{% for playbook in overcloud_upgrade_playbooks %}
{%- for playbook in overcloud_upgrade_playbooks -%}
echo "Runing major upgrade {{ playbook }} playbook for {{ item }} role"
{% 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 %}
source {{ undercloud_rc }}
echo "[$(date)] Runing major upgrade {{ playbook }} playbook for {{ item }} role"
openstack overcloud upgrade run \
--stack {{ overcloud_stack_name }} \
{% if tripleo_upgrade_debug|bool -%}
@ -21,19 +35,66 @@ openstack overcloud upgrade run \
{% endif -%}
--roles {{ item }} --playbook {{ playbook }} 2>&1
{% endfor -%}
echo "[$(date)] Finished major upgrade {{ playbook }} playbook 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 %}
{%- endfor %}
{% else %}
echo "Runing major upgrade for {{ item }} role"
{% 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 %}
source {{ undercloud_rc }}
echo "[$(date)] Runing major upgrade for {{ item }} role"
openstack overcloud upgrade run \
--stack {{ overcloud_stack_name }} \
{% if tripleo_upgrade_debug|bool %}
--debug \
{% endif %}
{% if overcloud_ssh_user %}
{% endif -%}
{% if overcloud_ssh_user -%}
--ssh-user {{ overcloud_ssh_user }} \
{% endif %}
{% endif -%}
--roles {{ 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 %}
{% endif %}