mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 18:35:44 +03:00
Support dynamic replacement of the Nomad binary at run-time
This commit is contained in:
@@ -18,6 +18,7 @@ IP_ADDRESS="$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ pri
|
||||
DOCKER_BRIDGE_IP_ADDRESS=(`ifconfig docker0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`)
|
||||
CLOUD=$1
|
||||
RETRY_JOIN=$2
|
||||
NOMAD_BINARY=$3
|
||||
|
||||
# Consul
|
||||
sed -i "s/IP_ADDRESS/$IP_ADDRESS/g" $CONFIGDIR/consul_client.json
|
||||
@@ -29,6 +30,15 @@ sudo systemctl start consul.service
|
||||
sleep 10
|
||||
|
||||
# Nomad
|
||||
|
||||
## Replace existing Nomad binary if remote file exists
|
||||
if [[ `wget -S --spider $NOMAD_BINARY 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then
|
||||
curl -L $NOMAD_BINARY > nomad.zip
|
||||
sudo unzip -o nomad.zip -d /usr/local/bin
|
||||
sudo chmod 0755 /usr/local/bin/nomad
|
||||
sudo chown root:root /usr/local/bin/nomad
|
||||
fi
|
||||
|
||||
sudo cp $CONFIGDIR/nomad_client.hcl $NOMADCONFIGDIR/nomad.hcl
|
||||
sudo cp $CONFIGDIR/nomad.service /etc/systemd/system/nomad.service
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ DOCKER_BRIDGE_IP_ADDRESS=(`ifconfig docker0 2>/dev/null|awk '/inet addr:/ {print
|
||||
CLOUD=$1
|
||||
SERVER_COUNT=$2
|
||||
RETRY_JOIN=$3
|
||||
NOMAD_BINARY=$4
|
||||
|
||||
# Consul
|
||||
sed -i "s/IP_ADDRESS/$IP_ADDRESS/g" $CONFIGDIR/consul.json
|
||||
@@ -41,6 +42,15 @@ sudo cp $CONFIGDIR/vault.service /etc/systemd/system/vault.service
|
||||
sudo systemctl start vault.service
|
||||
|
||||
# Nomad
|
||||
|
||||
## Replace existing Nomad binary if remote file exists
|
||||
if [[ `wget -S --spider $NOMAD_BINARY 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then
|
||||
curl -L $NOMAD_BINARY > nomad.zip
|
||||
sudo unzip -o nomad.zip -d /usr/local/bin
|
||||
sudo chmod 0755 /usr/local/bin/nomad
|
||||
sudo chown root:root /usr/local/bin/nomad
|
||||
fi
|
||||
|
||||
sed -i "s/SERVER_COUNT/$SERVER_COUNT/g" $CONFIGDIR/nomad.hcl
|
||||
sudo cp $CONFIGDIR/nomad.hcl $NOMADCONFIGDIR
|
||||
sudo cp $CONFIGDIR/nomad.service /etc/systemd/system/nomad.service
|
||||
|
||||
Reference in New Issue
Block a user