diff --git a/.gitlab/ci/.build-container-images.yml b/.gitlab/ci/.build-container-images.yml index 512dce38737f426f4b65d35799a34745840ec93f..04cbec4a79124bd37c54abe0d4ed231a61a142e8 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 30a13ba0b8460a62f0a542b1fb7b9059cd0adcf7..37ac2da92132ee6ea7313f800ca634e6ba54e137 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 49cd1832d96e1c090a5b7fdffe6c246446ae1ca8..6530b4e9be2caf8a8a5bf5ac67dbc44004fb9c88 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 6bb99815b1a9785718f787f3dc8c4b8b6b797c32..38e097c985336790a3b95521f186729cd471ad3a 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 +