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
@ -153,7 +153,7 @@ test_e2e:
|
|||||||
- nomad validate deploy/api.nomad
|
- nomad validate deploy/api.nomad
|
||||||
# nomad plan returns 1 if allocation is created or destroyed which is what we want here
|
# nomad plan returns 1 if allocation is created or destroyed which is what we want here
|
||||||
- nomad plan deploy/api.nomad || [ $? == 1 ]
|
- nomad plan deploy/api.nomad || [ $? == 1 ]
|
||||||
- nomad-run-and-wait deploy/api.nomad
|
- nomad run deploy/api.nomad
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- deploy/api.nomad
|
- deploy/api.nomad
|
||||||
|
@ -24,14 +24,13 @@ RUN apt-get update && \
|
|||||||
apt-get install -y docker-ce docker-ce-cli containerd.io && \
|
apt-get install -y docker-ce docker-ce-cli containerd.io && \
|
||||||
rm -rf /var/lib/apt/lists
|
rm -rf /var/lib/apt/lists
|
||||||
|
|
||||||
|
ENV NOMAD_VERSION="1.1.2"
|
||||||
|
|
||||||
# Download Nomad
|
# Download Nomad
|
||||||
RUN wget "https://releases.hashicorp.com/nomad/1.1.1/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/1.1.1/nomad_1.1.1_SHA256SUMS" && \
|
wget "https://releases.hashicorp.com/nomad/${NOMAD_VERSION}/nomad_${NOMAD_VERSION}_SHA256SUMS" && \
|
||||||
grep "nomad_1.1.1_linux_amd64.zip" nomad_1.1.1_SHA256SUMS | sha256sum -c - && \
|
grep "nomad_${NOMAD_VERSION}_linux_amd64.zip" nomad_${NOMAD_VERSION}_SHA256SUMS | sha256sum -c - && \
|
||||||
unzip nomad_1.1.1_linux_amd64.zip
|
unzip nomad_${NOMAD_VERSION}_linux_amd64.zip
|
||||||
|
|
||||||
# Install Nomad
|
# Install Nomad
|
||||||
RUN mv nomad /usr/sbin/ && nomad -version
|
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