diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a3efdf1c92d3c7328aedcdcb8be9a66b4c7ded8f..4c3aaaf8b9a980835405c2db52f18872e4b780c6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,7 @@ variables:
     GOLANG_VERSION: "1.22"
     GNMI_TARGET_IMAGE: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master
     GNMI_TARGET_INTEGRATION_IMAGE: "$CI_REGISTRY_IMAGE/gnmi-target-integration-test:${CI_COMMIT_SHA}"
+    DOCKER_TLS_CERTDIR: "/certs"
 
 workflow:
   rules:
diff --git a/.gitlab/ci/.test.yml b/.gitlab/ci/.test.yml
index 6fe9f251de86c2f0a73cca3eb5669f6073cf0721..20cd508b90897386d1e38cbbc9f85faba30ca929 100644
--- a/.gitlab/ci/.test.yml
+++ b/.gitlab/ci/.test.yml
@@ -11,7 +11,8 @@ integration-test-gosdn:
         MONGO_INITDB_ROOT_PASSWORD: example
         INTEGRATION_TEST_TARGET_A: gnmi-target_A:7030
         INTEGRATION_TEST_TARGET_B: gnmi-target_B:7030
-        RABBITMQ_HOSTNAME: rabbitmq
+        INTEGRATION_TEST_RABBITMQ_HOSTNAME: rabbitmq
+        INTEGRATION_TEST_CONTROLLER_URL: gosdn:55055
     services:
       - name: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/mongo:7
         alias: mongo
@@ -28,20 +29,13 @@ integration-test-gosdn:
         alias: gnmi-target_B
         command: ["start", "--cert", "/etc/gnmi-target/ssl/certs/gnmi-target-selfsigned.crt", "--key", "/etc/gnmi-target/ssl/private/gnmi-target-selfsigned.key", "--ca_file", "/etc/gnmi-target/ssl/ca.crt"]
       # Use gosdn docker image from this branch
-      # Uncomment later when fixed. See: https://code.fbi.h-da.de/danet/gosdn/-/issues/335
-      #- name: "${CI_REGISTRY_IMAGE}:${DOCKER_TAG}_integration-test"
-      #  alias: gosdn
-      #  variables:
-      #    GOSDN_ADMIN_PASSWORD: TestPassword
-      #  command: ["--config", "/app/configs/integration-test-gosdn.toml", "--security", "secure"]
+      - name: "${CI_REGISTRY_IMAGE}:${DOCKER_TAG}_integration-test"
+        alias: gosdn
+        variables:
+          GOSDN_ADMIN_PASSWORD: TestPassword
+        command: ["--config", "/app/configs/integration-test-gosdn.toml", "--security", "secure"]
     before_script:
         - bash -c "$(curl -sL https://get-gnmic.openconfig.net)"
     script:
-        # Remove start of goSDN later when fixed. See: https://code.fbi.h-da.de/danet/gosdn/-/issues/335
-        - cp -r artifacts/ssl/gosdn/certs artifacts/ssl/
-        - cp -r artifacts/ssl/gosdn/private artifacts/ssl/
-        - mkdir artifacts/configs && cp controller/configs/gNMISubscriptions.txt.example artifacts/configs/gNMISubscriptions.txt
-        - make build-gosdn
-        - cd artifacts && GOSDN_ADMIN_PASSWORD=TestPassword ./gosdn --config ../controller/configs/integration-test-gosdn.toml --security secure &
-        - INTEGRATION_TEST_CONTROLLER_URL="localhost:55055" go test -p 1 ./integration-tests/*
+        - go test -p 1 ./integration-tests/*
     <<: *test
diff --git a/.gitlab/ci/gosdn-integration.Dockerfile b/.gitlab/ci/gosdn-integration.Dockerfile
index 7629a5218e9995bd0e35ffb846c96d2d53b785c3..51e3a406ce48c93f1a4fdee551f17fe369593caa 100644
--- a/.gitlab/ci/gosdn-integration.Dockerfile
+++ b/.gitlab/ci/gosdn-integration.Dockerfile
@@ -4,7 +4,3 @@ FROM ${GOSDN_IMAGE}
 
 RUN mkdir /app/ssl
 COPY ./artifacts/ssl/gosdn /app/ssl
-
-#COPY .gitlab/ci/test-start.sh test-start.sh
-#RUN chmod +x test-start.sh
-#ENTRYPOINT ["./test-start.sh"]
diff --git a/controller/eventService/Service.go b/controller/eventService/Service.go
index 7c822fc8a6b54e0d4cc07a094f9647c8f4cbd28b..330cb195b861999cc6641da0a60228816323460c 100644
--- a/controller/eventService/Service.go
+++ b/controller/eventService/Service.go
@@ -13,6 +13,7 @@ import (
 
 	amqp "github.com/rabbitmq/amqp091-go"
 	"github.com/sethvargo/go-retry"
+	"github.com/sirupsen/logrus"
 	log "github.com/sirupsen/logrus"
 )
 
@@ -80,12 +81,23 @@ func NewEventService() (interfaces.Service, error) {
 }
 
 func connect(addr string) (*amqp.Connection, error) {
-	conn, err := amqp.Dial(addr)
-	if err != nil {
-		return nil, &customerrs.AMQPInitFailError{Action: "failed to connect to RabbitMQ", Err: err}
+	var err error
+	// Will equal two Minuten of retries
+	retries := 60
+
+	logrus.Infof("will try to connect to rabbitmq: %s", addr)
+
+	for i := 0; i < retries; i++ {
+		conn, err := amqp.Dial(addr)
+		if err == nil {
+			logrus.Info("Connected to RabbitMQ")
+			return conn, nil
+		}
+		logrus.Errorf("could not connect to RabbitMQ with error: %s. Retrying in 2 seconds.", err.Error())
+		time.Sleep(2 * time.Second)
 	}
 
-	return conn, nil
+	return nil, &customerrs.AMQPInitFailError{Action: "finally failed to connect to RabbitMQ", Err: err}
 }
 
 // Reconnect attempts to setup a new connection to the RabbitMQ server after an disconnect.
diff --git a/integration-tests/application_tests/application_test.go b/integration-tests/application_tests/application_test.go
index 721bd2cfa770f6a30826e75e49ddeb907a849e0f..926f4d68c4b186a8779ef191905857cee27db957 100644
--- a/integration-tests/application_tests/application_test.go
+++ b/integration-tests/application_tests/application_test.go
@@ -61,12 +61,18 @@ func TestMain(m *testing.M) {
 	topics := []event.Topic{event.ManagedNetworkElement, event.User, event.Role}
 
 	rabbitMQAddress := ""
-	envVarRabbitmq := os.Getenv("RABBITMQ_HOSTNAME")
+	envVarRabbitmq := os.Getenv("INTEGRATION_TEST_RABBITMQ_HOSTNAME")
 	if envVarRabbitmq != "" {
 		rabbitMQAddress = envVarRabbitmq
 	}
 
-	application = NewApplication(ctx, conn, ":55055", topics, rabbitMQAddress)
+	controllerUrl := "localhost:55055"
+	controllerEnv := os.Getenv("INTEGRATION_TEST_CONTROLLER_URL")
+	if controllerEnv != "" {
+		controllerUrl = controllerEnv
+	}
+
+	application = NewApplication(ctx, conn, controllerUrl, topics, rabbitMQAddress)
 
 	eventTypeCallbackTuples := []event.TypeToCallbackTuple{
 		{