Terraform: csit-shim refactor
[csit.git] / resources / tools / terraform / 1n_nmd / prod_vpp_device / prod_csit_shim.nomad
@@ -1,4 +1,4 @@
-job "prod-csit-shim-amd" {
+job "prod-csit-shim" {
   # The "region" parameter specifies the region in which to execute the job.
   # If omitted, this inherits the default region name of "global".
   # region = "global"
@@ -18,11 +18,6 @@ job "prod-csit-shim-amd" {
   #
   type = "system"
 
-  constraint {
-    attribute = "${node.class}"
-    value     = "csit"
-  }
-
   # The "group" stanza defines a series of tasks that should be co-located on
   # the same Nomad client. Any task within a group will be placed on the same
   # client.
@@ -32,11 +27,87 @@ job "prod-csit-shim-amd" {
   #
   #     https://www.nomadproject.io/docs/job-specification/group.html
   #
-  group "prod-group1-csit-amd" {
+  group "prod-group1-csit-shim-amd" {
+    # The "count" parameter specifies the number of the task groups that should
+    # be running under this group. This value must be non-negative and defaults
+    # to 1.
+    count       = 1
+
+    constraint {
+      attribute = "${node.class}"
+      value     = "csit"
+    }
+
+    restart {
+      interval  = "1m"
+      attempts  = 3
+      delay     = "15s"
+      mode      = "delay"
+    }
+
+    # The "task" stanza creates an individual unit of work, such as a Docker
+    # container, web application, or batch processing.
+    #
+    # For more information and examples on the "task" stanza, please see
+    # the online documentation at:
+    #
+    #     https://www.nomadproject.io/docs/job-specification/task.html
+    #
+    task "prod-task1-csit-shim-amd" {
+      # The "driver" parameter specifies the task driver that should be used to
+      # run the task.
+      driver         = "docker"
+
+      # The "config" stanza specifies the driver configuration, which is passed
+      # directly to the driver to start the task. The details of configurations
+      # are specific to each driver, so please see specific driver
+      # documentation for more information.
+      config {
+        image        = "csit_shim-ubuntu1804:local"
+        network_mode = "host"
+        pid_mode     = "host"
+        volumes      = [
+          "/var/run/docker.sock:/var/run/docker.sock"
+        ]
+        privileged   = true
+      }
+
+      # The "resources" stanza describes the requirements a task needs to
+      # execute. Resource requirements include memory, network, cpu, and more.
+      # This ensures the task will execute on a machine that contains enough
+      # resource capacity.
+      #
+      # For more information and examples on the "resources" stanza, please see
+      # the online documentation at:
+      #
+      #     https://www.nomadproject.io/docs/job-specification/resources.html
+      #
+      resources {
+        cpu          = 100
+        memory       = 128
+        network {
+          mbits      = 10
+          port "ssh" {
+              static = 6022
+          }
+          port "ssh2" {
+              static = 6023
+          }
+        }
+      }
+    }
+  }
+
+  group "prod-group1-csit-shim-arm" {
     # The "count" parameter specifies the number of the task groups that should
     # be running under this group. This value must be non-negative and defaults
     # to 1.
-    count      = 2
+    count       = 1
+
+    constraint {
+      attribute = "${node.class}"
+      value     = "csitarm"
+    }
 
     restart {
       interval = "1m"
@@ -53,7 +124,7 @@ job "prod-csit-shim-amd" {
     #
     #     https://www.nomadproject.io/docs/job-specification/task.html
     #
-    task "prod-task1-csit-amd" {
+    task "prod-task1-csit-shim-arm" {
       # The "driver" parameter specifies the task driver that should be used to
       # run the task.
       driver         = "docker"
@@ -63,7 +134,7 @@ job "prod-csit-shim-amd" {
       # are specific to each driver, so please see specific driver
       # documentation for more information.
       config {
-        image        = "snergster/csit-shim"
+        image        = "csit_shim-ubuntu1804:local"
         network_mode = "host"
         pid_mode     = "host"
         volumes      = [