Remove custom deployment watcher script

As of version 1.1.2 of Nomad, the CLI monitors job deployments by
default until they are finished. Thus our custom job deployment
watcher script is not required anymore.
This commit is contained in:
sirkrypt0
2021-07-27 16:22:08 +02:00
committed by Tobias Kantusch
parent 3564cf767e
commit 81eccbdf9c
3 changed files with 7 additions and 56 deletions

View File

@ -24,14 +24,13 @@ RUN apt-get update && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
rm -rf /var/lib/apt/lists
ENV NOMAD_VERSION="1.1.2"
# Download Nomad
RUN wget "https://releases.hashicorp.com/nomad/1.1.1/nomad_1.1.1_linux_amd64.zip" && \
wget "https://releases.hashicorp.com/nomad/1.1.1/nomad_1.1.1_SHA256SUMS" && \
grep "nomad_1.1.1_linux_amd64.zip" nomad_1.1.1_SHA256SUMS | sha256sum -c - && \
unzip nomad_1.1.1_linux_amd64.zip
RUN wget "https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_linux_amd64.zip" && \
wget "https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_SHA256SUMS" && \
grep "nomad_${NOMAD_VERSION}_linux_amd64.zip" nomad_${NOMAD_VERSION}_SHA256SUMS | sha256sum -c - && \
unzip nomad_${NOMAD_VERSION}_linux_amd64.zip
# Install Nomad
RUN mv nomad /usr/sbin/ && nomad -version
COPY nomad-run-and-wait /usr/sbin/
RUN chmod +x /usr/sbin/nomad-run-and-wait

View File

@ -1,48 +0,0 @@
#!/bin/bash
# Script that runs a Nomad job and watches the deployment status until it finished running
# See https://github.com/hashicorp/nomad/issues/6818
if [[ $# -eq 0 ]]; then
echo "Usage: $0 <path/to/job.nomad>"
exit 1
fi
output=$(nomad run $1 2>&1)
if [[ $? -ne 0 ]]; then
echo $output
exit 1
fi
deployment=$(grep -oP "(?<=Evaluation within deployment: \").*(?=\")" <<<$output)
echo "Monitoring deployment $deployment"
timeout=300
sleepDuration=4
iterations=$((timeout / sleepDuration))
for i in $(seq $iterations); do
if [[ $i -eq $iterations ]]; then
# timeout reached, fail deployment and exit
nomad deployment fail $deployment
exit 1
fi
output=$(nomad deployment status $deployment 2>&1)
grep -E "Status" <<<$output
running=$(grep -E "Status.*=.*running" <<<$output)
if [[ -z "$running" ]]; then
break
fi
sleep $sleepDuration
done
echo "#######"
echo "$output"
failed=$(grep -E "Status.*=.*failed" <<<$output)
if [[ -n "$failed" ]]; then
exit 1
fi
exit 0