tripleo-upgrade/templates/ceph-upgrade-run.sh.j2

97 lines
3.2 KiB
Django/Jinja

#!/bin/env bash
set -euo pipefail
{% 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
EXTERNAL_ANSWER=""
if openstack overcloud external-upgrade run --help | grep -qe "--yes"; then
EXTERNAL_ANSWER="--yes"
fi
set -o pipefail
echo "[$(date)] Major upgrade - Ceph upgrade step"
openstack overcloud external-upgrade run ${EXTERNAL_ANSWER} \
--stack {{ overcloud_stack_name }} \
{% if ceph_upgrade_skip_tags|default(false) -%}
--skip-tags "{{ ceph_upgrade_skip_tags }}" \
{% endif -%}
--tags ceph,facts 2>&1
echo "[$(date)] Major upgrade - finished Ceph upgrade step"
## Install cephadm on the servers
echo "[$(date)] Major upgrade - cephadm-admin user and distribute keyrings step"
ANSIBLE_LOG_PATH=/home/stack/cephadm_enable_user_key.log \
ANSIBLE_HOST_KEY_CHECKING=false \
ansible-playbook -i /home/stack/overcloud-deploy/{{ overcloud_stack_name }}/config-download/{{ overcloud_stack_name }}/tripleo-ansible-inventory.yaml \
-b -e ansible_python_interpreter=/usr/libexec/platform-python /usr/share/ansible/tripleo-playbooks/ceph-admin-user-playbook.yml \
-e tripleo_admin_user=ceph-admin \
-e distribute_private_key=true \
--limit @/home/stack/ceph_host_limit.txt
echo "[$(date)] Major upgrade - finished cephadm-admin user and distribute keyrings step"
echo "[$(date)] Major upgrade - upgrade run setup_packages"
openstack overcloud upgrade run ${EXTERNAL_ANSWER} \
--stack {{ overcloud_stack_name }} \
--tags setup_packages --limit @/home/stack/ceph_host_limit.txt --playbook /home/stack/overcloud-deploy/{{ overcloud_stack_name }}/config-download/{{ overcloud_stack_name }}/upgrade_steps_playbook.yaml 2>&1
echo "[$(date)] Major upgrade - upgrade run setup_packages"
echo "[$(date)] Major upgrade - Cephadm adoption"
openstack overcloud external-upgrade run ${EXTERNAL_ANSWER} \
--stack {{ overcloud_stack_name }} \
{% if ceph_upgrade_skip_tags|default(false) -%}
--skip-tags "{{ ceph_upgrade_skip_tags }}" \
{% endif -%}
--tags cephadm_adopt 2>&1
echo "[$(date)] Major upgrade - finished Cephadm adoption step"
{% 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 %}