From 603ee94d61d6ab48c4cf87461721784724567db6 Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Wed, 6 Mar 2019 12:31:58 +0100
Subject: [PATCH] update nomad config

---
 CMakeLists.txt                                |  4 +--
 CMakeModules/prepare_version.cmake            | 10 +++++++
 config/nomad/receiver.nmd.in                  |  1 +
 deploy/nomad_jobs/asapo-brokers.nmd.in        |  2 +-
 deploy/nomad_jobs/asapo-receivers.nmd.in      |  4 ++-
 deploy/nomad_jobs/asapo-services.nmd.in       |  4 +--
 deploy/nomad_jobs/copy.sh.in                  |  3 +++
 deploy/nomad_jobs/receiver.json.tpl           |  4 +--
 .../settings/receiver.json.tpl.lin.in         |  2 +-
 .../settings/receiver.json.tpl.win.in         |  2 +-
 .../asapo-test_dummy_producer.nomad           |  8 +++---
 .../asapo-test_filegen_filemon.nomad          |  4 +--
 .../asapo-test_filemon_producer_tolocal.nomad |  4 +--
 ...apo-test_filemon_producer_toreceiver.nomad |  4 +--
 .../tests_via_nomad/clean_after_tests.sh      | 27 +++++++++++++++++++
 tests/manual/tests_via_nomad/run_test.sh      |  7 +++++
 .../run_test_dummy_producer.sh                |  4 +++
 .../tests_via_nomad/run_test_linuxonly.sh     |  7 +++++
 18 files changed, 81 insertions(+), 20 deletions(-)
 create mode 100755 deploy/nomad_jobs/copy.sh.in
 create mode 100755 tests/manual/tests_via_nomad/clean_after_tests.sh
 create mode 100755 tests/manual/tests_via_nomad/run_test.sh
 create mode 100755 tests/manual/tests_via_nomad/run_test_dummy_producer.sh
 create mode 100755 tests/manual/tests_via_nomad/run_test_linuxonly.sh

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b1159c604..36ccfba2f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,11 +47,12 @@ message (STATUS "cURL include: ${CURL_INCLUDE_DIRS}")
 # format sources
 include(astyle)
 
+include(prepare_version)
+
 include(testing_cpp)
 
 include(prepare_asapo)
 
-
 if(BUILD_WORKER_TOOLS)
     set (BUILD_MONGODB_CLIENTLIB ON)
 endif()
@@ -89,4 +90,3 @@ if(BUILD_DOCS)
     include(doxygen)
 endif()
 
-include(prepare_version)
\ No newline at end of file
diff --git a/CMakeModules/prepare_version.cmake b/CMakeModules/prepare_version.cmake
index f0704fcad..901ef4c10 100644
--- a/CMakeModules/prepare_version.cmake
+++ b/CMakeModules/prepare_version.cmake
@@ -1,6 +1,16 @@
 execute_process(COMMAND git describe --tags --dirty OUTPUT_VARIABLE VERSION)
 string(STRIP ${VERSION} VERSION)
 
+
+execute_process(COMMAND git rev-parse --abbrev-ref HEAD OUTPUT_VARIABLE BRANCH)
+string(STRIP ${BRANCH} BRANCH)
+
+if (${BRANCH} STREQUAL "develop")
+    SET (ASAPO_VERSION ${BRANCH}.${VERSION})
+else()
+    SET (ASAPO_VERSION ${BRANCH}.latest)
+endif()
+
 string(TIMESTAMP TIMESTAMP "%H:%M:%S %d.%m.%Y UTC" UTC)
 
 configure_file(${PROJECT_SOURCE_DIR}/common/cpp/include/common/version.h.in ${PROJECT_SOURCE_DIR}/common/cpp/include/common/version.h @ONLY)
diff --git a/config/nomad/receiver.nmd.in b/config/nomad/receiver.nmd.in
index a27372d18..282208f29 100644
--- a/config/nomad/receiver.nmd.in
+++ b/config/nomad/receiver.nmd.in
@@ -19,6 +19,7 @@ job "receiver" {
         memory = 256 # 256MB
         network {
           port "recv" {}
+          port "recv_ds" {}
         }
       }
 
diff --git a/deploy/nomad_jobs/asapo-brokers.nmd.in b/deploy/nomad_jobs/asapo-brokers.nmd.in
index 4c5a3040d..c3080085d 100644
--- a/deploy/nomad_jobs/asapo-brokers.nmd.in
+++ b/deploy/nomad_jobs/asapo-brokers.nmd.in
@@ -24,7 +24,7 @@ job "asapo-brokers" {
       config {
         network_mode = "host"
         dns_servers = ["127.0.0.1"]
-        image = "yakser/asapo-broker:develop"
+        image = "yakser/asapo-broker:@ASAPO_VERSION@"
 	    force_pull = true
         volumes = ["local/config.json:/var/lib/broker/config.json"]
         logging {
diff --git a/deploy/nomad_jobs/asapo-receivers.nmd.in b/deploy/nomad_jobs/asapo-receivers.nmd.in
index 4159d9791..65f433215 100644
--- a/deploy/nomad_jobs/asapo-receivers.nmd.in
+++ b/deploy/nomad_jobs/asapo-receivers.nmd.in
@@ -24,7 +24,7 @@ job "asapo-receivers" {
       config {
         network_mode = "host"
         dns_servers = ["127.0.0.1"]
-        image = "yakser/asapo-receiver:develop"
+        image = "yakser/asapo-receiver:@ASAPO_VERSION@"
 	    force_pull = true
         volumes = ["local/config.json:/var/lib/receiver/config.json",
                    "/bldocuments/support/asapo/data:/var/lib/receiver/data"]
@@ -40,7 +40,9 @@ job "asapo-receivers" {
       resources {
         network {
           port "recv" {}
+          port "recv_ds" {}
         }
+          memory = 40000
       }
 
       service {
diff --git a/deploy/nomad_jobs/asapo-services.nmd.in b/deploy/nomad_jobs/asapo-services.nmd.in
index 3be75045c..b8d4bdd2a 100644
--- a/deploy/nomad_jobs/asapo-services.nmd.in
+++ b/deploy/nomad_jobs/asapo-services.nmd.in
@@ -12,7 +12,7 @@ job "asapo-services" {
       config {
         network_mode = "host"
         dns_servers = ["127.0.0.1"]
-        image = "yakser/asapo-authorizer:develop"
+        image = "yakser/asapo-authorizer:@ASAPO_VERSION@"
 	    force_pull = true
         volumes = ["local/config.json:/var/lib/authorizer/config.json",
                    "/bldocuments/support/asapo/beamtime_beamline_mapping.txt:/var/lib/authorizer/beamtime_beamline_mapping.txt",
@@ -71,7 +71,7 @@ job "asapo-services" {
       config {
         network_mode = "host"
         dns_servers = ["127.0.0.1"]
-        image = "yakser/asapo-discovery:develop"
+        image = "yakser/asapo-discovery:@ASAPO_VERSION@"
 	    force_pull = true
         volumes = ["local/config.json:/var/lib/discovery/config.json"]
         logging {
diff --git a/deploy/nomad_jobs/copy.sh.in b/deploy/nomad_jobs/copy.sh.in
new file mode 100755
index 000000000..d6809604a
--- /dev/null
+++ b/deploy/nomad_jobs/copy.sh.in
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+scp * psana002:@NOMAD_INSTALL@/
diff --git a/deploy/nomad_jobs/receiver.json.tpl b/deploy/nomad_jobs/receiver.json.tpl
index b5021a78c..3795e8561 100644
--- a/deploy/nomad_jobs/receiver.json.tpl
+++ b/deploy/nomad_jobs/receiver.json.tpl
@@ -7,11 +7,11 @@
   "ListenPort": {{ env "NOMAD_PORT_recv" }},
   "DataServer": {
     "NThreads": 2,
-    "ListenPort": 23123
+    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }}
   },
   "DataCache": {
     "Use": true,
-    "SizeGB": 1,
+    "SizeGB": 30,
     "ReservedShare": 10
   },
   "Tag": "{{ env "NOMAD_ADDR_recv" }}",
diff --git a/tests/automatic/settings/receiver.json.tpl.lin.in b/tests/automatic/settings/receiver.json.tpl.lin.in
index e662a64df..cfe057742 100644
--- a/tests/automatic/settings/receiver.json.tpl.lin.in
+++ b/tests/automatic/settings/receiver.json.tpl.lin.in
@@ -4,7 +4,7 @@
   "BrokerDbAddress":"localhost:27017",
   "DataServer": {
     "NThreads": 2,
-    "ListenPort": 23123
+    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }}
   },
   "DataCache": {
     "Use": @RECEIVER_USE_CACHE@,
diff --git a/tests/automatic/settings/receiver.json.tpl.win.in b/tests/automatic/settings/receiver.json.tpl.win.in
index 511c2cda7..39ad1b7c1 100644
--- a/tests/automatic/settings/receiver.json.tpl.win.in
+++ b/tests/automatic/settings/receiver.json.tpl.win.in
@@ -7,7 +7,7 @@
   "ListenPort": {{ env "NOMAD_PORT_recv" }},
   "DataServer": {
     "NThreads": 2,
-    "ListenPort": 23123
+    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }}
   },
   "DataCache": {
     "Use": @RECEIVER_USE_CACHE@,
diff --git a/tests/manual/tests_via_nomad/asapo-test_dummy_producer.nomad b/tests/manual/tests_via_nomad/asapo-test_dummy_producer.nomad
index 2a4f017ee..20b6ca2fc 100644
--- a/tests/manual/tests_via_nomad/asapo-test_dummy_producer.nomad
+++ b/tests/manual/tests_via_nomad/asapo-test_dummy_producer.nomad
@@ -28,7 +28,7 @@ job "asapo-test" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/dummy-data-producer.exe"
+        source = "http://nims.desy.de/extra/asapo/dummy-data-producer-@ASAPO_VERSION@.exe"
         mode = "file"
         destination = "local/dummy-data-producer.exe"
 
@@ -75,7 +75,7 @@ job "asapo-test" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/dummy-data-producer"
+        source = "http://nims.desy.de/extra/asapo/dummy-data-producer-@ASAPO_VERSION@"
       }
 
       #      resources {
@@ -128,7 +128,7 @@ job "asapo-test" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/getnext_broker"
+        source = "http://nims.desy.de/extra/asapo/getnext_broker-@ASAPO_VERSION@"
       }
     }
 
@@ -172,7 +172,7 @@ job "asapo-test" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/getnext_broker"
+        source = "http://nims.desy.de/extra/asapo/getnext_broker-@ASAPO_VERSION@"
       }
     }
 
diff --git a/tests/manual/tests_via_nomad/asapo-test_filegen_filemon.nomad b/tests/manual/tests_via_nomad/asapo-test_filegen_filemon.nomad
index 00dedc361..bcc7a9344 100644
--- a/tests/manual/tests_via_nomad/asapo-test_filegen_filemon.nomad
+++ b/tests/manual/tests_via_nomad/asapo-test_filegen_filemon.nomad
@@ -111,7 +111,7 @@ job "asapo-test" {
 #      }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/getnext_broker"
+        source = "http://nims.desy.de/extra/asapo/getnext_broker-@ASAPO_VERSION@"
       }
     }
 
@@ -155,7 +155,7 @@ job "asapo-test" {
 #      }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/getnext_broker"
+        source = "http://nims.desy.de/extra/asapo/getnext_broker-@ASAPO_VERSION@"
       }
     }
 
diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad
index 3ac5548e8..ed3c4f477 100644
--- a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad
+++ b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad
@@ -22,7 +22,7 @@ job "asapo-produceronly" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer.exe"
+        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer-@ASAPO_VERSION@.exe"
         mode = "file"
         destination = "local/asapo-eventmon-producer.exe"
       }
@@ -78,7 +78,7 @@ job "asapo-produceronly" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer"
+        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer-@ASAPO_VERSION@"
         mode = "file"
         destination = "local/asapo-eventmon-producer"
       }
diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_toreceiver.nomad b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_toreceiver.nomad
index b4356226d..a716b6384 100644
--- a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_toreceiver.nomad
+++ b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_toreceiver.nomad
@@ -22,7 +22,7 @@ job "asapo-filemon-producer" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer.exe"
+        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer-@ASAPO_VERSION@.exe"
         mode = "file"
         destination = "local/asapo-eventmon-producer.exe"
       }
@@ -78,7 +78,7 @@ job "asapo-filemon-producer" {
       }
 
       artifact {
-        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer"
+        source = "http://nims.desy.de/extra/asapo/asapo-eventmon-producer-@ASAPO_VERSION@"
         mode = "file"
         destination = "local/asapo-eventmon-producer"
       }
diff --git a/tests/manual/tests_via_nomad/clean_after_tests.sh b/tests/manual/tests_via_nomad/clean_after_tests.sh
new file mode 100755
index 000000000..1eeed43f3
--- /dev/null
+++ b/tests/manual/tests_via_nomad/clean_after_tests.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+mongoaddr=`dig +short @127.0.0.1 mongo.service.asapo | head -1`
+
+database="asapo_test"
+
+cont=$(ssh $mongoaddr bash -c "'docker ps | grep mongo'")
+
+image=`echo "${cont##* }"`
+
+rm -rf /bldocuments/support/asapo/data/test/asapo_test
+rm -rf /bldocuments/support/asapo/data/test1/asapo_test1
+rm -rf /bldocuments/support/asapo/data/test2/asapo_test2
+
+mkdir /bldocuments/support/asapo/data/test/asapo_test
+mkdir /bldocuments/support/asapo/data/test1/asapo_test1
+mkdir /bldocuments/support/asapo/data/test2/asapo_test2
+chown asapo: -R /bldocuments/support/asapo/data/test/
+
+ssh $mongoaddr docker exec $image bash -c "'echo \"db.dropDatabase()\" | mongo --host $mongoaddr  asapo_test'"
+ssh $mongoaddr docker exec $image bash -c "'echo \"db.dropDatabase()\" | mongo --host $mongoaddr  asapo_test1'"
+ssh $mongoaddr docker exec $image bash -c "'echo \"db.dropDatabase()\" | mongo --host $mongoaddr  asapo_test2'"
+
+
+
+nomad stop asapo-brokers
+nomad run asapo-brokers.nmd
\ No newline at end of file
diff --git a/tests/manual/tests_via_nomad/run_test.sh b/tests/manual/tests_via_nomad/run_test.sh
new file mode 100755
index 000000000..0460ca5e6
--- /dev/null
+++ b/tests/manual/tests_via_nomad/run_test.sh
@@ -0,0 +1,7 @@
+. ./clean_after_tests.sh
+nomad stop asapo-filemon-producer
+nomad run asapo-test_filemon_producer_toreceiver.nomad
+sleep 1
+nomad stop asapo-test
+nomad run asapo-test_filegen_filemon.nomad
+
diff --git a/tests/manual/tests_via_nomad/run_test_dummy_producer.sh b/tests/manual/tests_via_nomad/run_test_dummy_producer.sh
new file mode 100755
index 000000000..dda2a1b3b
--- /dev/null
+++ b/tests/manual/tests_via_nomad/run_test_dummy_producer.sh
@@ -0,0 +1,4 @@
+. ./clean_after_tests.sh
+nomad stop asapo-test
+nomad run  asapo-test_dummy_producer_linux_noworker.nomad
+
diff --git a/tests/manual/tests_via_nomad/run_test_linuxonly.sh b/tests/manual/tests_via_nomad/run_test_linuxonly.sh
new file mode 100755
index 000000000..039793552
--- /dev/null
+++ b/tests/manual/tests_via_nomad/run_test_linuxonly.sh
@@ -0,0 +1,7 @@
+. ./clean_after_tests.sh
+nomad stop asapo-filemon-producer
+nomad run asapo-test_filemon_producer_toreceiver.nomad
+sleep 1
+nomad stop asapo-test
+nomad run asapo-test_filegen_filemon_linuxonly.nomad
+
-- 
GitLab