runner: Make WAIT_FOR_DOCKER_SECONDS configurable and working (#1999)
* runner: Make WAIT_FOR_DOCKER_SECONDS configurable and working Ref #1830 Ref #1804 * Update acceptance/testdata/runnerdeploy.envsubst.yaml Co-authored-by: Callum Tait <15716903+toast-gear@users.noreply.github.com> * Update docs/detailed-docs.md Co-authored-by: Callum Tait <15716903+toast-gear@users.noreply.github.com> Co-authored-by: Callum Tait <15716903+toast-gear@users.noreply.github.com>
This commit is contained in:
parent
86d7893d61
commit
154fcde7d0
|
|
@ -74,6 +74,8 @@ spec:
|
|||
value: "172.17.0.0/12"
|
||||
- name: DOCKER_DEFAULT_ADDRESS_POOL_SIZE
|
||||
value: "24"
|
||||
- name: WAIT_FOR_DOCKER_SECONDS
|
||||
value: "3"
|
||||
|
||||
dockerMTU: 1400
|
||||
|
||||
|
|
|
|||
|
|
@ -1576,6 +1576,12 @@ spec:
|
|||
# Issues a sleep command at the start of the entrypoint
|
||||
- name: STARTUP_DELAY_IN_SECONDS
|
||||
value: "2"
|
||||
# Specify the duration to wait for the docker daemon to be available
|
||||
# The default duration of 120 seconds is sometimes too short
|
||||
# to reliably wait for the docker daemon to start
|
||||
# See https://github.com/actions-runner-controller/actions-runner-controller/issues/1804
|
||||
- name: WAIT_FOR_DOCKER_SECONDS
|
||||
value: 120
|
||||
# Disables the wait for the docker daemon to be available check
|
||||
- name: DISABLE_WAIT_FOR_DOCKER
|
||||
value: "true"
|
||||
|
|
|
|||
|
|
@ -145,10 +145,14 @@ if [ -z "${UNITTEST:-}" ] && [ -e ./externalstmp ]; then
|
|||
mv ./externalstmp/* ./externals/
|
||||
fi
|
||||
|
||||
WAIT_FOR_DOCKER_SECONDS=${WAIT_FOR_DOCKER_SECONDS:-120}
|
||||
if [[ "${DISABLE_WAIT_FOR_DOCKER}" != "true" ]] && [[ "${DOCKER_ENABLED}" == "true" ]]; then
|
||||
log.debug 'Docker enabled runner detected and Docker daemon wait is enabled'
|
||||
log.debug 'Waiting until Docker is available or the timeout is reached'
|
||||
timeout 120s bash -c 'until docker ps ;do sleep 1; done'
|
||||
log.debug "Waiting until Docker is available or the timeout of ${WAIT_FOR_DOCKER_SECONDS} seconds is reached"
|
||||
if ! timeout "${WAIT_FOR_DOCKER_SECONDS}s" bash -c 'until docker ps ;do sleep 1; done'; then
|
||||
log.notice "Docker has not become available within ${WAIT_FOR_DOCKER_SECONDS} seconds. Exiting with status 1."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
log.notice 'Docker wait check skipped. Either Docker is disabled or the wait is disabled, continuing with entrypoint'
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in New Issue