diff --git a/plugins/scheduler-docker-local/bin/scheduler-deploy-process b/plugins/scheduler-docker-local/bin/scheduler-deploy-process index d70154f89..32f86f263 100755 --- a/plugins/scheduler-docker-local/bin/scheduler-deploy-process +++ b/plugins/scheduler-docker-local/bin/scheduler-deploy-process @@ -49,7 +49,7 @@ main() { fi PARALLEL_DEPLOY_COUNT="$(plugn trigger "app-json-process-deploy-parallelism" "$APP" "$PROC_TYPE")" - DOKKU_CHECKS_DISABLED="$DOKKU_CHECKS_DISABLED" parallel --will-cite --halt soon,fail=1 --jobs "$PARALLEL_DEPLOY_COUNT" --ungroup <"$PROCESS_TMP_FILE" + DOKKU_CHECKS_DISABLED="$DOKKU_CHECKS_DISABLED" INJECT_INIT_FLAG="$INJECT_INIT_FLAG" parallel --will-cite --halt soon,fail=1 --jobs "$PARALLEL_DEPLOY_COUNT" --ungroup <"$PROCESS_TMP_FILE" # cleanup when we scale down if [[ "$PROC_COUNT" == 0 ]]; then diff --git a/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container b/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container index bfa442dc6..772ee88c5 100755 --- a/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container +++ b/plugins/scheduler-docker-local/bin/scheduler-deploy-process-container @@ -19,7 +19,7 @@ main() { DOCKER_ARGS+=" --label=com.dokku.process-type=$PROC_TYPE --label=com.dokku.dyno=$DYNO" DOCKER_ARGS+=" --env=DYNO=$DYNO" DOCKER_ARGS+=" --name=$APP.$DYNO.upcoming-$RANDOM" - if [[ "$INJECT_INIT_FLAG" == "false" ]]; then + if [[ "$INJECT_INIT_FLAG" == "true" ]]; then DOCKER_ARGS+=" --init" fi DOCKER_ARGS+=" $DOCKER_RUN_LABEL_ARGS $DOKKU_GLOBAL_RUN_ARGS " diff --git a/tests/unit/scheduler-docker-local.bats b/tests/unit/scheduler-docker-local.bats index 0fbba8dc1..42c906634 100644 --- a/tests/unit/scheduler-docker-local.bats +++ b/tests/unit/scheduler-docker-local.bats @@ -55,3 +55,49 @@ teardown() { assert_output "Host(\`$TEST_APP.dokku.me\`)" assert_success } + +@test "(scheduler-docker-local) init-process" { + run create_app + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "docker inspect --format '{{.HostConfig.Init}}' $TEST_APP.web.1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "true" + + run /bin/bash -c "docker exec $TEST_APP.web.1 ps auxf" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "docker-init" + + run /bin/bash -c "dokku scheduler-docker-local:set $TEST_APP init-process false" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku ps:rebuild $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "docker inspect --format '{{.HostConfig.Init}}' $TEST_APP.web.1" + echo "output: $output" + echo "status: $status" + assert_success + assert_output "" + + run /bin/bash -c "docker exec $TEST_APP.web.1 ps auxf" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "docker-init" 0 +}