aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorDuong Ha-Quang <duonghq@vn.fujitsu.com>2016-10-19 14:42:10 +0700
committerDuong Ha-Quang <duonghq@vn.fujitsu.com>2017-03-23 03:33:44 +0000
commit6682d07addb9063a231199b3219bdcf6c932d218 (patch)
treebc58ae08701e6d8cdd3cfbf87c5114d00e614332 /docker
parentf5a9c8c71c7b663ea286fd6779997053713a05fb (diff)
downloadkolla-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.sh19
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