#!/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 \ {{ scenario_args }} \ {% for item in upgrade_custom_templates %} -e {{ item }} \ {% endfor %} --namespace {{ docker_registry_host }}/{{ 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 \ {{ scenario_args }} \ {% for item in upgrade_custom_templates %} -e {{ item }} \ {% endfor %} --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/docker.yaml \ {{ scenario_args }} \ -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 %} 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/docker.yaml \ {{ scenario_args }} \ -e {{ tht_dir }}/environments/major-upgrade-converge-docker.yaml \ -e ~/containers-default-parameters.yaml \ {% for item in upgrade_custom_templates %} -e {{ item }} \ {% endfor %} fi {% endif %} if openstack stack show overcloud | grep "stack_status " | egrep "(CREATE|UPDATE)_COMPLETE"; then echo "Update successful" else exit 1 fi