From 88a8475a57da1e7abd5b7b55c205b3e39a0bf166 Mon Sep 17 00:00:00 2001 From: Neil-Jocelyn Schark <neil.schark@h-da.de> Date: Tue, 17 Sep 2024 14:32:31 +0000 Subject: [PATCH] wip --- Makefile | 12 ++- longevity-tests/docker-compose.yml | 128 +++++++++++++++++++++++++++++ longevity-tests/run-curl.sh | 31 +++++++ 3 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 longevity-tests/docker-compose.yml create mode 100755 longevity-tests/run-curl.sh diff --git a/Makefile b/Makefile index d74cc804..4d554001 100644 --- a/Makefile +++ b/Makefile @@ -88,7 +88,7 @@ compose-up: generate-gokms-certs build-images install-gosdnc docker compose down docker compose up -d echo "Will add devices, can take a while" - ./config/controller/add_devices.sh + ./config/controller/add_devices.s compose-down: docker compose down @@ -116,6 +116,16 @@ integration-test-debug-compose-up: generate-integration-test-certs build-images integration-test-debug-compose-down: docker compose -f integration-tests/docker-compose.yml -f integration-tests/docker-compose.override.debug.yml down + +longevity-test: generate-gokms-certs build-images install-gosdnc + docker compose -f longevity-tests/docker-compose.yml down + docker compose -f longevity-tests/docker-compose.yml up -d + echo "Will add devices, can take a while" + ./config/controller/add_devices.sh + +longevity-test-down: + docker compose -f longevity-tests/docker-compose.yml down + generate-certs: generate-root-ca generate-gokms-certs generate-integration-test-certs generate-root-ca: pre diff --git a/longevity-tests/docker-compose.yml b/longevity-tests/docker-compose.yml new file mode 100644 index 00000000..b23c3a07 --- /dev/null +++ b/longevity-tests/docker-compose.yml @@ -0,0 +1,128 @@ +services: + kms01: + image: gokms + command: ["--log", "debug", "--kms_config", "/tmp/kms/config/kms01.yaml"] + volumes: + - ../config/goKMS/example01.yaml:/tmp/kms/config/kms01.yaml + - ../artifacts/ssl:/ssl + ports: + - "127.0.0.1:4401:1337" + - "127.0.0.1:9696:9696" + + kms02: + image: gokms + command: ["--log", "debug", "--kms_config", "/tmp/kms/config/kms02.yaml"] + volumes: + - ../config/goKMS/example02.yaml:/tmp/kms/config/kms02.yaml + - ../artifacts/ssl:/ssl + ports: + - "127.0.0.1:4402:1337" + + kms03: + image: gokms + command: ["--log", "debug", "--kms_config", "/tmp/kms/config/kms03.yaml"] + volumes: + - ../config/goKMS/example03.yaml:/tmp/kms/config/kms03.yaml + - ../artifacts/ssl:/ssl + ports: + - "127.0.0.1:4403:1337" + + kms04: + image: gokms + command: ["--log", "debug", "--kms_config", "/tmp/kms/config/kms04.yaml"] + volumes: + - ../config/goKMS/example04.yaml:/tmp/kms/config/kms04.yaml + - ../artifacts/ssl:/ssl + ports: + - "127.0.0.1:4404:1337" + - "127.0.0.1:9697:9696" + + qlayer01: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer01.yaml"] + volumes: + - ../config/quantumlayer/example01.yaml:/tmp/quantumlayer/config/quantumlayer01.yaml + + qlayer02: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer02.yaml"] + volumes: + - ../config/quantumlayer/example02.yaml:/tmp/quantumlayer/config/quantumlayer02.yaml + + qlayer03: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer03.yaml"] + volumes: + - ../config/quantumlayer/example03.yaml:/tmp/quantumlayer/config/quantumlayer03.yaml + + qlayer04: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer04.yaml"] + volumes: + - ../config/quantumlayer/example04.yaml:/tmp/quantumlayer/config/quantumlayer04.yaml + + qlayer05: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer05.yaml"] + volumes: + - ../config/quantumlayer/example05.yaml:/tmp/quantumlayer/config/quantumlayer05.yaml + + qlayer06: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer06.yaml"] + volumes: + - ../config/quantumlayer/example06.yaml:/tmp/quantumlayer/config/quantumlayer06.yaml + + qlayer07: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer07.yaml"] + volumes: + - ../config/quantumlayer/example07.yaml:/tmp/quantumlayer/config/quantumlayer07.yaml + + qlayer08: + image: quantumlayer + command: ["--config", "/tmp/quantumlayer/config/quantumlayer08.yaml"] + volumes: + - ../config/quantumlayer/example08.yaml:/tmp/quantumlayer/config/quantumlayer08.yaml + + akms-receiver01: + image: akms-simulator + + akms-receiver02: + image: akms-simulator + + qkdn-controller: + image: registry.code.fbi.h-da.de/demoquandt/qkdn-controller:qkdn-main + volumes: + - ../config/controller/qkdn-gosdn.toml:/app/configs/qkdn-gosdn.toml + - ../config/controller/gNMISubscriptions.txt:/app/configs/gNMISubscriptions.txt + command: --config ./configs/qkdn-gosdn.toml + ports: + - "127.0.0.1:55055:55055" + environment: + GOSDN_ADMIN_PASSWORD: TestPassword + + gosdnc: + image: registry.code.fbi.h-da.de/demoquandt/qkdn-controller/gosdnc:qkdn-main + volumes: + - ../config/controller/add_devices.sh:/scripts/add_devices.sh + entrypoint: ["/scripts/add_devices.sh"] + + plugin-registry: + image: registry.code.fbi.h-da.de/demoquandt/qkdn-controller/plugin-registry:qkdn-main + + mongo: + image: mongo:7 + environment: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: example + + rabbitmq: + image: rabbitmq:3-management + + routing-app: + image: registry.code.fbi.h-da.de/demoquandt/qkdn-controller/routing-app:qkdn-main + entrypoint: ["./start_ra_sleep.sh"] + volumes: + - ../config/controller/start_ra_sleep.sh:/app/start_ra_sleep.sh + - ../config/controller/routing-config.yaml:/new/routing-config.yaml diff --git a/longevity-tests/run-curl.sh b/longevity-tests/run-curl.sh new file mode 100755 index 00000000..349756a4 --- /dev/null +++ b/longevity-tests/run-curl.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +kms1AkmsURL="127.0.0.1:9696" + + +# Loop for ever and increase a requestId variable +requestId=0 +while true; do + requestId=$((requestId+1)) + echo "requestId: $requestId" + url="https://${kms1AkmsURL}/api/v1/keys/ksa_key_req" + data=$(cat <<EOF + { + "ReceivingCKMSID": "5e41c291-6121-4335-84f6-41e04b8bdaa2", + "RequestID": "${requestId}", + "KeyProperties": { + "Number": 1, + "KeyLength": 256, + "Timeout": 20, + "TTL": 24 + } + } +EOF + ) + + curl -X POST "$url" \ + -H "Content-Type: application/json" \ + -d "$data" + + sleep 1 +done -- GitLab