diff options
author | pmikus <pmikus@cisco.com> | 2020-12-01 07:38:28 +0000 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2020-12-02 07:54:06 +0000 |
commit | b2ff2bb435a765c588b5ae9f8461bbf9b5064651 (patch) | |
tree | 2b4e25b5963d9d80775c38c62c88e56e52d8cead /resources/tools/terraform/1n_nmd/prod_vpp_device | |
parent | 4582f0f408616cdff8e606ac3abfe154f8f0514b (diff) |
Terraform: Nomad resource definitions
+ storage
- final until more ssd arive.
+ nginx
- final
+ vpp_device
- untested yet (restored from EdK setups)
- to be rewritten
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: Ib9499fc8cfb0d9f5c5d5bbd1ccd856ecc951ec2a
Diffstat (limited to 'resources/tools/terraform/1n_nmd/prod_vpp_device')
3 files changed, 209 insertions, 0 deletions
diff --git a/resources/tools/terraform/1n_nmd/prod_vpp_device/prod_csit_shim_amd.nomad b/resources/tools/terraform/1n_nmd/prod_vpp_device/prod_csit_shim_amd.nomad new file mode 100644 index 0000000000..1ba24696a4 --- /dev/null +++ b/resources/tools/terraform/1n_nmd/prod_vpp_device/prod_csit_shim_amd.nomad @@ -0,0 +1,100 @@ +job "prod-csit-shim-amd" { + # The "region" parameter specifies the region in which to execute the job. + # If omitted, this inherits the default region name of "global". + # region = "global" + # + # The "datacenters" parameter specifies the list of datacenters which should + # be considered when placing this task. This must be provided. + datacenters = [ "yul1" ] + + # The "type" parameter controls the type of job, which impacts the scheduler's + # decision on placement. This configuration is optional and defaults to + # "service". For a full list of job types and their differences, please see + # the online documentation. + # + # For more information, please see the online documentation at: + # + # https://www.nomadproject.io/docs/jobspec/schedulers.html + # + 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. + # + # For more information and examples on the "group" stanza, please see + # the online documentation at: + # + # https://www.nomadproject.io/docs/job-specification/group.html + # + group "prod-group1-csit-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 = 2 + + 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-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 = "snergster/csit-shim" + 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 + } + } + } + } + } +}
\ No newline at end of file diff --git a/resources/tools/terraform/1n_nmd/prod_vpp_device/prod_csit_shim_arm.nomad b/resources/tools/terraform/1n_nmd/prod_vpp_device/prod_csit_shim_arm.nomad new file mode 100644 index 0000000000..ba7b656d37 --- /dev/null +++ b/resources/tools/terraform/1n_nmd/prod_vpp_device/prod_csit_shim_arm.nomad @@ -0,0 +1,100 @@ +job "prod-csit-shim-arm" { + # The "region" parameter specifies the region in which to execute the job. + # If omitted, this inherits the default region name of "global". + # region = "global" + # + # The "datacenters" parameter specifies the list of datacenters which should + # be considered when placing this task. This must be provided. + datacenters = [ "yul1" ] + + # The "type" parameter controls the type of job, which impacts the scheduler's + # decision on placement. This configuration is optional and defaults to + # "service". For a full list of job types and their differences, please see + # the online documentation. + # + # For more information, please see the online documentation at: + # + # https://www.nomadproject.io/docs/jobspec/schedulers.html + # + type = "system" + + constraint { + attribute = "${node.class}" + value = "csitarm" + } + + # 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. + # + # For more information and examples on the "group" stanza, please see + # the online documentation at: + # + # https://www.nomadproject.io/docs/job-specification/group.html + # + group "prod-group1-csit-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 + + 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-arm" { + # 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 = "snergster/csit-arm-shim" + 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 + } + } + } + } + } +}
\ No newline at end of file diff --git a/resources/tools/terraform/1n_nmd/prod_vpp_device/resources.tf b/resources/tools/terraform/1n_nmd/prod_vpp_device/resources.tf new file mode 100644 index 0000000000..8dc101c12a --- /dev/null +++ b/resources/tools/terraform/1n_nmd/prod_vpp_device/resources.tf @@ -0,0 +1,9 @@ +resource "nomad_job" "prod_csit_shim_arm" { + provider = nomad + jobspec = file("${path.module}/prod_csit_shim_arm.nomad") +} + +resource "nomad_job" "prod_csit_shim_amd" { + provider = nomad + jobspec = file("${path.module}/prod_csit_shim_amd.nomad") +}
\ No newline at end of file |