diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 69ed5c3fc1..69d7939210 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -305,6 +305,46 @@ jobs: cd monitoring/uss_qualifier make test + uss_qualifier-minimal_probing_simulations-crdb-test: + name: uss_qualifier configurations.dev.minimal_probing_simulations tests with crdb + needs: + - build-monitoring-image + permissions: + contents: read + uses: ./.github/workflows/monitoring-test.yml + with: + name: uss_qualifier-minimal_probing_simulations-crdb-test + script: | + export CONFIG_NAME="configurations.dev.minimal_probing" + export NUM_USS=2 + export NUM_NODES=1 + export DB_TYPE=crdb + export INTRA_USS_NETEM_CONF="delay 250us 25us 25% distribution normal loss 0.0025% 10%" + export INTER_USS_NETEM_CONF="delay 25ms 7.5ms 50% distribution paretonormal loss 0.025% 25%" + + cd monitoring/uss_qualifier + make test + + uss_qualifier-minimal_probing_simulations-ybdb-test: + name: uss_qualifier configurations.dev.minimal_probing_simulations tests with ybdb + needs: + - build-monitoring-image + permissions: + contents: read + uses: ./.github/workflows/monitoring-test.yml + with: + name: uss_qualifier-minimal_probing_simulations-ybdb-test + script: | + export CONFIG_NAME="configurations.dev.minimal_probing" + export NUM_USS=2 + export NUM_NODES=1 + export DB_TYPE=ybdb + export INTRA_USS_NETEM_CONF="delay 250us 25us 25% distribution normal loss 0.0025% 10%" + export INTER_USS_NETEM_CONF="delay 25ms 7.5ms 50% distribution paretonormal loss 0.025% 25%" + + cd monitoring/uss_qualifier + make test + prober-test: name: prober tests needs: diff --git a/build/dev/docker-compose.yaml b/build/dev/docker-compose.yaml index 9d492948fe..acba13898f 100644 --- a/build/dev/docker-compose.yaml +++ b/build/dev/docker-compose.yaml @@ -1,22 +1,28 @@ -# Brings up a local interoperability ecosystem consisting of a DSS instance and dummy OAuth server. - -# To bring up this system, run ./run_locally.sh up -d and wait for all containers to succeed or become healthy. -# If needed, set environment variable `COMPOSE_PROFILES` to `with-yugabyte` to use Yugabyte instead of CockroachDB +# This Docker Compose file must be used through `./run_locally.sh`. services: crdb: - hostname: crdb.uss1.localutm image: cockroachdb/cockroach:v24.1.3 - command: start-single-node --insecure - expose: - - 26257 - ports: - - "8080:8080" - - "26257:26257" + entrypoint: /db-entrypoint.sh + command: /cockroach/cockroach.sh start --insecure --join=db1.uss1.localutm + volumes: + - $PWD/startup/db-entrypoint.sh:/db-entrypoint.sh:ro + profiles: [crdb] restart: always + cap_add: [NET_ADMIN] + hostname: db${USS_NODE_IDX:?}.uss${USS_IDX:?}.localutm networks: - - dss_internal_network + dss_internal_network: + ipv4_address: 172.27.${USS_IDX:?}.${USS_NODE_IDX:?} + ports: + - "81${PADDED_NODE_IDX:?}:8080" + - "262${PADDED_NODE_IDX:?}:26257" + environment: + - INTRA_USS_SUBNET=172.27.${USS_IDX:?}.0/24 + - INTER_USS_SUBNET=172.27.0.0/16 + - INTRA_USS_NETEM_CONF=${INTRA_USS_NETEM_CONF-} + - INTER_USS_NETEM_CONF=${INTER_USS_NETEM_CONF-} healthcheck: test: curl -f 'http://localhost:8080/health?ready=1' || exit 1 interval: 3m @@ -25,116 +31,141 @@ services: ybdb: image: interuss/yugabyte:2025.1.2.1-interuss + entrypoint: /db-entrypoint.sh # ysql_output_buffer_size needs to be increased to allow ysql to retry read restart errors. https://docs.yugabyte.com/preview/reference/configuration/yb-tserver/#ysql-output-buffer-size - command: bin/yugabyted start --background=false --tserver_flags="ysql_output_buffer_size=1048576" - ports: - - "7000:7000" - - "9000:9000" - - "15433:15433" - - "5433:5433" - - "9042:9042" + command: sh -c "bin/yugabyted start --background=false --tserver_flags=ysql_output_buffer_size=1048576 --advertise_address=$$YBDB_HOST --join=$$([ "$$YBDB_HOST" = db1.uss1.localutm ] || echo db1.uss1.localutm)" + volumes: + - $PWD/startup/db-entrypoint.sh:/db-entrypoint.sh:ro + profiles: [ybdb] restart: always + cap_add: [ NET_ADMIN ] + hostname: db${USS_NODE_IDX:?}.uss${USS_IDX:?}.localutm networks: - - dss_internal_network - profiles: ["with-yugabyte"] + dss_internal_network: + ipv4_address: 172.27.${USS_IDX:?}.${USS_NODE_IDX:?} + ports: + - "70${PADDED_NODE_IDX:?}:7000" + - "90${PADDED_NODE_IDX:?}:9000" + - "154${PADDED_NODE_IDX:?}:15433" + - "54${PADDED_NODE_IDX:?}:5433" + - "91${PADDED_NODE_IDX:?}:9042" + environment: + - YBDB_HOST=db${USS_NODE_IDX:?}.uss${USS_IDX:?}.localutm + - INTRA_USS_SUBNET=172.27.${USS_IDX:?}.0/24 + - INTER_USS_SUBNET=172.27.0.0/16 + - INTRA_USS_NETEM_CONF=${INTRA_USS_NETEM_CONF-} + - INTER_USS_NETEM_CONF=${INTER_USS_NETEM_CONF-} healthcheck: - test: ["CMD", "/home/yugabyte/postgres/bin/pg_isready", "-h", "ybdb"] + test: /home/yugabyte/postgres/bin/pg_isready -h $$YBDB_HOST || exit 1 interval: 5s timeout: 5s retries: 10 + crdb-init: + image: cockroachdb/cockroach:v24.1.3 + profiles: [bootstrap-crdb] + depends_on: [crdb] + entrypoint: > + sh -c " + out=$$(/cockroach/cockroach.sh init --insecure --host=db1.uss1.localutm 2>&1); + if [ $$? -eq 0 ]; then + echo "$$out"; + exit 0; + fi; + echo "$$out"; + if echo \"$$out\" | grep -q \"already been initialized\"; then + exit 0; + fi; + exit 1; + " + networks: [dss_internal_network] + rid_bootstrapper: image: interuss/dss:v0.21.0-rc1 - command: /usr/bin/db-manager migrate --schemas_dir=/db-schemas/rid --db_version "latest" --cockroach_host crdb + profiles: [bootstrap-crdb] + entrypoint: sh -c "/usr/bin/db-manager migrate --schemas_dir=/db-schemas/$$BOOTSTRAP_DB --db_version latest --cockroach_host db1.uss1.localutm" + environment: + - BOOTSTRAP_DB=rid depends_on: - crdb: - condition: service_healthy - networks: - - dss_internal_network + crdb-init: + condition: service_completed_successfully + networks: [dss_internal_network] + healthcheck: + disable: true scd_bootstrapper: - image: interuss/dss:v0.21.0-rc1 - command: /usr/bin/db-manager migrate --schemas_dir=/db-schemas/scd --db_version "latest" --cockroach_host crdb - depends_on: - crdb: - condition: service_healthy - networks: - - dss_internal_network + extends: + service: rid_bootstrapper + environment: + - BOOTSTRAP_DB=scd aux_bootstrapper: - image: interuss/dss:v0.21.0-rc1 - command: /usr/bin/db-manager migrate --schemas_dir=/db-schemas/aux_ --db_version "latest" --cockroach_host crdb - depends_on: - crdb: - condition: service_healthy - networks: - - dss_internal_network + extends: + service: rid_bootstrapper + environment: + - BOOTSTRAP_DB=aux_ rid_bootstrapper-ybdb: image: interuss/dss:v0.21.0-rc1 - entrypoint: /usr/bin/db-manager migrate --schemas_dir=/db-schemas/yugabyte/rid --db_version "latest" --datastore_host ybdb --datastore_user yugabyte --datastore_port 5433 - depends_on: - ybdb: - condition: service_healthy - networks: - - dss_internal_network - profiles: ["with-yugabyte"] + profiles: [bootstrap-ybdb] + entrypoint: sh -c "/usr/bin/db-manager migrate --schemas_dir=/db-schemas/yugabyte/$$BOOTSTRAP_DB --db_version latest --datastore_host db1.uss1.localutm --datastore_user yugabyte --datastore_port 5433" + environment: + - BOOTSTRAP_DB=rid + restart: on-failure + networks: [dss_internal_network] + healthcheck: + disable: true scd_bootstrapper-ybdb: - image: interuss/dss:v0.21.0-rc1 - entrypoint: /usr/bin/db-manager migrate --schemas_dir=/db-schemas/yugabyte/scd --db_version "latest" --datastore_host ybdb --datastore_user yugabyte --datastore_port 5433 - depends_on: - ybdb: - condition: service_healthy - networks: - - dss_internal_network - profiles: ["with-yugabyte"] + extends: + service: rid_bootstrapper-ybdb + environment: + - BOOTSTRAP_DB=scd aux_bootstrapper-ybdb: - image: interuss/dss:v0.21.0-rc1 - entrypoint: /usr/bin/db-manager migrate --schemas_dir=/db-schemas/yugabyte/aux_ --db_version "latest" --datastore_host ybdb --datastore_user yugabyte --datastore_port 5433 - depends_on: - ybdb: - condition: service_healthy - networks: - - dss_internal_network - profiles: ["with-yugabyte"] + extends: + service: rid_bootstrapper-ybdb + environment: + - BOOTSTRAP_DB=aux_ dss: - hostname: dss.uss1.localutm image: interuss/dss:v0.21.0-rc1 + command: /startup/core_service.sh ${DEBUG_ON:-0} + profiles: [ crdb, ybdb ] + restart: always volumes: - $PWD/../test-certs:/var/test-certs:ro - $PWD/startup/core_service.sh:/startup/core_service.sh:ro - command: /startup/core_service.sh ${DEBUG_ON:-0} - environment: - COMPOSE_PROFILES: ${COMPOSE_PROFILES} - expose: - - 8082 - ports: - - "4000:4000" - - "8082:80" depends_on: rid_bootstrapper: condition: service_completed_successfully + required: false scd_bootstrapper: condition: service_completed_successfully + required: false aux_bootstrapper: condition: service_completed_successfully + required: false rid_bootstrapper-ybdb: condition: service_completed_successfully required: false scd_bootstrapper-ybdb: - required: false condition: service_completed_successfully + required: false aux_bootstrapper-ybdb: condition: service_completed_successfully required: false + hostname: dss${USS_NODE_IDX:?}.uss${USS_IDX:?}.localutm networks: - dss_internal_network: {} - interop_ecosystem_network: - aliases: - - dss.uss2.localutm + - dss_internal_network + - interop_ecosystem_network + ports: + - "40${PADDED_NODE_IDX:?}:4000" + - "80${PADDED_NODE_IDX:?}:80" + environment: + COMPOSE_PROFILES: ${COMPOSE_PROFILES} + JWT_AUDIENCES: dss${USS_NODE_IDX:?}.uss${USS_IDX:?}.localutm + DATASTORE_HOST: db${USS_NODE_IDX:?}.uss${USS_IDX:?}.localutm healthcheck: test: wget -O - 'http://localhost/healthy' || exit 1 interval: 3m @@ -142,17 +173,18 @@ services: start_interval: 5s oauth: - hostname: oauth.authority.localutm image: interuss/dummy-oauth command: -private_key_file /var/test-certs/auth2.key volumes: - $PWD/../test-certs:/var/test-certs:ro + profiles: [oauth] + hostname: oauth.authority.localutm + networks: + - interop_ecosystem_network expose: - 8085 ports: - "8085:8085" - networks: - - interop_ecosystem_network healthcheck: test: wget -O - 'http://localhost:8085/token?intended_audience=-&scope=-' || exit 1 interval: 3m @@ -162,8 +194,10 @@ services: networks: dss_internal_network: name: dss_internal_network + external: true interop_ecosystem_network: name: interop_ecosystem_network + external: true volumes: dss_component_coordination: diff --git a/build/dev/run_locally.sh b/build/dev/run_locally.sh index a4c842a174..eab34254bd 100755 --- a/build/dev/run_locally.sh +++ b/build/dev/run_locally.sh @@ -2,8 +2,20 @@ set -eo pipefail -# This script will deploy an interoperability ecosystem consisting of a standalone DSS instance and dummy OAuth server -# (both accessible on the interop_ecosystem_network) with docker compose using the DSS image from Docker Hub. +# This script will deploy an interoperability ecosystem consisting of a chosen number of DSS instances and a dummy OAuth +# server (all accessible on the interop_ecosystem_network) with docker compose using the DSS image from Docker Hub. +# Run `./run_locally.sh up -d` to start two DSS instances using CockroachDB. +# +# The following environment variables may be used to simulate different conditions: +# - NUM_USS: number of USSs (default: 2) +# - NUM_NODES: number of nodes per USS (default: 1) +# - DB_TYPE: crdb or ybdb (default: crdb) +# - INTRA_USS_NETEM_CONF: tc netem configuration to apply to traffic between DB nodes of an USS (default: ) +# sensible value (low latency/jitter, very low loss (e.g., within same availability DC)): +# "delay 250us 25us 25% distribution normal loss 0.0025% 10%" +# - INTER_USS_NETEM_CONF: tc netem configuration to apply to traffic between DB nodes of different USS (default: ) +# sensible value (higher latency/jitter, moderate loss (e.g., cross-country)): +# "delay 25ms 7.5ms 50% distribution paretonormal loss 0.025% 25%" if [[ -z $(command -v docker) ]]; then echo "docker is required but not installed. Visit https://docs.docker.com/install/ to install." @@ -20,6 +32,10 @@ fi cd "${BASEDIR}" || exit 1 +NUM_USS=${NUM_USS:-2} +NUM_NODES=${NUM_NODES:-1} +DB_TYPE=${DB_TYPE:-crdb} + DC_COMMAND=$* if [[ ! "$DC_COMMAND" ]]; then @@ -32,5 +48,39 @@ elif [[ "$DC_COMMAND" == "debug" ]]; then export DEBUG_ON=1 fi -# shellcheck disable=SC2086 -docker compose -f docker-compose.yaml -p local_infra $DC_COMMAND $DC_OPTIONS +if [[ "$DC_COMMAND" == up* ]]; then + echo "Creating networks..." + docker network create --subnet=172.27.0.0/16 \ + --ip-range=172.27.0.0/24 \ + --gateway=172.27.0.1 \ + dss_internal_network || true + docker network create interop_ecosystem_network || true + echo "Starting containers..." +fi + +for ((i=1; i<=NUM_USS; i++)); do + for ((j=1; j<=NUM_NODES; j++)); do + export USS_IDX=$i + export USS_NODE_IDX=$j + PADDED_NODE_IDX=$(printf "%02d" $(( (i-1) * NUM_NODES + j))) + export PADDED_NODE_IDX + + export COMPOSE_PROFILES=${DB_TYPE} + if [ "$i" -eq 1 ] && [ "$j" -eq 1 ]; then + export COMPOSE_PROFILES=${COMPOSE_PROFILES},oauth + fi + if [ "$i" -eq "$NUM_USS" ] && [ "$j" -eq "$NUM_NODES" ]; then + export COMPOSE_PROFILES=${COMPOSE_PROFILES},bootstrap-${DB_TYPE} + fi + + # shellcheck disable=SC2086 + docker compose -f docker-compose.yaml -p "local_infra_${USS_IDX}-${USS_NODE_IDX}" $DC_COMMAND $DC_OPTIONS & + done +done +wait + +if [[ "$DC_COMMAND" == "down" ]]; then + echo "Removing networks..." + docker network rm dss_internal_network || true + docker network rm interop_ecosystem_network || true +fi diff --git a/build/dev/startup/core_service.sh b/build/dev/startup/core_service.sh index 6c1da4c36a..085ff8317e 100755 --- a/build/dev/startup/core_service.sh +++ b/build/dev/startup/core_service.sh @@ -6,14 +6,15 @@ set -e # started by docker-compose.yaml, not on a local system. DEBUG_ON=${1:-0} +JWT_AUDIENCES="localhost,host.docker.internal,${JWT_AUDIENCES}" -# POSIX compliant test to check if with-yugabyte profile is enabled. -if [ "${COMPOSE_PROFILES#*"with-yugabyte"}" != "${COMPOSE_PROFILES}" ]; then +# POSIX compliant test to check if ybdb profile is enabled. +if [ "${COMPOSE_PROFILES#*"ybdb"}" != "${COMPOSE_PROFILES}" ]; then echo "Using Yugabyte" - DATASTORE_CONNECTION="-datastore_host ybdb -datastore_user yugabyte --datastore_port 5433" + DATASTORE_CONNECTION="-datastore_host ${DATASTORE_HOST} -datastore_user yugabyte --datastore_port 5433" else echo "Using CockroachDB" - DATASTORE_CONNECTION="-datastore_host crdb.uss1.localutm" + DATASTORE_CONNECTION="-datastore_host ${DATASTORE_HOST}" fi if [ "$DEBUG_ON" = "1" ]; then @@ -27,7 +28,7 @@ if [ "$DEBUG_ON" = "1" ]; then -log_format console \ -dump_requests \ -addr :80 \ - -accepted_jwt_audiences localhost,host.docker.internal,dss.uss1.localutm,dss.uss2.localutm \ + -accepted_jwt_audiences ${JWT_AUDIENCES} \ -enable_scd \ -allow_http_base_urls \ -locality local_dev \ @@ -43,7 +44,7 @@ else -log_format console \ -dump_requests \ -addr :80 \ - -accepted_jwt_audiences localhost,host.docker.internal,dss.uss1.localutm,dss.uss2.localutm \ + -accepted_jwt_audiences ${JWT_AUDIENCES} \ -enable_scd \ -allow_http_base_urls \ -locality local_dev \ diff --git a/build/dev/startup/db-entrypoint.sh b/build/dev/startup/db-entrypoint.sh new file mode 100755 index 0000000000..022dbcb9df --- /dev/null +++ b/build/dev/startup/db-entrypoint.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# shellcheck disable=SC2086 +# Script to be used as the Docker entrypoint for crdb and ybdb to apply tc rules. + +set -e + +if [ -n "$INTRA_USS_NETEM_CONF" ] || [ -n "$INTER_USS_NETEM_CONF" ]; then + + # install iproute-tc + if [ -e /cockroach/cockroach.sh ]; then # crdb + cat << 'EOF' > /etc/yum.repos.d/CentOS-BaseOS.repo +[centos-baseos] +name=CentOS Stream 9 - BaseOS +baseurl=http://mirror.stream.centos.org/9-stream/BaseOS/$basearch/os/ +gpgcheck=0 +enabled=1 +EOF + microdnf -y install iproute-tc + elif [ -e /home/yugabyte/bin/yugabyted ]; then # ybdb + dnf -y install iproute-tc + fi + + # create handle on default interface + tc qdisc add dev eth0 root handle 1: prio + + # apply netem config for intra-USS subnet + if [ -n "$INTRA_USS_NETEM_CONF" ]; then + tc qdisc add dev eth0 parent 1:2 handle 30: netem $INTRA_USS_NETEM_CONF + tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst "$INTRA_USS_SUBNET" flowid 1:2 + fi + + # apply netem config for inter-USS subnet + if [ -n "$INTER_USS_NETEM_CONF" ]; then + tc qdisc add dev eth0 parent 1:3 handle 31: netem $INTER_USS_NETEM_CONF + tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip dst "$INTER_USS_SUBNET" flowid 1:3 + fi +fi +exec "$@" diff --git a/monitoring/loadtest/README.md b/monitoring/loadtest/README.md index c6fe01110d..3879f23e24 100644 --- a/monitoring/loadtest/README.md +++ b/monitoring/loadtest/README.md @@ -78,7 +78,7 @@ Simply build the Docker container with the Dockerfile from the root directory. A ## Use 1. Navigate to http://127.0.0.1:8089 1. Start new test with number of Users to spawn and the rate to spawn them. -1. For the Host, provide the DSS root endpoint used for testing. An example of such url is: http://dss.uss1.localutm/ in case local environment is setup with `make start-locally` +1. For the Host, provide the DSS root endpoint used for testing. An example of such url is: http://dss1.uss1.localutm/ in case local environment is setup with `make start-locally` ## Examples to run tests locally @@ -89,16 +89,16 @@ Before running all examples: ### ISA.py -`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/ISA.py -H http://dss.uss1.localutm -u 10 --uss-base-url http://dss.uss1.localutm` +`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/ISA.py -H http://dss1.uss1.localutm -u 10 --uss-base-url http://dss1.uss1.localutm` ### Sub.py -`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/Sub.py -H http://dss.uss1.localutm -u 10 --uss-base-url http://dss.uss1.localutm` +`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/Sub.py -H http://dss1.uss1.localutm -u 10 --uss-base-url http://dss1.uss1.localutm` ### SCD.py -`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/SCD.py -H http://dss.uss1.localutm -u 10 --area-lat -34.93 --area-lng 138.6 --area-radius 1000 --max-flight-distance 12000 --uss-base-url http://dss.uss1.localutm` +`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/SCD.py -H http://dss1.uss1.localutm -u 10 --area-lat -34.93 --area-lng 138.6 --area-radius 1000 --max-flight-distance 12000 --uss-base-url http://dss1.uss1.localutm` ### FlightsInSub.py -`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/FlightsInSub.py -H http://dss.uss1.localutm -u 10 --cluster-count 3 --base-lat -34.93 --base-lng 138.6 --area-radius 1000 --max-flight-distance 1000 --uss-base-url http://dss.uss1.localutm` +`docker run -e AUTH_SPEC="DummyOAuth(http://oauth.authority.localutm:8085/token,uss1)" --network="interop_ecosystem_network" -p 8089:8089 -v .:/app/ interuss/monitoring-dev uv run locust -f loadtest/locust_files/FlightsInSub.py -H http://dss1.uss1.localutm -u 10 --cluster-count 3 --base-lat -34.93 --base-lng 138.6 --area-radius 1000 --max-flight-distance 1000 --uss-base-url http://dss1.uss1.localutm` diff --git a/monitoring/mock_uss/docker-compose.yaml b/monitoring/mock_uss/docker-compose.yaml index f723505478..3cd3a713c9 100644 --- a/monitoring/mock_uss/docker-compose.yaml +++ b/monitoring/mock_uss/docker-compose.yaml @@ -12,7 +12,7 @@ services: command: mock_uss/start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss1) - - MOCK_USS_DSS_URL=http://dss.uss1.localutm + - MOCK_USS_DSS_URL=http://dss1.uss1.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=scdsc.uss1.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://scdsc.uss1.localutm @@ -47,7 +47,7 @@ services: command: mock_uss/start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss2) - - MOCK_USS_DSS_URL=http://dss.uss2.localutm + - MOCK_USS_DSS_URL=http://dss1.uss2.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=scdsc.uss2.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://scdsc.uss2.localutm @@ -106,7 +106,7 @@ services: command: mock_uss/start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss1) - - MOCK_USS_DSS_URL=http://dss.uss1.localutm + - MOCK_USS_DSS_URL=http://dss1.uss1.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=v22a.ridsp.uss1.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://v22a.ridsp.uss1.localutm @@ -140,7 +140,7 @@ services: command: mock_uss/start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss1) - - MOCK_USS_DSS_URL=http://dss.uss1.localutm + - MOCK_USS_DSS_URL=http://dss1.uss1.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=v22a.riddp.uss1.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://v22a.riddp.uss1.localutm @@ -174,7 +174,7 @@ services: command: mock_uss/start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss2) - - MOCK_USS_DSS_URL=http://dss.uss2.localutm + - MOCK_USS_DSS_URL=http://dss1.uss2.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=v19.ridsp.uss2.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://v19.ridsp.uss2.localutm @@ -208,7 +208,7 @@ services: command: mock_uss/start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss3) - - MOCK_USS_DSS_URL=http://dss.uss1.localutm + - MOCK_USS_DSS_URL=http://dss1.uss1.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=v19.riddp.uss3.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://v19.riddp.uss3.localutm @@ -243,7 +243,7 @@ services: command: ./start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss4) - - MOCK_USS_DSS_URL=http://dss.uss1.localutm + - MOCK_USS_DSS_URL=http://dss1.uss1.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=tracer.uss4.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://tracer.uss4.localutm @@ -282,7 +282,7 @@ services: command: mock_uss/start.sh environment: - MOCK_USS_AUTH_SPEC=DummyOAuth(http://oauth.authority.localutm:8085/token,uss6) - - MOCK_USS_DSS_URL=http://dss.uss1.localutm + - MOCK_USS_DSS_URL=http://dss1.uss1.localutm - MOCK_USS_PUBLIC_KEY=/var/test-certs/auth2.pem - MOCK_USS_TOKEN_AUDIENCE=scdsc.log.uss6.localutm,localhost,host.docker.internal - MOCK_USS_BASE_URL=http://scdsc.log.uss6.localutm diff --git a/monitoring/prober/run_locally.sh b/monitoring/prober/run_locally.sh index f756e8e1d9..bc47d88613 100755 --- a/monitoring/prober/run_locally.sh +++ b/monitoring/prober/run_locally.sh @@ -18,8 +18,8 @@ cd monitoring || exit 1 make image ) -CORE_SERVICE_CONTAINER="local_infra-dss-1" -OAUTH_CONTAINER="local_infra-oauth-1" +CORE_SERVICE_CONTAINER="local_infra_1-1-dss-1" +OAUTH_CONTAINER="local_infra_1-1-oauth-1" declare -a localhost_containers=("$CORE_SERVICE_CONTAINER" "$OAUTH_CONTAINER") for container_name in "${localhost_containers[@]}"; do @@ -44,7 +44,7 @@ if ! docker run \ "${1:-.}" \ -rsx \ --junitxml="/app/$OUTPUT_DIR/e2e_test_result" \ - --dss-endpoint http://dss.uss1.localutm \ + --dss-endpoint http://dss1.uss1.localutm \ --rid-auth "DummyOAuth(http://oauth.authority.localutm:8085/token,sub=fake_uss)" \ --rid-v2-auth "DummyOAuth(http://oauth.authority.localutm:8085/token,sub=fake_uss)" \ --scd-auth1 "DummyOAuth(http://oauth.authority.localutm:8085/token,sub=fake_uss)" \ diff --git a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml index aa5d2355d5..4881c6c6fb 100644 --- a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml +++ b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml @@ -134,7 +134,7 @@ v1: specification: # A USS that hosts a DSS instance is also a participant in the test, even if they don't fulfill any other roles participant_id: uss1_dss - base_url: http://dss.uss1.localutm + base_url: http://dss1.uss1.localutm supports_ovn_request: true dss_instances: @@ -147,10 +147,10 @@ v1: user_participant_ids: # Participants using a DSS instance they do not provide should be listed as users of that DSS (so that they can take credit for USS requirements enforced by the DSS) - mock_uss # mock_uss uses this DSS instance; it does not provide its own instance - base_url: http://dss.uss1.localutm + base_url: http://dss1.uss1.localutm supports_ovn_request: true - participant_id: uss2_dss - base_url: http://dss.uss2.localutm + base_url: http://dss1.uss2.localutm supports_ovn_request: true # Mock USS that can be used in tests for flight planning, modifying data sharing behavior and recording interactions diff --git a/monitoring/uss_qualifier/configurations/dev/library/environment_containers.yaml b/monitoring/uss_qualifier/configurations/dev/library/environment_containers.yaml index 2d4f880007..d99bbcb946 100644 --- a/monitoring/uss_qualifier/configurations/dev/library/environment_containers.yaml +++ b/monitoring/uss_qualifier/configurations/dev/library/environment_containers.yaml @@ -103,10 +103,10 @@ netrid_dss_instances_v19: dss_instances: - participant_id: uss1 rid_version: F3411-19 - base_url: http://dss.uss1.localutm + base_url: http://dss1.uss1.localutm - participant_id: uss2 rid_version: F3411-19 - base_url: http://dss.uss2.localutm + base_url: http://dss1.uss2.localutm netrid_dss_instances_v22a: $content_schema: monitoring/uss_qualifier/resources/definitions/ResourceDeclaration.json @@ -117,10 +117,10 @@ netrid_dss_instances_v22a: dss_instances: - participant_id: uss1 rid_version: F3411-22a - base_url: http://dss.uss1.localutm/rid/v2 + base_url: http://dss1.uss1.localutm/rid/v2 - participant_id: uss2 rid_version: F3411-22a - base_url: http://dss.uss2.localutm/rid/v2 + base_url: http://dss1.uss2.localutm/rid/v2 netrid_dss_instance_v19: $content_schema: monitoring/uss_qualifier/resources/definitions/ResourceDeclaration.json @@ -130,7 +130,7 @@ netrid_dss_instance_v19: specification: participant_id: uss1 rid_version: F3411-19 - base_url: http://dss.uss1.localutm + base_url: http://dss1.uss1.localutm netrid_dss_instance_v22a: $content_schema: monitoring/uss_qualifier/resources/definitions/ResourceDeclaration.json @@ -140,7 +140,7 @@ netrid_dss_instance_v22a: specification: participant_id: uss1 rid_version: F3411-22a - base_url: http://dss.uss1.localutm/rid/v2 + base_url: http://dss1.uss1.localutm/rid/v2 # ===== Flight planning ===== @@ -186,7 +186,7 @@ scd_dss: auth_adapter: utm_auth specification: participant_id: uss1 - base_url: http://dss.uss1.localutm + base_url: http://dss1.uss1.localutm supports_ovn_request: true scd_dss_instances: @@ -199,10 +199,10 @@ scd_dss_instances: - participant_id: uss1 user_participant_ids: - mock_uss - base_url: http://dss.uss1.localutm + base_url: http://dss1.uss1.localutm supports_ovn_request: true - participant_id: uss2 - base_url: http://dss.uss2.localutm + base_url: http://dss1.uss2.localutm supports_ovn_request: true # ===== DSS CockroachDB nodes ===== diff --git a/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss1.libsonnet b/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss1.libsonnet index 529343dd4a..be0f070d81 100644 --- a/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss1.libsonnet +++ b/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss1.libsonnet @@ -46,7 +46,7 @@ // Participants using a DSS instance they do not provide should be listed as users of that DSS (so that they can take credit for USS requirements enforced by the DSS) 'mock_uss', // mock_uss uses this DSS instance; it does not provide its own instance ], - base_url: 'http://dss.uss1.localutm', + base_url: 'http://dss1.uss1.localutm', supports_ovn_request: true }, ] diff --git a/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss2.libsonnet b/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss2.libsonnet index 257e4cfda9..c795cc309c 100644 --- a/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss2.libsonnet +++ b/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/participants/uss2.libsonnet @@ -42,7 +42,7 @@ dss_instances: [ { participant_id: 'uss2_dss', - base_url: 'http://dss.uss2.localutm', + base_url: 'http://dss1.uss2.localutm', supports_ovn_request: true, }, ]