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:

committed by
Tobias Kantusch

parent
3564cf767e
commit
81eccbdf9c
@ -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
|
||||
|
@ -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
|
Reference in New Issue
Block a user