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
+}