From f4c3fdb716aeb891d879fe793796b2acc14ac171 Mon Sep 17 00:00:00 2001 From: Fabian Schindler <fabian.schindler.strauss@gmail.com> Date: Tue, 31 Mar 2020 09:41:30 +0200 Subject: [PATCH] Instance setup waiting Adding wait script to wait until an instance was set up Adding startup scripts to wait Using new EOxServer env configs --- core/Dockerfile | 9 +++++++-- core/initialized.sh | 4 ++++ core/wait-initialized.sh | 7 +++++++ docker-compose.vhr18.yml | 11 +++++++---- 4 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 core/initialized.sh create mode 100644 core/wait-initialized.sh diff --git a/core/Dockerfile b/core/Dockerfile index 19f38e92..52e91cfd 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -68,7 +68,8 @@ ENV INSTANCE_ID="prism-view-server_core" \ REDIS_PORT= \ REDIS_REGISTER_QUEUE_KEY= \ REDIS_REGISTERED_SET_KEY= \ - INIT_SCRIPTS="/configure.sh" + INIT_SCRIPTS="/configure.sh" \ + COLLECT_STATIC="false" ADD rgbnir_definition.json \ configure.sh \ @@ -76,6 +77,8 @@ ADD rgbnir_definition.json \ run-registrar.sh \ registrar.py \ entrypoint.sh \ + wait-initialized.sh \ + initialized.sh \ / # run-redis-manager.sh \ @@ -85,7 +88,9 @@ RUN chmod -v +x \ /configure.sh \ /run-registrar.sh \ /run-httpd.sh \ - /entrypoint.sh + /entrypoint.sh \ + /wait-initialized.sh \ + /initialized.sh # /run-redis-manager.sh EXPOSE 80 diff --git a/core/initialized.sh b/core/initialized.sh new file mode 100644 index 00000000..8fc6714b --- /dev/null +++ b/core/initialized.sh @@ -0,0 +1,4 @@ +#!/bin/bash -e + +touch "${INSTANCE_DIR}/.initialized" +echo "Instance ${INSTANCE_ID} is initialized" diff --git a/core/wait-initialized.sh b/core/wait-initialized.sh new file mode 100644 index 00000000..bfefbc12 --- /dev/null +++ b/core/wait-initialized.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +until [ -f "${INSTANCE_DIR}/.initialized" ] ; do + echo "Waiting until instance ${INSTANCE_ID} is initialized" + sleep 3 + # TODO: timeout? +done diff --git a/docker-compose.vhr18.yml b/docker-compose.vhr18.yml index 1310192c..d8d91f8a 100644 --- a/docker-compose.vhr18.yml +++ b/docker-compose.vhr18.yml @@ -42,7 +42,9 @@ services: environment: INSTANCE_ID: "prism-view-server_renderer" INSTALL_DIR: "/var/www/pvs/dev/" - INIT_SCRIPTS: "/configure.sh /init-db.sh" + COLLECT_STATIC: "false" + INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" + STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "database:5432" configs: - source: init-db @@ -131,9 +133,10 @@ services: INSTALL_DIR: "/var/www/pvs/dev/" SCALEFACTOR: "1" IN_MEMORY: "false" - INIT_SCRIPTS: "/configure.sh /init-db.sh" - WAIT_SERVICES: "redis:6379 database:5432 renderer:80" - WAIT_TIMEOUT: 300 # wait up to 5 minutes + COLLECT_STATIC: "false" + INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" + STARTUP_SCRIPTS: "/wait-initialized.sh" + WAIT_SERVICES: "redis:6379 database:5432" configs: - source: init-db target: /init-db.sh -- GitLab