Browse Source
This adds the `status-checker` container, which aggregates the statuses of the task containers. This is useful for quickly checking whether AIAP is in a failed or successful state, allowing for early exit during gating or testing. This also prevents the containers from stopping for any reason, allowing for easy debugging. Change-Id: I1571d006fb3c856e4d2bedee0befdccae6082a66changes/39/808839/6
14 changed files with 160 additions and 114 deletions
@ -1,9 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# signal_complete takes a container name and creates a file in the "completed" |
||||
# directory, denoting that the named container has finished its tasks. This can be |
||||
# leveraged by dependent containers via the `wait_for` command. |
||||
|
||||
mkdir -p "/tmp/completed" |
||||
touch "/tmp/completed/$1" |
||||
printf "Marked %s as complete.\n" "$1" |
@ -0,0 +1,9 @@
|
||||
#!/bin/bash |
||||
|
||||
# signal_complete takes a container name and a status and creates a file in the |
||||
# "status" directory whose contents are the provided status. This can be |
||||
# leveraged by dependent containers via the `wait_for` command. |
||||
|
||||
mkdir -p "/tmp/status" |
||||
echo "$2" > "/tmp/status/$1" |
||||
printf "Marked %s as %s.\n" "$1" "$2" |
@ -0,0 +1,8 @@
|
||||
ARG BASE_IMAGE=alpine |
||||
FROM ${BASE_IMAGE} |
||||
|
||||
COPY assets /opt/assets/ |
||||
RUN cp -ravf /opt/assets/* / ;\ |
||||
rm -rf /opt/assets |
||||
|
||||
ENTRYPOINT /entrypoint.sh |
@ -0,0 +1,41 @@
|
||||
#!/bin/sh |
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); |
||||
# you may not use this file except in compliance with the License. |
||||
# You may obtain a copy of the License at |
||||
# |
||||
# http://www.apache.org/licenses/LICENSE-2.0 |
||||
# |
||||
# Unless required by applicable law or agreed to in writing, software |
||||
# distributed under the License is distributed on an "AS IS" BASIS, |
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
# See the License for the specific language governing permissions and |
||||
# limitations under the License. |
||||
|
||||
set -e |
||||
|
||||
status_dir="/tmp/status" |
||||
mkdir -p "$status_dir" |
||||
|
||||
while true; do |
||||
artifact_setup_status="UNKNOWN" |
||||
infra_builder_status="UNKNOWN" |
||||
runner_status="UNKNOWN" |
||||
if [ -f "$status_dir/artifact-setup" ]; then |
||||
artifact_setup_status="$(cat $status_dir/artifact-setup)" |
||||
fi |
||||
if [ -f "$status_dir/infra-builder" ]; then |
||||
infra_builder_status="$(cat $status_dir/infra-builder)" |
||||
fi |
||||
if [ -f "$status_dir/runner" ]; then |
||||
runner_status="$(cat $status_dir/runner)" |
||||
fi |
||||
|
||||
# Print all statuses on a single line |
||||
printf "artifact-setup: <%s> " "$artifact_setup_status" |
||||
printf "infra-builder: <%s> " "$infra_builder_status" |
||||
printf "runner: <%s> " "$runner_status" |
||||
printf "\n" |
||||
|
||||
sleep 5 |
||||
done |
Loading…
Reference in new issue