diff options
| author | Duong Ha-Quang <duonghq@vn.fujitsu.com> | 2016-10-19 14:42:10 +0700 |
|---|---|---|
| committer | Duong Ha-Quang <duonghq@vn.fujitsu.com> | 2017-03-23 03:33:44 +0000 |
| commit | 6682d07addb9063a231199b3219bdcf6c932d218 (patch) | |
| tree | bc58ae08701e6d8cdd3cfbf87c5114d00e614332 /docker | |
| parent | f5a9c8c71c7b663ea286fd6779997053713a05fb (diff) | |
| download | kolla-6682d07addb9063a231199b3219bdcf6c932d218.tar.gz kolla-6682d07addb9063a231199b3219bdcf6c932d218.zip | |
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
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/keystone/keystone/extend_start.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docker/keystone/keystone/extend_start.sh b/docker/keystone/keystone/extend_start.sh index b509c7065..b29bf02a3 100644 --- a/docker/keystone/keystone/extend_start.sh +++ b/docker/keystone/keystone/extend_start.sh @@ -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 |
