From c0f42dca76687ccb96ffdaab97053390330d7256 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 3 Feb 2020 11:26:41 -0500 Subject: [PATCH 1/5] vagrant: disable audio interference Avoid Vagrant/virtualbox interferring with host audio when the VM boots. --- Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 4f896d31a..3737ce96c 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -183,7 +183,7 @@ def configureProviders(vmCfg, cpus: "2", memory: "2048") end vmCfg.vm.provider "virtualbox" do |v| - v.customize ["modifyvm", :id, "--cableconnected1", "on"] + v.customize ["modifyvm", :id, "--cableconnected1", "on", "--audio", "none"] v.memory = memory v.cpus = cpus end From 896ddf56295f38cdad8bd4b43b64be70ec44bad4 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 3 Feb 2020 11:29:05 -0500 Subject: [PATCH 2/5] prehook: fix enterprise repo remote value --- dev/hooks/pre-push | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/hooks/pre-push b/dev/hooks/pre-push index e1afca2e8..d7dff70e8 100755 --- a/dev/hooks/pre-push +++ b/dev/hooks/pre-push @@ -7,8 +7,8 @@ fail () { # only push to oss when the enterprise version is absent # ==================== -oss="git@github.com:/hashicorp/nomad" -ent="git@github.com:/hashicorp/nomad-enterprise" +oss="git@github.com:hashicorp/nomad.git" +ent="git@github.com:hashicorp/nomad-enterprise.git" if [ "$2" != "$ent" -a -f version/version_ent.go ]; then fail "found enterprise version file version/version_ent.go while pushing to oss remote" fi From d13fe75693de3e6d51517b327767ef9174b11c86 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 3 Feb 2020 11:50:43 -0500 Subject: [PATCH 3/5] 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" From 2e0f98c97ad5cbaae403cba3ee21253f6a500a23 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 3 Feb 2020 12:15:37 -0500 Subject: [PATCH 4/5] run "make hclfmt" --- e2e/consulacls/consul-client-default-token.hcl | 4 ++-- jobspec/test-fixtures/bad-ports.hcl | 12 ++++++------ jobspec/test-fixtures/basic.hcl | 14 +++++++------- jobspec/test-fixtures/basic_wrong_key.hcl | 12 ++++++------ jobspec/test-fixtures/incorrect-service-def.hcl | 12 ++++++------ jobspec/test-fixtures/overlapping-ports.hcl | 12 ++++++------ 6 files changed, 33 insertions(+), 33 deletions(-) diff --git a/e2e/consulacls/consul-client-default-token.hcl b/e2e/consulacls/consul-client-default-token.hcl index 00fe300c2..d6b369b03 100644 --- a/e2e/consulacls/consul-client-default-token.hcl +++ b/e2e/consulacls/consul-client-default-token.hcl @@ -1,7 +1,7 @@ acl { tokens { - agent = "CONSUL_TOKEN" + agent = "CONSUL_TOKEN" agent_master = "CONSUL_TOKEN" - default = "CONSUL_TOKEN" + default = "CONSUL_TOKEN" } } diff --git a/jobspec/test-fixtures/bad-ports.hcl b/jobspec/test-fixtures/bad-ports.hcl index 5efafb70d..ab580ae00 100644 --- a/jobspec/test-fixtures/bad-ports.hcl +++ b/jobspec/test-fixtures/bad-ports.hcl @@ -1,11 +1,11 @@ job "binstore-storagelocker" { - region = "global" - type = "service" - priority = 50 - all_at_once = true - datacenters = ["us2", "eu1"] + region = "global" + type = "service" + priority = 50 + all_at_once = true + datacenters = ["us2", "eu1"] consul_token = "abc" - vault_token = "foo" + vault_token = "foo" meta { foo = "bar" diff --git a/jobspec/test-fixtures/basic.hcl b/jobspec/test-fixtures/basic.hcl index 0e4627919..e2f4e2e92 100644 --- a/jobspec/test-fixtures/basic.hcl +++ b/jobspec/test-fixtures/basic.hcl @@ -1,12 +1,12 @@ job "binstore-storagelocker" { - region = "fooregion" - namespace = "foonamespace" - type = "batch" - priority = 52 - all_at_once = true - datacenters = ["us2", "eu1"] + region = "fooregion" + namespace = "foonamespace" + type = "batch" + priority = 52 + all_at_once = true + datacenters = ["us2", "eu1"] consul_token = "abc" - vault_token = "foo" + vault_token = "foo" meta { foo = "bar" diff --git a/jobspec/test-fixtures/basic_wrong_key.hcl b/jobspec/test-fixtures/basic_wrong_key.hcl index 46acbdda6..dc42c399a 100644 --- a/jobspec/test-fixtures/basic_wrong_key.hcl +++ b/jobspec/test-fixtures/basic_wrong_key.hcl @@ -1,11 +1,11 @@ job "binstore-storagelocker" { - region = "global" - type = "service" - priority = 50 - all_at_once = true - datacenters = ["us2", "eu1"] + region = "global" + type = "service" + priority = 50 + all_at_once = true + datacenters = ["us2", "eu1"] consul_token = "abc" - vault_token = "foo" + vault_token = "foo" meta { foo = "bar" diff --git a/jobspec/test-fixtures/incorrect-service-def.hcl b/jobspec/test-fixtures/incorrect-service-def.hcl index 981b5c8b0..5570f11b5 100644 --- a/jobspec/test-fixtures/incorrect-service-def.hcl +++ b/jobspec/test-fixtures/incorrect-service-def.hcl @@ -1,11 +1,11 @@ job "binstore-storagelocker" { - region = "global" - type = "service" - priority = 50 - all_at_once = true - datacenters = ["us2", "eu1"] + region = "global" + type = "service" + priority = 50 + all_at_once = true + datacenters = ["us2", "eu1"] consul_token = "abc" - vault_token = "foo" + vault_token = "foo" meta { foo = "bar" diff --git a/jobspec/test-fixtures/overlapping-ports.hcl b/jobspec/test-fixtures/overlapping-ports.hcl index 56bc29302..62f5d503e 100644 --- a/jobspec/test-fixtures/overlapping-ports.hcl +++ b/jobspec/test-fixtures/overlapping-ports.hcl @@ -1,11 +1,11 @@ job "binstore-storagelocker" { - region = "global" - type = "service" - priority = 50 - all_at_once = true - datacenters = ["us2", "eu1"] + region = "global" + type = "service" + priority = 50 + all_at_once = true + datacenters = ["us2", "eu1"] consul_token = "abc" - vault_token = "foo" + vault_token = "foo" meta { foo = "bar" From 41d5a690cf2e5a297316e26650efd402485985ea Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 3 Feb 2020 12:22:10 -0500 Subject: [PATCH 5/5] make: emit explanation for /api isolation Emit a slightly helpful message when /api depends on nomad internal packages. --- GNUmakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GNUmakefile b/GNUmakefile index bdfadac8a..a09f5fdc3 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -177,7 +177,7 @@ check: ## Lint the source code @if (git status | grep -q .pb.go); then echo the following proto files are out of sync; git status |grep .pb.go; exit 1; fi @echo "==> Check API package is isolated from rest" - @! go list --test -f '{{ join .Deps "\n" }}' ./api | grep github.com/hashicorp/nomad/ | grep -v -e /vendor/ -e /nomad/api/ -e nomad/api.test + @if go list --test -f '{{ join .Deps "\n" }}' ./api | grep github.com/hashicorp/nomad/ | grep -v -e /vendor/ -e /nomad/api/ -e nomad/api.test; then echo " /api package depends the ^^ above internal nomad packages. Remove such dependency"; exit 1; fi .PHONY: checkscripts checkscripts: ## Lint shell scripts