diff --git a/test/terraform/containers.tf b/test/terraform/containers.tf new file mode 100644 index 0000000000000000000000000000000000000000..6b74c277d57a2765d4e7ec39e49ff55fac46f81a --- /dev/null +++ b/test/terraform/containers.tf @@ -0,0 +1,57 @@ +resource "docker_container" "gosdn" { + depends_on = [ + docker_container.ceos] + name = "contoller" + image = docker_image.gosdn.name + restart = "always" + + ports { + internal = 55055 + external = 5555 + } + + networks_advanced { + name = docker_network.danet.name + ipv4_address = "172.100.100.10" + } + + env = [ + "GOSDN_DEBUG=", + "GOSDN_TEST="] +} + +# create arista container +# namespace is french cheeses +resource "docker_container" "ceos" { + name = "abondance" + image = docker_image.ceos.name + restart = "always" + + networks_advanced { + name = docker_network.danet.name + ipv4_address = "172.100.100.20" + } + + command = ["/sbin/init", + "systemd.setenv=INTFTYPE=eth", + "systemd.setenv=ETBA=4", + "systemd.setenv=SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1", + "systemd.setenv=CEOS=1", + "systemd.setenv=EOS_PLATFORM=ceoslab", + "systemd.setenv=container=docker", + "MGMT_INTF=eth0"] + + env = ["INTFTYPE=eth", + "ETBA=4", + "SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1", + "CEOS=1", + "EOS_PLATFORM=ceoslab", + "container=docker", + "MGMT_INTF=eth0"] + privileged = true + + volumes { + host_path = "/usr/local/etc/terraform/arista" + container_path = "/mnt/flash" + } +} diff --git a/test/terraform/images.tf b/test/terraform/images.tf new file mode 100644 index 0000000000000000000000000000000000000000..18a13d113266743c884b8121bd3f31cd7482c37b --- /dev/null +++ b/test/terraform/images.tf @@ -0,0 +1,7 @@ +resource "docker_image" "gosdn" { + name = "registry.code.fbi.h-da.de/cocsn/gosdn:develop" +} + +resource "docker_image" "ceos" { + name = "registry.code.fbi.h-da.de/cocsn/gosdn/ceos:latest" +} \ No newline at end of file diff --git a/test/terraform/main.tf b/test/terraform/main.tf index 6fb8b19b291692c3c9dfcd37b789efeb0b62b5f1..1f228766349903fbad196dbd3b1df05324f8c70b 100644 --- a/test/terraform/main.tf +++ b/test/terraform/main.tf @@ -7,117 +7,3 @@ terraform { } } } - -variable "integration_registry" { - type = string -} - -variable "integration_username" { - type = string -} - -variable "integration_access_token" { - type = string -} -variable "tls_key" { - type = string -} - -variable "tls_cert" { - type = string -} - -variable "tls_ca_cert" { - type = string -} - -provider "docker" { - host = "tcp://141.100.70.171:2376" - - ca_material = var.tls_ca_cert - cert_material = var.tls_cert - key_material = var.tls_key - - registry_auth { - address = var.integration_registry - username = var.integration_username - password = var.integration_access_token - } -} - -resource "docker_image" "gosdn" { - name = "registry.code.fbi.h-da.de/cocsn/gosdn:develop" -} - -resource "docker_image" "ceos" { - name = "registry.code.fbi.h-da.de/cocsn/gosdn/ceos:latest" -} - -# Create a new docker network -resource "docker_network" "danet" { - name = "danet" - - ipam_config { - subnet = "172.100.100.0/24" - - } -} - -# create controller container -resource "docker_container" "gosdn" { - depends_on = [ - docker_container.ceos] - name = "contoller" - image = docker_image.gosdn.name - restart = "always" - - ports { - internal = 55055 - external = 5555 - } - - networks_advanced { - name = docker_network.danet.name - ipv4_address = "172.100.100.10" - } - - env = [ - "GOSDN_DEBUG=", - "GOSDN_TEST="] -} - -# create arista container -# namespace is french cheeses -resource "docker_container" "ceos" { - name = "abondance" - image = docker_image.ceos.name - restart = "always" - - networks_advanced { - name = docker_network.danet.name - ipv4_address = "172.100.100.20" - } - - command = ["/sbin/init", - "systemd.setenv=INTFTYPE=eth", - "systemd.setenv=ETBA=4", - "systemd.setenv=SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1", - "systemd.setenv=CEOS=1", - "systemd.setenv=EOS_PLATFORM=ceoslab", - "systemd.setenv=container=docker", - "MGMT_INTF=eth0"] - - env = ["INTFTYPE=eth", - "ETBA=4", - "SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1", - "CEOS=1", - "EOS_PLATFORM=ceoslab", - "container=docker", - "MGMT_INTF=eth0"] - privileged = true - - volumes { - host_path = "/usr/local/etc/terraform/arista" - container_path = "/mnt/flash" - } -} diff --git a/test/terraform/networks.tf b/test/terraform/networks.tf new file mode 100644 index 0000000000000000000000000000000000000000..652eb419aab27e0bd041e19046d7f3e684d990eb --- /dev/null +++ b/test/terraform/networks.tf @@ -0,0 +1,8 @@ +resource "docker_network" "danet" { + name = "danet" + + ipam_config { + subnet = "172.100.100.0/24" + + } +} \ No newline at end of file diff --git a/test/terraform/providers.tf b/test/terraform/providers.tf new file mode 100644 index 0000000000000000000000000000000000000000..8da71dbfed7b68768fdae4985e95284f27212b9a --- /dev/null +++ b/test/terraform/providers.tf @@ -0,0 +1,13 @@ +provider "docker" { + host = "tcp://141.100.70.171:2376" + + ca_material = var.tls_ca_cert + cert_material = var.tls_cert + key_material = var.tls_key + + registry_auth { + address = var.integration_registry + username = var.integration_username + password = var.integration_access_token + } +} \ No newline at end of file diff --git a/test/terraform/variables.tf b/test/terraform/variables.tf new file mode 100644 index 0000000000000000000000000000000000000000..172c8a46c7e7e11f05764dca303848354524b77c --- /dev/null +++ b/test/terraform/variables.tf @@ -0,0 +1,22 @@ +variable "integration_registry" { + type = string +} + +variable "integration_username" { + type = string +} + +variable "integration_access_token" { + type = string +} +variable "tls_key" { + type = string +} + +variable "tls_cert" { + type = string +} + +variable "tls_ca_cert" { + type = string +}