From d13fe75693de3e6d51517b327767ef9174b11c86 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 3 Feb 2020 11:50:43 -0500 Subject: [PATCH] dev: Tweaks to cluster dev scripts Consolidate all nomad data dir in a single root `/tmp/nomad-dev-cluster`. Eases clean up. Allow running script from any path - don't require devs to cd into `dev/cluster` directory first. Also, block while nomad processes are running and prapogate SIGTERM/SIGINT to nomad processes to shutdown. --- dev/cluster/client1.hcl | 2 +- dev/cluster/client2.hcl | 2 +- dev/cluster/client3.hcl | 2 +- dev/cluster/cluster.sh | 23 +++++++++++++++++------ dev/cluster/server-standalone.hcl | 2 +- dev/cluster/server1.hcl | 2 +- dev/cluster/server2.hcl | 2 +- dev/cluster/server3.hcl | 2 +- 8 files changed, 24 insertions(+), 13 deletions(-) diff --git a/dev/cluster/client1.hcl b/dev/cluster/client1.hcl index 3502c4b15..e193bdf83 100644 --- a/dev/cluster/client1.hcl +++ b/dev/cluster/client1.hcl @@ -2,7 +2,7 @@ log_level = "DEBUG" # Setup data dir -data_dir = "/tmp/client1" +data_dir = "/tmp/nomad-dev-cluster/client1" # Give the agent a unique name. Defaults to hostname name = "client1" diff --git a/dev/cluster/client2.hcl b/dev/cluster/client2.hcl index b0f64a80d..85d7b3171 100644 --- a/dev/cluster/client2.hcl +++ b/dev/cluster/client2.hcl @@ -2,7 +2,7 @@ log_level = "DEBUG" # Setup data dir -data_dir = "/tmp/client2" +data_dir = "/tmp/nomad-dev-cluster/client2" # Give the agent a unique name. Defaults to hostname name = "client2" diff --git a/dev/cluster/client3.hcl b/dev/cluster/client3.hcl index b53eec21b..03204d4fa 100644 --- a/dev/cluster/client3.hcl +++ b/dev/cluster/client3.hcl @@ -2,7 +2,7 @@ log_level = "DEBUG" # Setup data dir -data_dir = "/tmp/client3" +data_dir = "/tmp/nomad-dev-cluster/client3" # Give the agent a unique name. Defaults to hostname name = "client3" diff --git a/dev/cluster/cluster.sh b/dev/cluster/cluster.sh index 17ccb3191..6b457d646 100755 --- a/dev/cluster/cluster.sh +++ b/dev/cluster/cluster.sh @@ -1,17 +1,28 @@ #!/usr/bin/env bash set -e -mkdir -p /tmp/server{1,2,3} /tmp/client{1,2} +mkdir -p /tmp/nomad-dev-cluster/server{1,2,3} /tmp/nomad-dev-cluster/client{1,2} + + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" # launch server -( nomad agent -config=server1.hcl 2>&1 | tee "/tmp/server1/log" ; echo "Exit code: $?" >> "/tmp/server1/log" ) & +( nomad agent -config=${DIR}/server1.hcl 2>&1 | tee "/tmp/nomad-dev-cluster/server1/log" ; echo "Exit code: $?" >> "/tmp/nomad-dev-cluster/server1/log" ) & -( nomad agent -config=server2.hcl 2>&1 | tee "/tmp/server2/log" ; echo "Exit code: $?" >> "/tmp/server2/log" ) & +( nomad agent -config=${DIR}/server2.hcl 2>&1 | tee "/tmp/nomad-dev-cluster/server2/log" ; echo "Exit code: $?" >> "/tmp/nomad-dev-cluster/server2/log" ) & -( nomad agent -config=server3.hcl 2>&1 | tee "/tmp/server3/log" ; echo "Exit code: $?" >> "/tmp/server3/log" ) & +( nomad agent -config=${DIR}/server3.hcl 2>&1 | tee "/tmp/nomad-dev-cluster/server3/log" ; echo "Exit code: $?" >> "/tmp/nomad-dev-cluster/server3/log" ) & # launch client 1 -( nomad agent -config=client1.hcl 2>&1 | tee "/tmp/client1/log" ; echo "Exit code: $?" >> "/tmp/client1/log" ) & +( nomad agent -config=${DIR}/client1.hcl 2>&1 | tee "/tmp/nomad-dev-cluster/client1/log" ; echo "Exit code: $?" >> "/tmp/nomad-dev-cluster/client1/log" ) & # launch client 2 -( nomad agent -config=client2.hcl 2>&1 | tee "/tmp/client2/log" ; echo "Exit code: $?" >> "/tmp/client2/log" ) & +( nomad agent -config=${DIR}/client2.hcl 2>&1 | tee "/tmp/nomad-dev-cluster/client2/log" ; echo "Exit code: $?" >> "/tmp/nomad-dev-cluster/client2/log" ) & + + +trap 'kill -SIGTERM $(jobs -pr)' SIGINT SIGTERM + +wait + +# wait again to ensure process die +wait diff --git a/dev/cluster/server-standalone.hcl b/dev/cluster/server-standalone.hcl index 1e49578bf..2f2280ce2 100644 --- a/dev/cluster/server-standalone.hcl +++ b/dev/cluster/server-standalone.hcl @@ -2,7 +2,7 @@ log_level = "DEBUG" # Setup data dir -data_dir = "/tmp/serverstandalone" +data_dir = "/tmp/nomad-dev-cluster/serverstandalone" # Give the agent a unique name. Defaults to hostname name = "serverstandalone" diff --git a/dev/cluster/server1.hcl b/dev/cluster/server1.hcl index 62b2c792a..28dd98f9a 100644 --- a/dev/cluster/server1.hcl +++ b/dev/cluster/server1.hcl @@ -2,7 +2,7 @@ log_level = "DEBUG" # Setup data dir -data_dir = "/tmp/server1" +data_dir = "/tmp/nomad-dev-cluster/server1" # Give the agent a unique name. Defaults to hostname name = "server1" diff --git a/dev/cluster/server2.hcl b/dev/cluster/server2.hcl index eedf8a390..1b95b53c8 100644 --- a/dev/cluster/server2.hcl +++ b/dev/cluster/server2.hcl @@ -2,7 +2,7 @@ log_level = "DEBUG" # Setup data dir -data_dir = "/tmp/server2" +data_dir = "/tmp/nomad-dev-cluster/server2" # Give the agent a unique name. Defaults to hostname name = "server2" diff --git a/dev/cluster/server3.hcl b/dev/cluster/server3.hcl index f017a00bf..0d88fd179 100644 --- a/dev/cluster/server3.hcl +++ b/dev/cluster/server3.hcl @@ -2,7 +2,7 @@ log_level = "DEBUG" # Setup data dir -data_dir = "/tmp/server3" +data_dir = "/tmp/nomad-dev-cluster/server3" # Give the agent a unique name. Defaults to hostname name = "server3"