Implement Keystone zero-downtime upgrade

- Introduce database upgrade into keystone
  extend_start.sh script. [1]

[1] http://docs.openstack.org/developer/keystone/upgrading.html#upgrading-without-downtime

Change-Id: Ic615026df2ce8fa79a3efe969d0dda9797c9e79f
Closes-Bug: #1634016
This commit is contained in:
Duong Ha-Quang 2016-10-19 14:42:10 +07:00
parent f5a9c8c71c
commit 6682d07add
2 changed files with 22 additions and 0 deletions

View File

@ -41,6 +41,25 @@ if [[ $(stat -c %a ${KEYSTONE_LOG_DIR}) != "755" ]]; then
chmod 755 ${KEYSTONE_LOG_DIR}
fi
# Upgrade and exit if KOLLA_UPGRADE variable is set. This catches all cases
# of the KOLLA_UPGRADE variable being set, including empty.
if [[ "${!KOLLA_UPGRADE[@]}" ]]; then
# TODO(duonghq): check doctor result here
# TODO: find reason why doctor failed in gate
# sudo -H -u keystone keystone-manage doctor
sudo -H -u keystone keystone-manage db_sync --expand
sudo -H -u keystone keystone-manage db_sync --migrate
exit 0
fi
# Contract database and exit if KOLLA_FINISH_UPGRADE variable is set.
# This catches all cases of the KOLLA_FINISH_UPGRADE variable being set,
# including empty.
if [[ "${!KOLLA_FINISH_UPGRADE[@]}" ]]; then
sudo -H -u keystone keystone-manage db_sync --contract
exit 0
fi
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
# of the KOLLA_BOOTSTRAP variable being set, including empty.
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then

View File

@ -0,0 +1,3 @@
---
features:
- Add supporting script for Keystone zero-downtime upgrade.