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

95 lines
3.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
# NOTE(emilien) "openstack overcloud failures" was introduced in Rocky
openstack overcloud failures >> failed_upgrade.log || true
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 \
--output-images-file {{ upgrade_working_dir }}/overcloud_upgrade_containers.yaml \
--output-env-file ~/containers-default-parameters.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 upload --verbose --config-file {{ working_dir }}/overcloud_upgrade_containers.yaml
{% endif %}
{% if target_upgrade_version in ['pike'] %}
# generate container image parameters to pull from local registry
openstack overcloud container image prepare \
--output-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 }}
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
{% else %}
echo "execute overcloud upgrade"
openstack overcloud upgrade --init-update --templates \
--container-registry-file {{ working_dir }}/containers-default-parameters.yaml \
-e ~/overcloud-repo.yaml
# TODO add per rolename
openstack overcloud upgrade --nodes Controller --playbook upgrade_steps_playbook.yaml
openstack overcloud upgrade --nodes Controller --playbook deploy_steps_playbook.yaml
openstack overcloud upgrade --nodes Controller --playbook post_upgrade_steps_playbook.yaml
# featureset has no compute yet... # openstack overcloud upgrade --nodes Compute
openstack overcloud upgrade --converge
{% endif %}
if openstack stack show overcloud | grep "stack_status " | egrep "(CREATE|UPDATE)_COMPLETE"; then
echo "Update successful"
else
exit 1
fi