diff --git a/build/ci/.golangci-config/.golangci.yml b/build/ci/.golangci-config/.golangci.yml
index 8238d14308d4abdb0cb5770fbf1c614c242d8c03..3492086f612c3f9ff49695cd0164f995a3051062 100644
--- a/build/ci/.golangci-config/.golangci.yml
+++ b/build/ci/.golangci-config/.golangci.yml
@@ -33,4 +33,4 @@ linters:
 issues:
   exclude-use-default: false
   max-issues-per-linter: 0
-  max-same-issues: 0
\ No newline at end of file
+  max-same-issues: 0
diff --git a/build/ci/.terraform-ci.yml b/build/ci/.terraform-ci.yml
index 6049f9d3f0f9dd456c7b54cd224f87f2eb23edb4..e8377f940bb7d782340f9b7125ebfd25c842f370 100644
--- a/build/ci/.terraform-ci.yml
+++ b/build/ci/.terraform-ci.yml
@@ -4,7 +4,7 @@ variables:
   TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/integration
 
 cache:
-  key: integration
+  key: ${CI_PIPELINE_ID}
   paths:
     - ${TF_ROOT}/.terraform
 
@@ -13,6 +13,7 @@ cache:
   variables:
     CI_DEBUG_TRACE: "false"
   before_script:
+    - ./build/ci/generate_port2.sh $CI_PIPELINE_ID >> ${TF_ROOT}/port
     - cd ${TF_ROOT}
     - export TF_VAR_integration_username=terraform
     - export TF_VAR_integration_access_token=${TERRAFORM_API_TOKEN}
@@ -20,6 +21,7 @@ cache:
     - export TF_VAR_tls_key=${DOCKER_TLS_KEY}
     - export TF_VAR_tls_cert=${DOCKER_TLS_CERT}
     - export TF_VAR_tls_ca_cert=${DOCKER_TLS_CA}
+
   rules:
     - if: $CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'develop')
       variables:
diff --git a/build/ci/.test.yml b/build/ci/.test.yml
index e4209b3bb7773f44ee961cfd6379ad9554645963..461480c311a45cb4a8721f501cd37c7910078dfc 100644
--- a/build/ci/.test.yml
+++ b/build/ci/.test.yml
@@ -7,6 +7,8 @@ integration-test:
   variables:
     GOSDN_LOG: "nolog"
     GOSDN_TEST_API_ENDPOINT: http://gosdn-$CI_COMMIT_SHA.apps.ocp.fbi.h-da.de/api
+    GOSDN_TEST_ENDPOINT_IP: 141.100.70.171
+    GOSDN_CHANGE_TIMEOUT: "100ms"
   rules:
     - if: $CI_NIGHTLY
       when: delayed
@@ -19,6 +21,8 @@ integration-test:
       when: delayed
       start_in: 2 minutes
   script:
+    - ./build/ci/generate_port.sh $CI_PIPELINE_ID >> port
+    - export GOSDN_TEST_ENDPOINT_PORT=$(cat port)
     - go test -race ./test/integration -v -coverprofile=coverage.out
 
 .test: &test
diff --git a/build/ci/generate_port.sh b/build/ci/generate_port.sh
new file mode 100755
index 0000000000000000000000000000000000000000..941a1284318ff5ca55314acdac89c13f7e6b4691
--- /dev/null
+++ b/build/ci/generate_port.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+input=$1
+#trailing_backspace=$2
+
+hashed_value=$(echo $input | sha256sum | awk '{print $1}' )
+
+decimal_value=$((16#$hashed_value))
+decimal_value=${decimal_value/-/}
+
+port=$(((decimal_value % 10000)+50000))
+
+#echo -n $(($port*1))
+echo -n $port
\ No newline at end of file
diff --git a/build/ci/generate_port2.sh b/build/ci/generate_port2.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f8e1ca3040defde9dfeb0a45663a8318db1e60e0
--- /dev/null
+++ b/build/ci/generate_port2.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+input=$1
+#trailing_backspace=$2
+
+hashed_value=$(echo $input | sha256sum | awk '{print $1}' )
+
+decimal_value=$((16#$hashed_value))
+decimal_value=${decimal_value/-/}
+
+port=$(((decimal_value % 10000)+50000))
+
+#echo -n $(($port*1))
+echo -n $port
\ No newline at end of file
diff --git a/test/integration/cmdIntegration_test.go b/test/integration/cmdIntegration_test.go
index ae3d20904a6d3dba424e4c5a4d47b24ba3c92243..59a30290197c80bd4054918a64be145dfa25efef 100644
--- a/test/integration/cmdIntegration_test.go
+++ b/test/integration/cmdIntegration_test.go
@@ -1,24 +1,25 @@
 package integration
 
 import (
-	"os"
-	"testing"
-
 	tpb "code.fbi.h-da.de/cocsn/api/go/gosdn/transport"
-
 	"code.fbi.h-da.de/cocsn/gosdn/api"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus/util/proto"
+	"fmt"
 	guuid "github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	log "github.com/sirupsen/logrus"
 	"github.com/spf13/viper"
 	pb "google.golang.org/protobuf/proto"
+	"os"
+	"testing"
 )
 
 const unreachable = "203.0.113.10:6030"
 const testPath = "/system/config/hostname"
 
-var testAddress = "141.100.70.171:6030"
+var testIP = "141.100.70.171"
+var testPort = "6030"
+var testAddress = testIP + ":" + testPort
 var testAPIEndpoint = "http://gosdn-latest.apps.ocp.fbi.h-da.de/api"
 var testUsername = "admin"
 var testPassword = "arista"
@@ -34,11 +35,19 @@ func testSetupIntegration() {
 		log.SetLevel(log.PanicLevel)
 	}
 
-	a := os.Getenv("GOSDN_TEST_ENDPOINT")
+	a := os.Getenv("GOSDN_TEST_ENDPOINT_IP")
 	if a != "" {
-		testAddress = a
-		log.Infof("GOSDN_TEST_ENDPOINT set to %v", testAddress)
+		testIP = a
+		log.Infof("GOSDN_TEST_ENDPOINT_IP set to %v", testIP)
 	}
+	port := os.Getenv("GOSDN_TEST_ENDPOINT_PORT")
+	if port != "" {
+		testPort = port
+		log.Infof("GOSDN_TEST_ENDPOINT_PORT set to %v", testPort)
+	}
+	testAddress = testIP + ":" + testPort
+	fmt.Printf("Testadress: %s, Testport: %s, Port: %s", testAddress, testPort, port)
+
 	api := os.Getenv("GOSDN_TEST_API_ENDPOINT")
 	if api != "" {
 		testAPIEndpoint = api
diff --git a/test/terraform/containers.tf b/test/terraform/containers.tf
index 4149322318193d0644f0e8f3eefafff44681a2ec..8f26aab32c76e9252e8d4143eb3b0ff3203b9018 100644
--- a/test/terraform/containers.tf
+++ b/test/terraform/containers.tf
@@ -15,6 +15,10 @@ resource "docker_container" "gosdn" {
   }
 }
 
+data "local_file" "port" {
+    filename = "port"
+}
+
 # create arista container
 # namespace is french cheeses
 resource "docker_container" "ceos" {
@@ -24,7 +28,7 @@ resource "docker_container" "ceos" {
 
   ports {
     internal = 6030
-    external = 6030
+    external = data.local_file.port.content
   }
 
   networks_advanced {
diff --git a/test/terraform/main.tf b/test/terraform/main.tf
index 1f228766349903fbad196dbd3b1df05324f8c70b..a08c19bb698658ed2430433851e02cbca39a8782 100644
--- a/test/terraform/main.tf
+++ b/test/terraform/main.tf
@@ -1,6 +1,7 @@
 terraform {
   backend "http" {
   }
+  
   required_providers {
     docker = {
       source = "kreuzwerker/docker"
diff --git a/test/terraform/networks.tf b/test/terraform/networks.tf
deleted file mode 100644
index 2372a310a9d9c239419a706a22ffc809fb05a64a..0000000000000000000000000000000000000000
--- a/test/terraform/networks.tf
+++ /dev/null
@@ -1,15 +0,0 @@
-resource "docker_network" "danet_legacy" {
-  name = "legacy-${random_id.server.hex}"
-
-  ipam_config {
-    subnet = "172.100.100.0/24"
-  }
-}
-
-resource "docker_network" "danet" {
-  name = "danet-${random_id.server.hex}"
-  ipv6 = true
-  ipam_config {
-    subnet = "fdfe::/64"
-  }
-}
\ No newline at end of file
diff --git a/test/terraform/resources.tf b/test/terraform/resources.tf
index 9659f2d949aaa978b04167a7a62d1a0dcc6752eb..d5f2938f3e0d7e215d339c21dd486d36de57a3bc 100644
--- a/test/terraform/resources.tf
+++ b/test/terraform/resources.tf
@@ -1,3 +1,3 @@
 resource "random_id" "server" {
   byte_length = 8
-}
+}
\ No newline at end of file