From 034136a5fa4417691951ed2b0532565585611851 Mon Sep 17 00:00:00 2001 From: Neil-Jocelyn Schark <neil.schark@h-da.de> Date: Thu, 14 Dec 2023 12:17:27 +0000 Subject: [PATCH] Fix integration tests again See merge request danet/gosdn!662 --- .gitlab/ci/.build-container-images.yml | 4 ++++ .gitlab/ci/.test.yml | 11 +++++++---- Makefile | 6 +++--- .../integration-test_docker-compose.yml | 19 ++++++++++++++----- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/.gitlab/ci/.build-container-images.yml b/.gitlab/ci/.build-container-images.yml index 512dce387..04cbec4a7 100644 --- a/.gitlab/ci/.build-container-images.yml +++ b/.gitlab/ci/.build-container-images.yml @@ -73,4 +73,8 @@ build-integration-test-images: # Push images - docker push "$CI_REGISTRY_IMAGE:${DOCKER_TAG}_integration-test" - docker push $GNMI_TARGET_INTEGRATION_IMAGE + artifacts: + paths: + - artifacts/ssl + expire_in: 1 day <<: *build-testing diff --git a/.gitlab/ci/.test.yml b/.gitlab/ci/.test.yml index 30a13ba0b..37ac2da92 100644 --- a/.gitlab/ci/.test.yml +++ b/.gitlab/ci/.test.yml @@ -16,22 +16,25 @@ integration-test-gosdn: alias: rabbitmq variables: HEALTHCHECK_TCP_PORT: "5672" - - name: $PLUGIN_REGISTRY_IMAGE_NAME:$DOCKER_TAG + - name: ${CI_REGISTRY_IMAGE}/plugin-registry:${DOCKER_TAG} + alias: plugin-registry - name: $GNMI_TARGET_INTEGRATION_IMAGE - alias: gnmi-target_1 + alias: gnmi-target_A 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"] - name: $GNMI_TARGET_INTEGRATION_IMAGE - alias: gnmi-target_2 + 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" + #- 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"] script: # Remove start of goSDN later when fixed. See: https://code.fbi.h-da.de/danet/gosdn/-/issues/335 + - mv artifacts/ssl/gosdn/certs artifacts/ssl/ + - mv artifacts/ssl/gosdn/private artifacts/ssl/ - 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 ./integration-tests/* diff --git a/Makefile b/Makefile index 49cd1832d..6530b4e9b 100644 --- a/Makefile +++ b/Makefile @@ -87,16 +87,16 @@ dev-env-stop: generate-certs: generate-gnmi-target-certs generate-gosdn-certs -controller-integration-tests: generate-certs containerize-gosdn containerize-plugin-registry +integration-tests: generate-certs containerize-gosdn containerize-plugin-registry docker-compose -f dev_env_data/docker-compose/integration-test_docker-compose.yml down docker-compose -f dev_env_data/docker-compose/integration-test_docker-compose.yml up -d go test ./integration-tests/* docker-compose -f dev_env_data/docker-compose/integration-test_docker-compose.yml down -controller-integration-tests-debug-up: generate-certs containerize-gosdn containerize-plugin-registry +integration-tests-debug-up: generate-certs containerize-gosdn containerize-plugin-registry docker-compose -f dev_env_data/docker-compose/integration-test_docker-compose.yml up -d -controller-integration-tests-debug-down: +integration-tests-debug-down: docker-compose -f dev_env_data/docker-compose/integration-test_docker-compose.yml down # Warning: Depending on your go and development configuration might also clean caches, modules and docker containers from your other projects. diff --git a/dev_env_data/docker-compose/integration-test_docker-compose.yml b/dev_env_data/docker-compose/integration-test_docker-compose.yml index 6bb99815b..38e097c98 100644 --- a/dev_env_data/docker-compose/integration-test_docker-compose.yml +++ b/dev_env_data/docker-compose/integration-test_docker-compose.yml @@ -27,7 +27,9 @@ services: - 8080:8080 - 40000:40000 depends_on: - gnmi-target: + gnmi-target_A: + condition: service_started + gnmi-target_B: condition: service_started mongo: condition: service_started @@ -42,12 +44,19 @@ services: volumes: - ../../artifacts/ssl/gosdn:/app/ssl - gnmi-target: + gnmi-target_A: + privileged: true + image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master + volumes: + - ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl + 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 + + gnmi-target_B: + privileged: true image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master - deploy: - mode: replicated - replicas: 2 volumes: - ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl 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 + -- GitLab