diff options
author | pmikus <pmikus@cisco.com> | 2021-01-28 08:24:35 +0000 |
---|---|---|
committer | pmikus <pmikus@cisco.com> | 2021-01-28 08:24:35 +0000 |
commit | 2afd8f4fe26ae1f1d183ecac8f9daa85f68bc634 (patch) | |
tree | 737eaf290b110dbc0e88df65e583db18dfe687ad | |
parent | f6882e6231ef0a39d137862d1fb5b75f8eddd9c4 (diff) |
Infra: Terraform vpp_device module
+ Convert to module
+ Fix memory limit
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I95285faabbf7bad7fcb7f3b0c9b4e79641c6b95c
-rw-r--r-- | terraform-ci-infra/1n_nmd/vpp_device/conf/nomad/csit_shim.hcl (renamed from terraform-ci-infra/1n_nmd/vpp_device/prod_csit_shim.nomad) | 44 | ||||
-rw-r--r-- | terraform-ci-infra/1n_nmd/vpp_device/main.tf | 19 | ||||
-rw-r--r-- | terraform-ci-infra/1n_nmd/vpp_device/resources.tf | 4 | ||||
-rw-r--r-- | terraform-ci-infra/1n_nmd/vpp_device/variables.tf | 31 |
4 files changed, 71 insertions, 27 deletions
diff --git a/terraform-ci-infra/1n_nmd/vpp_device/prod_csit_shim.nomad b/terraform-ci-infra/1n_nmd/vpp_device/conf/nomad/csit_shim.hcl index 328f503a0b..cf065429d1 100644 --- a/terraform-ci-infra/1n_nmd/vpp_device/prod_csit_shim.nomad +++ b/terraform-ci-infra/1n_nmd/vpp_device/conf/nomad/csit_shim.hcl @@ -1,11 +1,11 @@ -job "prod-csit-shim" { +job "${job_name}" { # 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" ] + datacenters = "${datacenters}" # The "type" parameter controls the type of job, which impacts the scheduler's # decision on placement. This configuration is optional and defaults to @@ -16,7 +16,7 @@ job "prod-csit-shim" { # # https://www.nomadproject.io/docs/jobspec/schedulers.html # - type = "system" + type = "system" # 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 @@ -31,18 +31,18 @@ job "prod-csit-shim" { # 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 + count = ${group_count} constraint { - attribute = "${node.class}" - value = "csit" + attribute = "$${node.class}" + value = "csit" } restart { - interval = "1m" - attempts = 3 - delay = "15s" - mode = "delay" + interval = "1m" + attempts = 3 + delay = "15s" + mode = "delay" } # The "task" stanza creates an individual unit of work, such as a Docker @@ -83,10 +83,9 @@ job "prod-csit-shim" { # https://www.nomadproject.io/docs/job-specification/resources.html # resources { - cpu = 100 - memory = 128 + cpu = ${cpu} + memory = ${mem} network { - mbits = 10 port "ssh" { static = 6022 } @@ -102,18 +101,18 @@ job "prod-csit-shim" { # 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 + count = ${group_count} constraint { - attribute = "${node.class}" - value = "csitarm" + attribute = "$${node.class}" + value = "csitarm" } restart { - interval = "1m" - attempts = 3 - delay = "15s" - mode = "delay" + interval = "1m" + attempts = 3 + delay = "15s" + mode = "delay" } # The "task" stanza creates an individual unit of work, such as a Docker @@ -154,10 +153,9 @@ job "prod-csit-shim" { # https://www.nomadproject.io/docs/job-specification/resources.html # resources { - cpu = 100 - memory = 128 + cpu = ${cpu} + memory = ${mem} network { - mbits = 10 port "ssh" { static = 6022 } diff --git a/terraform-ci-infra/1n_nmd/vpp_device/main.tf b/terraform-ci-infra/1n_nmd/vpp_device/main.tf new file mode 100644 index 0000000000..c4a3e27970 --- /dev/null +++ b/terraform-ci-infra/1n_nmd/vpp_device/main.tf @@ -0,0 +1,19 @@ +locals { + datacenters = join(",", var.nomad_datacenters) +} + +data "template_file" "nomad_job_csit_shim" { + template = file("${path.module}/conf/nomad/csit_shim.hcl") + vars = { + datacenters = local.datacenters + job_name = var.csit_shim_job_name + group_count = var.csit_shim_group_count + cpu = var.csit_shim_cpu + mem = var.csit_shim_mem + } +} + +resource "nomad_job" "nomad_job_csit_shim" { + jobspec = data.template_file.nomad_job_csit_shim.rendered + detach = false +}
\ No newline at end of file diff --git a/terraform-ci-infra/1n_nmd/vpp_device/resources.tf b/terraform-ci-infra/1n_nmd/vpp_device/resources.tf deleted file mode 100644 index dace9094f2..0000000000 --- a/terraform-ci-infra/1n_nmd/vpp_device/resources.tf +++ /dev/null @@ -1,4 +0,0 @@ -resource "nomad_job" "prod_csit_shim" { - provider = nomad - jobspec = file("${path.module}/prod_csit_shim.nomad") -}
\ No newline at end of file diff --git a/terraform-ci-infra/1n_nmd/vpp_device/variables.tf b/terraform-ci-infra/1n_nmd/vpp_device/variables.tf new file mode 100644 index 0000000000..ca574e770a --- /dev/null +++ b/terraform-ci-infra/1n_nmd/vpp_device/variables.tf @@ -0,0 +1,31 @@ +# Nomad +variable "nomad_datacenters" { + description = "Nomad data centers" + type = list(string) + default = [ "dc1" ] +} + +# CSIT SHIM +variable "csit_shim_job_name" { + description = "CSIT SHIM job name" + type = string + default = "prod-csit-shim" +} + +variable "csit_shim_group_count" { + description = "Number of CSIT SHIM group instances" + type = number + default = 1 +} + +variable "csit_shim_cpu" { + description = "CSIT SHIM task CPU" + type = number + default = 2000 +} + +variable "csit_shim_mem" { + description = "CSIT SHIM task memory" + type = number + default = 10000 +}
\ No newline at end of file |