tripleo-quickstart-extras/roles/overcloud-upgrade/templates/major-upgrade-overcloud-con...

69 lines
2.3 KiB
Django/Jinja

#!/bin/bash
set -ux
onerror(){
echo "Command failed"
# get the failures list
openstack stack resource list overcloud >> failed_upgrade_list.log || true
openstack stack failures list --long overcloud >> failed_upgrade.log
exit 1
}
trap onerror ERR
source {{ upgrade_working_dir }}/stackrc
{% if containerized_overcloud_upgrade_pull_images|bool %}
# pull latest containers to the registry
openstack overcloud container image prepare \
--images-file {{ upgrade_working_dir }}/overcloud_upgrade_containers.yaml \
-e {{ tht_dir }}/environments/docker.yaml \
--namespace {{ docker_registry_namespace }} \
--tag {{ docker_image_tag }} \
--push-destination {{ local_docker_registry_host }}:8787
openstack overcloud container image prepare \
--env-file ~/containers-default-parameters.yaml \
-e {{ tht_dir }}/environments/docker.yaml \
--namespace {{ local_docker_registry_host }}:8787/{{ docker_registry_namespace }} \
--tag {{ docker_image_tag }}
openstack overcloud container image upload --verbose --config-file {{ working_dir }}/overcloud_upgrade_containers.yaml
echo " DockerInsecureRegistryAddress: {{ local_docker_registry_host }}:8787" >> \
~/containers-default-parameters.yaml
{% endif %}
{% if target_upgrade_version in ['pike', 'master'] %}
echo "execute overcloud upgrade"
openstack overcloud deploy --templates {{ tht_dir }} \
{{ deploy_args_used }} \
-e {{ tht_dir }}/environments/major-upgrade-composable-steps-docker.yaml \
-e ~/containers-default-parameters.yaml \
-e ~/overcloud-repo.yaml \
{% for item in upgrade_custom_templates %}
-e {{ item }} \
{% endfor %}
-e {{ tht_dir }}/environments/docker.yaml
if openstack stack show overcloud | grep "stack_status " | egrep "(CREATE|UPDATE)_COMPLETE"; then
openstack overcloud deploy --templates {{ tht_dir }} \
{{ deploy_args_used }} \
-e {{ tht_dir }}/environments/major-upgrade-converge-docker.yaml \
-e ~/containers-default-parameters.yaml \
{% for item in upgrade_custom_templates %}
-e {{ item }} \
{% endfor %}
-e {{ tht_dir }}/environments/docker.yaml
fi
{% endif %}
if openstack stack show overcloud | grep "stack_status " | egrep "(CREATE|UPDATE)_COMPLETE"; then
echo "Update successful"
else
exit 1
fi