From 15ab816808f78b2947e3532ab888b6c21b08149b Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Mon, 9 Sep 2024 15:35:03 +0200 Subject: [PATCH] Deploy station software by specifying region --- .deploy.gitlab-ci.yml | 13 +++++++++---- infra/jobs/station/device-server.levant.nomad | 1 + infra/jobs/station/dsconfig.levant.nomad | 1 + infra/jobs/station/ec-sim.levant.nomad | 1 + infra/jobs/station/jupyter.levant.nomad | 1 + infra/jobs/station/landing-page.levant.nomad | 1 + infra/jobs/station/logging.levant.nomad | 1 + infra/jobs/station/mesh-gateway.levant.nomad | 1 + infra/jobs/station/monitoring.levant.nomad | 1 + infra/jobs/station/object-storage.levant.nomad | 1 + infra/jobs/station/rpc-server.levant.nomad | 1 + infra/jobs/station/sdptr.levant.nomad | 1 + infra/jobs/station/server-monitoring.levant.nomad | 1 + infra/jobs/station/simulators.levant.nomad | 1 + infra/jobs/station/snmp-exporter.levant.nomad | 1 + infra/jobs/station/tango.levant.nomad | 1 + 16 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.deploy.gitlab-ci.yml b/.deploy.gitlab-ci.yml index a89c64ead..199bd6a77 100644 --- a/.deploy.gitlab-ci.yml +++ b/.deploy.gitlab-ci.yml @@ -29,26 +29,31 @@ deploy_nomad: name: $STATION script: - | + NOMAD_HOSTNAME="monitor.control.lofar" + NOMAD_REGION="lofar-${STATION}" + if [ "${STATION}" == "dts-lab" ]; then # dts-lab test station - HOSTNAME="dts-lab.lofar.net" + NOMAD_HOSTNAME="dts-lab.lofar.net" + NOMAD_REGION="global" EXTRA_VARFILES="-var-file=infra/env/cs.yaml" elif [ "${STATION::2}" == "rs" ]; then # remote station - HOSTNAME="${STATION}c.control.lofar" + HOSTNAME="monitor.control.lofar" + REGION="lofar-${STATION}" EXTRA_VARFILES="-var-file=infra/env/rs.yaml" else # core station - HOSTNAME="${STATION}c.control.lofar" EXTRA_VARFILES="-var-file=infra/env/cs.yaml" fi # To deploy manually, get the env.yaml and the .levant.nomad file, # and run docker run --rm -i --net=host -v /path/to/env.yaml:/env.yaml:ro hashicorp/levant deploy --var-file=/env.yaml /dev/stdin < /path/to/file.levant.nomad levant deploy \ - -address="http://${HOSTNAME}:4646" \ + -address="http://${NOMAD_HOSTNAME}:4646" \ -var-file=infra/env/common.yaml ${EXTRA_VARFILES} \ -var image_tag="${CI_COMMIT_REF_SLUG}" \ + -var region="${NOMAD_REGION}" \ -var station="${STATION}" \ -ignore-no-changes \ infra/jobs/station/${COMPONENT}.levant.nomad diff --git a/infra/jobs/station/device-server.levant.nomad b/infra/jobs/station/device-server.levant.nomad index 9959b62ea..5d4572eba 100644 --- a/infra/jobs/station/device-server.levant.nomad +++ b/infra/jobs/station/device-server.levant.nomad @@ -1,4 +1,5 @@ job "device-servers" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/dsconfig.levant.nomad b/infra/jobs/station/dsconfig.levant.nomad index 8d39dcd2e..f7cbbcd91 100644 --- a/infra/jobs/station/dsconfig.levant.nomad +++ b/infra/jobs/station/dsconfig.levant.nomad @@ -3,6 +3,7 @@ job "dsconfig" { payload = "required" } + region = "[[.region]]" datacenters = ["stat"] type = "batch" diff --git a/infra/jobs/station/ec-sim.levant.nomad b/infra/jobs/station/ec-sim.levant.nomad index 641ccac6c..0435b8654 100644 --- a/infra/jobs/station/ec-sim.levant.nomad +++ b/infra/jobs/station/ec-sim.levant.nomad @@ -1,4 +1,5 @@ job "ec-sim" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/jupyter.levant.nomad b/infra/jobs/station/jupyter.levant.nomad index 003c9984d..5213a5b6e 100644 --- a/infra/jobs/station/jupyter.levant.nomad +++ b/infra/jobs/station/jupyter.levant.nomad @@ -1,4 +1,5 @@ job "jupyter" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/landing-page.levant.nomad b/infra/jobs/station/landing-page.levant.nomad index 1944b344d..c24885db7 100644 --- a/infra/jobs/station/landing-page.levant.nomad +++ b/infra/jobs/station/landing-page.levant.nomad @@ -1,4 +1,5 @@ job "landing-page" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/logging.levant.nomad b/infra/jobs/station/logging.levant.nomad index 5fc213d1d..20edff100 100644 --- a/infra/jobs/station/logging.levant.nomad +++ b/infra/jobs/station/logging.levant.nomad @@ -1,4 +1,5 @@ job "log-scraping" { + region = "[[.region]]" datacenters = ["stat"] [[ if ne .station "dev" ]] type = "system" diff --git a/infra/jobs/station/mesh-gateway.levant.nomad b/infra/jobs/station/mesh-gateway.levant.nomad index 72dcdf20f..58c0e52e7 100644 --- a/infra/jobs/station/mesh-gateway.levant.nomad +++ b/infra/jobs/station/mesh-gateway.levant.nomad @@ -1,4 +1,5 @@ job "mesh-gateway" { + region = "[[.region]]" datacenters = ["stat"] type = "service" group "mesh" { diff --git a/infra/jobs/station/monitoring.levant.nomad b/infra/jobs/station/monitoring.levant.nomad index ef9726335..607ada18f 100644 --- a/infra/jobs/station/monitoring.levant.nomad +++ b/infra/jobs/station/monitoring.levant.nomad @@ -1,4 +1,5 @@ job "monitoring" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/object-storage.levant.nomad b/infra/jobs/station/object-storage.levant.nomad index b7f8f85fe..8d839791e 100644 --- a/infra/jobs/station/object-storage.levant.nomad +++ b/infra/jobs/station/object-storage.levant.nomad @@ -1,4 +1,5 @@ job "object-storage" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/rpc-server.levant.nomad b/infra/jobs/station/rpc-server.levant.nomad index 97f928702..fe214c070 100644 --- a/infra/jobs/station/rpc-server.levant.nomad +++ b/infra/jobs/station/rpc-server.levant.nomad @@ -1,4 +1,5 @@ job "rpc-server" { + region = "[[.region]]" datacenters = ["stat"] type = "service" reschedule { diff --git a/infra/jobs/station/sdptr.levant.nomad b/infra/jobs/station/sdptr.levant.nomad index 28341708e..532af359d 100644 --- a/infra/jobs/station/sdptr.levant.nomad +++ b/infra/jobs/station/sdptr.levant.nomad @@ -1,4 +1,5 @@ job "sdptr" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/server-monitoring.levant.nomad b/infra/jobs/station/server-monitoring.levant.nomad index aa5aee391..a71dcb7b6 100644 --- a/infra/jobs/station/server-monitoring.levant.nomad +++ b/infra/jobs/station/server-monitoring.levant.nomad @@ -1,4 +1,5 @@ job "server-monitoring" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/simulators.levant.nomad b/infra/jobs/station/simulators.levant.nomad index ee0385b97..c1b606da4 100644 --- a/infra/jobs/station/simulators.levant.nomad +++ b/infra/jobs/station/simulators.levant.nomad @@ -1,4 +1,5 @@ job "simulators" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/snmp-exporter.levant.nomad b/infra/jobs/station/snmp-exporter.levant.nomad index e3a585127..ab6588023 100644 --- a/infra/jobs/station/snmp-exporter.levant.nomad +++ b/infra/jobs/station/snmp-exporter.levant.nomad @@ -1,4 +1,5 @@ job "snmp-exporter" { + region = "[[.region]]" datacenters = ["stat"] type = "service" diff --git a/infra/jobs/station/tango.levant.nomad b/infra/jobs/station/tango.levant.nomad index d68f8a3cc..3bba681d1 100644 --- a/infra/jobs/station/tango.levant.nomad +++ b/infra/jobs/station/tango.levant.nomad @@ -1,4 +1,5 @@ job "tango" { + region = "[[.region]]" datacenters = ["stat"] type = "service" -- GitLab