From 669f144b84dc11937ff832d30ec00fc10fd140de Mon Sep 17 00:00:00 2001 From: Italo Valcy Date: Wed, 17 Apr 2024 10:28:20 -0300 Subject: [PATCH 1/3] removing unnecessary variables from docker-compose moving .env from README to template.env --- README.md | 63 ++----------- data-plane/docker-compose.yml | 161 ++++++++-------------------------- data-plane/template.env | 25 ++++++ 3 files changed, 67 insertions(+), 182 deletions(-) create mode 100644 data-plane/template.env diff --git a/README.md b/README.md index 5d107eb..04d1f2e 100755 --- a/README.md +++ b/README.md @@ -142,63 +142,14 @@ Gateway ``` -### Docker Compose use the following global constants from the .env file: - -``` -JWT_SECRET_KEY='t1NP63m4wnBg6nyHYKfmc2TpCOGI4nss' -MODEL_VERSION='1.0.0' -MONGODB_CONNSTRING='mongodb://mongo1t:27027,mongo2t:27028,mongo3t:27029/?authSource=admin' -MONGO_HOST_SEEDS='mongo1t:27027,mongo2t:27028,mongo3t:27029' -ROOT_DB_USER='admin_user' -ROOT_DB_PASS='admin_pwd' -MONGO_INITDB_ROOT_USERNAME='admin_user' -MONGO_INITDB_ROOT_PASSWORD='admin_pwd' -ROOT_DB='admin' -SDX_CONTROLLER_DB_USER='sdx_controller_user' -SDX_CONTROLLER_DB_PASS='sdx_controller_pwd' -SDX_CONTROLLER_DB='sdx_controller' -SDX_VERSION='1.0.0' -SDX_CONTROLLER_MQ_HOST='192.168.0.12' -SDX_CONTROLLER_MQ_PORT='5672' -SDX_CONTROLLER_SUB_QUEUE='topo' -SDX_CONTROLLER_SUB_TOPIC='sdx_q1' -SDX_CONTROLLER_SUB_EXCHANGE='' -DB_NAME='sdx_lc' -SDX_OXPOS='kytos,kytos,kytos,kytos' -SDX_OXPO_NAMES='Test-OXP,Ampath-OXP,SAX-OXP,Tenet-OXPO' -SDX_OXPO_URLS='test.net,ampath.net,sax.net,tenet.ac.za' -SDX_LC_DOMAINS='urn:sdx:topology:test.net,urn:sdx:topology:ampath.net,urn:sdx:topology:sax.net,urn:sdx:topology:tenet.ac.za' -SDX_LC_URLS='http://0.0.0.0:8080/SDX-LC/1.0.0/topology,http://192.168.0.15:8080/SDX-LC/1.0.0/topology,http://192.168.0.16:8080/SDX-LC/1.0.0/topology,http://192.168.0.17:8080/SDX-LC/1.0.0/topology' -SDX_LC_HOST='0.0.0.0' -SDX_LC_PORT='8080' -SDX_LC_VERSION='1.0.0' -SDX_LC_DB_NAME='sdx_lc' -SDX_LC_DB_USER='sdx_lc_user' -SDX_LC_DB_PASS='sdx_lc_pwd' -SDX_LC_USER_COLLECTION='user' -SDX_TOPOLOGY_VALIDATOR='http://192.168.0.14:8000/validator/v1/validate' -SDX_LC_MQ_IP='192.168.0.12' -SDX_LC_MQ_NAME='hello' -SDX_LC_MQ_HOST='192.168.0.12' -SDX_LC_MQ_PORT='5672' -SDX_LC_PUB_TOPIC='topo' -SDX_LC_PUB_QUEUE='sdx_q1' -SDX_LC_SUB_QUEUE='connection' -SDX_LC_SUB_EXCHANGE='connection' -SDX_LC_SUB_TOPIC='lc1_q1' -SLEEP_TIME='5' -RABBITMQ_DEFAULT_HOST='rabbitmq3' -RABBITMQ_DEFAULT_USER='mq_user' -RABBITMQ_DEFAULT_PASS='mq_pwd' -DOMAIN_CONTROLLER_URL='http://0.0.0.0:8080/sdx-lc/v2' -DOMAIN_CONTROLLER_PULL_URL='http://0.0.0.0:8181/api/kytos/sdx_topology/v1/topology' -DOMAIN_CONTROLLER_PULL_INTERVAL='180' -KYTOS_PROVISION='http://0.0.0.0:8181/SDX-LC/1.0.0/provision' -KYTOS_TOPOLOGY='http://0.0.0.0:8181/api/kytos/topology/v3/' -KYTOS_SDX_TOPOLOGY='http://0.0.0.0:8181/api/kytos/sdx_topology/v1/topology' -KYTOS_SDX_VERSION_CONTROL='http://0.0.0.0:8181/api/kytos/sdx_topology/v1/version/control' -FLASK_APP='swagger_server/__main__:main' +### Environment variables for Docker Compose + +Docker compose use the global constants from the `.env` file. We provide a very simple `template.env` file as an example. You just have to run: + ``` +cp data-plane/template.env data-plane/.env +``` + ### Containers diff --git a/data-plane/docker-compose.yml b/data-plane/docker-compose.yml index e93cf9d..1ebc5c1 100755 --- a/data-plane/docker-compose.yml +++ b/data-plane/docker-compose.yml @@ -18,7 +18,7 @@ services: - ./tests:/tests - ./scripts:/scripts - ./etc/kytos:/etc/kytos - env_file: + env_file: - .env environment: MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} @@ -29,17 +29,13 @@ services: MONGO_PASSWORD: 'amlight_pwd' MONGO_DBNAME: 'amlight' MODEL_VERSION: ${MODEL_VERSION} - OXPO_ID: 1 - OXPOS: ${SDX_OXPOS} - OXPO_NAMES: ${SDX_OXPO_NAMES} - OXPO_URLS: ${SDX_OXPO_URLS} - # + OXPO_NAME: "Ampath-OXP" + OXPO_URL: "ampath.net" + # SDXTOPOLOGY_VALIDATOR: ${SDX_TOPOLOGY_VALIDATOR} - SDXLC_URLS: ${SDX_LC_URLS} - KYTOS_PROVISION: ${KYTOS_PROVISION} + SDXLC_URL: "http://192.168.0.15:8080/SDX-LC/1.0.0/topology" KYTOS_TOPOLOGY: ${KYTOS_TOPOLOGY} KYTOSSDX_TOPOLOGY: ${KYTOS_SDX_TOPOLOGY} - KYTOSSDX_VERSION_CONTROL: ${KYTOS_SDX_VERSION_CONTROL} depends_on: - mongo-ready entrypoint: ["/scripts/amlight_sdx_lc_kytos.sh"] @@ -60,7 +56,7 @@ services: - ./tests:/tests - ./scripts:/scripts - ./etc/kytos:/etc/kytos - env_file: + env_file: - .env environment: MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} @@ -71,17 +67,13 @@ services: MONGO_PASSWORD: 'sax_pwd' MONGO_DBNAME: 'sax' MODEL_VERSION: ${MODEL_VERSION} - OXPO_ID: 2 - OXPOS: ${SDX_OXPOS} - OXPO_NAMES: ${SDX_OXPO_NAMES} - OXPO_URLS: ${SDX_OXPO_URLS} - # + OXPO_NAME: "SAX-OXP" + OXPO_URL: "sax.net" + # SDXTOPOLOGY_VALIDATOR: ${SDX_TOPOLOGY_VALIDATOR} - SDXLC_URLS: ${SDX_LC_URLS} - KYTOS_PROVISION: ${KYTOS_PROVISION} + SDXLC_URL: "http://192.168.0.16:8080/SDX-LC/1.0.0/topology" KYTOS_TOPOLOGY: ${KYTOS_TOPOLOGY} KYTOSSDX_TOPOLOGY: ${KYTOS_SDX_TOPOLOGY} - KYTOSSDX_VERSION_CONTROL: ${KYTOS_SDX_VERSION_CONTROL} depends_on: - mongo-ready entrypoint: ["/scripts/sax_sdx_lc_kytos.sh"] @@ -102,7 +94,7 @@ services: - ./tests:/tests - ./scripts:/scripts - ./etc/kytos:/etc/kytos - env_file: + env_file: - .env environment: MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} @@ -113,63 +105,17 @@ services: MONGO_PASSWORD: 'tenet_pwd' MONGO_DBNAME: 'tenet' MODEL_VERSION: ${MODEL_VERSION} - OXPO_ID: 3 - OXPOS: ${SDX_OXPOS} - OXPO_NAMES: ${SDX_OXPO_NAMES} - OXPO_URLS: ${SDX_OXPO_URLS} - # + OXPO_NAME: "Tenet-OXP" + OXPO_URL: "tenet.ac.za" + # SDXTOPOLOGY_VALIDATOR: ${SDX_TOPOLOGY_VALIDATOR} - SDXLC_URLS: ${SDX_LC_URLS} - KYTOS_PROVISION: ${KYTOS_PROVISION} + SDXLC_URL: "http://192.168.0.17:8080/SDX-LC/1.0.0/topology" KYTOS_TOPOLOGY: ${KYTOS_TOPOLOGY} KYTOSSDX_TOPOLOGY: ${KYTOS_SDX_TOPOLOGY} - KYTOSSDX_VERSION_CONTROL: ${KYTOS_SDX_VERSION_CONTROL} depends_on: - mongo-ready entrypoint: ["/scripts/tenet_sdx_lc_kytos.sh"] - sdx-test: - container_name: sdx-test - image: sdx-test - privileged: true - tty: true - restart: always - networks: - kytos_network: - ipv4_address: 192.168.0.5 - ports: - - 6656:6653 - - 8484:8181 - volumes: - - ./tests:/tests - - ./scripts:/scripts - - ./etc/kytos:/etc/kytos - env_file: - - .env - environment: - MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} - MONGO_HOST_SEEDS: ${MONGO_HOST_SEEDS} - MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} - MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} - MONGO_USERNAME: 'sdx_test_user' - MONGO_PASSWORD: 'sdx_test_pwd' - MONGO_DBNAME: 'sdx_test' - MODEL_VERSION: ${MODEL_VERSION} - OXPO_ID: 0 - OXPOS: ${SDX_OXPOS} - OXPO_NAMES: ${SDX_OXPO_NAMES} - OXPO_URLS: ${SDX_OXPO_URLS} - # - SDXTOPOLOGY_VALIDATOR: ${SDX_TOPOLOGY_VALIDATOR} - SDXLC_URLS: ${SDX_LC_URLS} - KYTOS_PROVISION: ${KYTOS_PROVISION} - KYTOS_TOPOLOGY: ${KYTOS_TOPOLOGY} - KYTOSSDX_TOPOLOGY: ${KYTOS_SDX_TOPOLOGY} - KYTOSSDX_VERSION_CONTROL: ${KYTOS_SDX_VERSION_CONTROL} - depends_on: - - mongo-ready - entrypoint: ["/scripts/test_sdx_lc_kytos.sh"] - mongo1t: container_name: mongo1t @@ -340,44 +286,31 @@ services: volumes: - ./container-sdx-lc/logs/amlight:/var/log - ./scripts:/scripts - env_file: + env_file: - .env environment: MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} MONGO_HOST_SEEDS: ${MONGO_HOST_SEEDS} MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} - # Oxpo variables - OXPO_ID: 1 - OXPOS: ${SDX_OXPOS} - OXPO_NAMES: ${SDX_OXPO_NAMES} - OXPO_URLS: ${SDX_OXPO_URLS} - KYTOS_PROVISION: ${KYTOS_PROVISION} - # SDX_LC Variables + OXP_CONNECTION_URL: "http://192.168.0.1:8181/api/kytos/sdx_topology/v1/l2vpn_ptp" DB_NAME: ${SDX_LC_DB_NAME} DB_CONFIG_TABLE_NAME: 'amlight-sdx-lc' SDXLC_MONGO_USERNAME: ${SDX_LC_DB_USER} SDXLC_MONGO_PASSWOD: ${SDX_LC_DB_PASS} - SDXLC_DOMAINS: ${SDX_LC_DOMAINS} + SDXLC_DOMAIN: 'ampath.net' SDXLC_HOST: '192.168.0.15' SDXLC_PORT: 8080 - SDXLC_VERSION: ${SDX_LC_VERSION} # change to local controller host name PUB_TOPIC: ${SDX_LC_PUB_TOPIC} PUB_QUEUE: ${SDX_LC_PUB_QUEUE} SUB_QUEUE: ${SDX_LC_SUB_QUEUE} SUB_EXCHANGE: ${SDX_LC_SUB_EXCHANGE} - # change to local controller config (lc1_q1) - SUB_TOPIC: ${SDX_LC_SUB_TOPIC} - MQ_NAME: ${SDX_LC_MQ_NAME} - MQ_HOST: ${SDX_LC_MQ_HOST} - MQ_PORT: ${SDX_LC_MQ_PORT} - MQ_SRVC: ${RABBITMQ_DEFAULT_HOST} + SUB_TOPIC: "ampath.net" + MQ_HOST: ${RABBITMQ_HOST} + MQ_PORT: ${RABBITMQ_PORT} MQ_USER: ${RABBITMQ_DEFAULT_USER} MQ_PASS: ${RABBITMQ_DEFAULT_PASS} - DOMAIN_CONTROLLER_URL: ${DOMAIN_CONTROLLER_URL} - DOMAIN_CONTROLLER_PULL_URL: ${DOMAIN_CONTROLLER_PULL_URL} - DOMAIN_CONTROLLER_PULL_INTERVAL: ${DOMAIN_CONTROLLER_PULL_INTERVAL} depends_on: - mongo-ready - rabbitmq3 @@ -397,7 +330,7 @@ services: volumes: - ./container-sdx-lc/logs/sax:/var/log - ./scripts:/scripts - env_file: + env_file: - .env environment: MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} @@ -405,36 +338,25 @@ services: MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} # Oxpo variables - OXPO_ID: 2 - OXPOS: ${SDX_OXPOS} - OXPO_NAMES: ${SDX_OXPO_NAMES} - OXPO_URLS: ${SDX_OXPO_URLS} - KYTOS_PROVISION: ${KYTOS_PROVISION} + OXP_CONNECTION_URL: "http://192.168.0.1:8282/api/kytos/sdx_topology/v1/l2vpn_ptp" # SDX_LC Variables DB_NAME: ${SDX_LC_DB_NAME} DB_CONFIG_TABLE_NAME: 'sax-sdx-lc' SDXLC_MONGO_USERNAME: ${SDX_LC_DB_USER} SDXLC_MONGO_PASSWOD: ${SDX_LC_DB_PASS} - SDXLC_DOMAINS: ${SDX_LC_DOMAINS} + SDXLC_DOMAIN: 'sax.net' SDXLC_HOST: '192.168.0.16' SDXLC_PORT: 8080 - SDXLC_VERSION: ${SDX_LC_VERSION} # change to local controller host name PUB_TOPIC: ${SDX_LC_PUB_TOPIC} PUB_QUEUE: ${SDX_LC_PUB_QUEUE} SUB_QUEUE: ${SDX_LC_SUB_QUEUE} SUB_EXCHANGE: ${SDX_LC_SUB_EXCHANGE} - # change to local controller config (lc1_q1) - SUB_TOPIC: ${SDX_LC_SUB_TOPIC} - MQ_NAME: ${SDX_LC_MQ_NAME} - MQ_HOST: ${SDX_LC_MQ_HOST} - MQ_PORT: ${SDX_LC_MQ_PORT} - MQ_SRVC: ${RABBITMQ_DEFAULT_HOST} + SUB_TOPIC: "sax.net" + MQ_HOST: ${RABBITMQ_HOST} + MQ_PORT: ${RABBITMQ_PORT} MQ_USER: ${RABBITMQ_DEFAULT_USER} MQ_PASS: ${RABBITMQ_DEFAULT_PASS} - DOMAIN_CONTROLLER_URL: ${DOMAIN_CONTROLLER_URL} - DOMAIN_CONTROLLER_PULL_URL: ${DOMAIN_CONTROLLER_PULL_URL} - DOMAIN_CONTROLLER_PULL_INTERVAL: ${DOMAIN_CONTROLLER_PULL_INTERVAL} depends_on: - mongo-ready - rabbitmq3 @@ -454,7 +376,7 @@ services: volumes: - ./container-sdx-lc/logs/tenet:/var/log - ./scripts:/scripts - env_file: + env_file: - .env environment: MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} @@ -462,36 +384,25 @@ services: MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} # Oxpo variables - OXPO_ID: 3 - OXPOS: ${SDX_OXPOS} - OXPO_NAMES: ${SDX_OXPO_NAMES} - OXPO_URLS: ${SDX_OXPO_URLS} - KYTOS_PROVISION: ${KYTOS_PROVISION} + OXP_CONNECTION_URL: "http://192.168.0.1:8383/api/kytos/sdx_topology/v1/l2vpn_ptp" # SDX_LC Variables DB_NAME: ${SDX_LC_DB_NAME} DB_CONFIG_TABLE_NAME: 'tenet-sdx-lc' SDXLC_MONGO_USERNAME: ${SDX_LC_DB_USER} SDXLC_MONGO_PASSWOD: ${SDX_LC_DB_PASS} - SDXLC_DOMAINS: ${SDX_LC_DOMAINS} + SDXLC_DOMAIN: 'tenet.ac.za' SDXLC_HOST: '192.168.0.17' SDXLC_PORT: 8080 - SDXLC_VERSION: ${SDX_LC_VERSION} # change to local controller host name PUB_TOPIC: ${SDX_LC_PUB_TOPIC} PUB_QUEUE: ${SDX_LC_PUB_QUEUE} SUB_QUEUE: ${SDX_LC_SUB_QUEUE} SUB_EXCHANGE: ${SDX_LC_SUB_EXCHANGE} - # change to local controller config (lc1_q1) - SUB_TOPIC: ${SDX_LC_SUB_TOPIC} - MQ_NAME: ${SDX_LC_MQ_NAME} - MQ_HOST: ${SDX_LC_MQ_HOST} - MQ_PORT: ${SDX_LC_MQ_PORT} - MQ_SRVC: ${RABBITMQ_DEFAULT_HOST} + SUB_TOPIC: "tenet.ac.za" + MQ_HOST: ${RABBITMQ_HOST} + MQ_PORT: ${RABBITMQ_PORT} MQ_USER: ${RABBITMQ_DEFAULT_USER} MQ_PASS: ${RABBITMQ_DEFAULT_PASS} - DOMAIN_CONTROLLER_URL: ${DOMAIN_CONTROLLER_URL} - DOMAIN_CONTROLLER_PULL_URL: ${DOMAIN_CONTROLLER_PULL_URL} - DOMAIN_CONTROLLER_PULL_INTERVAL: ${DOMAIN_CONTROLLER_PULL_INTERVAL} depends_on: - mongo-ready - rabbitmq3 @@ -520,14 +431,12 @@ services: MONGODB_CONNSTRING: ${MONGODB_CONNSTRING} MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} - SDX_VERSION: ${SDX_VERSION} - MQ_HOST: ${SDX_CONTROLLER_MQ_HOST} - MQ_PORT: ${SDX_CONTROLLER_MQ_PORT} + MQ_HOST: ${RABBITMQ_HOST} + MQ_PORT: ${RABBITMQ_PORT} MQ_USER: ${RABBITMQ_DEFAULT_USER} MQ_PASS: ${RABBITMQ_DEFAULT_PASS} SUB_TOPIC: ${SDX_CONTROLLER_SUB_TOPIC} SUB_QUEUE: ${SDX_CONTROLLER_SUB_QUEUE} - SLEEP_TIME: ${SLEEP_TIME} DB_NAME: ${SDX_LC_DB_NAME} DB_CONFIG_TABLE_NAME: 'sdx-controller' entrypoint: ["python3", "-m", "uvicorn", "sdx_controller.app:asgi_app", "--host", "0.0.0.0", "--port", "8080"] diff --git a/data-plane/template.env b/data-plane/template.env new file mode 100644 index 0000000..3504fd9 --- /dev/null +++ b/data-plane/template.env @@ -0,0 +1,25 @@ +MODEL_VERSION='1.0.0' +MONGODB_CONNSTRING='mongodb://mongo1t:27027,mongo2t:27028,mongo3t:27029/?authSource=admin' +MONGO_HOST_SEEDS='mongo1t:27027,mongo2t:27028,mongo3t:27029' +ROOT_DB_USER='admin_user' +ROOT_DB_PASS='admin_pwd' +ROOT_DB='admin' +SDX_CONTROLLER_DB_USER='sdx_controller_user' +SDX_CONTROLLER_DB_PASS='sdx_controller_pwd' +SDX_CONTROLLER_DB='sdx_controller' +SDX_CONTROLLER_SUB_QUEUE='topo' +SDX_CONTROLLER_SUB_TOPIC='sdx_q1' +SDX_LC_DB_NAME='sdx_lc' +SDX_LC_DB_USER='sdx_lc_user' +SDX_LC_DB_PASS='sdx_lc_pwd' +SDX_TOPOLOGY_VALIDATOR='http://192.168.0.14:8000/validator/v1/validate' +SDX_LC_PUB_TOPIC='topo' +SDX_LC_PUB_QUEUE='sdx_q1' +SDX_LC_SUB_QUEUE='connection' +SDX_LC_SUB_EXCHANGE='connection' +RABBITMQ_DEFAULT_USER='mq_user' +RABBITMQ_DEFAULT_PASS='mq_pwd' +RABBITMQ_HOST='192.168.0.12' +RABBITMQ_PORT='5672' +KYTOS_TOPOLOGY='http://0.0.0.0:8181/api/kytos/topology/v3/' +KYTOS_SDX_TOPOLOGY='http://0.0.0.0:8181/api/kytos/sdx_topology/v1/topology' From ad02a2e2b00662795a083a7182005fae857a004c Mon Sep 17 00:00:00 2001 From: Italo Valcy Date: Thu, 18 Apr 2024 16:50:25 -0300 Subject: [PATCH 2/3] adding SDX-LC environment variables for topology pulling --- data-plane/docker-compose.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data-plane/docker-compose.yml b/data-plane/docker-compose.yml index 1ebc5c1..3117e23 100755 --- a/data-plane/docker-compose.yml +++ b/data-plane/docker-compose.yml @@ -294,6 +294,8 @@ services: MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} OXP_CONNECTION_URL: "http://192.168.0.1:8181/api/kytos/sdx_topology/v1/l2vpn_ptp" + OXP_PULL_URL: "http://192.168.0.1:8181/api/kytos/sdx_topology/v1/shelve/topology" + OXP_PULL_INTERVAL: 180 DB_NAME: ${SDX_LC_DB_NAME} DB_CONFIG_TABLE_NAME: 'amlight-sdx-lc' SDXLC_MONGO_USERNAME: ${SDX_LC_DB_USER} @@ -339,6 +341,8 @@ services: MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} # Oxpo variables OXP_CONNECTION_URL: "http://192.168.0.1:8282/api/kytos/sdx_topology/v1/l2vpn_ptp" + OXP_PULL_URL: "http://192.168.0.1:8282/api/kytos/sdx_topology/v1/shelve/topology" + OXP_PULL_INTERVAL: 180 # SDX_LC Variables DB_NAME: ${SDX_LC_DB_NAME} DB_CONFIG_TABLE_NAME: 'sax-sdx-lc' @@ -385,6 +389,8 @@ services: MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} # Oxpo variables OXP_CONNECTION_URL: "http://192.168.0.1:8383/api/kytos/sdx_topology/v1/l2vpn_ptp" + OXP_PULL_URL: "http://192.168.0.1:8383/api/kytos/sdx_topology/v1/shelve/topology" + OXP_PULL_INTERVAL: 180 # SDX_LC Variables DB_NAME: ${SDX_LC_DB_NAME} DB_CONFIG_TABLE_NAME: 'tenet-sdx-lc' From 5aabbc64eee7cfa0c9413ddef0f1f14365963389 Mon Sep 17 00:00:00 2001 From: Italo Valcy Date: Tue, 23 Apr 2024 17:14:06 -0300 Subject: [PATCH 3/3] moving all variables from docker-compose to env --- data-plane/docker-compose.yml | 82 ++++++++++++++++------------------- data-plane/template.env | 33 ++++++++++++++ 2 files changed, 71 insertions(+), 44 deletions(-) diff --git a/data-plane/docker-compose.yml b/data-plane/docker-compose.yml index 3117e23..fe38cf0 100755 --- a/data-plane/docker-compose.yml +++ b/data-plane/docker-compose.yml @@ -25,15 +25,15 @@ services: MONGO_HOST_SEEDS: ${MONGO_HOST_SEEDS} MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} - MONGO_USERNAME: 'amlight_user' - MONGO_PASSWORD: 'amlight_pwd' - MONGO_DBNAME: 'amlight' + MONGO_USERNAME: ${AMPATH_MONGO_USERNAME} + MONGO_PASSWORD: ${AMPATH_MONGO_PASSWORD} + MONGO_DBNAME: ${AMPATH_MONGO_DBNAME} MODEL_VERSION: ${MODEL_VERSION} - OXPO_NAME: "Ampath-OXP" - OXPO_URL: "ampath.net" + OXPO_NAME: ${AMPATH_OXP_NAME} + OXPO_URL: ${AMPATH_OXP_URL} # SDXTOPOLOGY_VALIDATOR: ${SDX_TOPOLOGY_VALIDATOR} - SDXLC_URL: "http://192.168.0.15:8080/SDX-LC/1.0.0/topology" + SDXLC_URL: ${AMPATH_SDXLC_URL} KYTOS_TOPOLOGY: ${KYTOS_TOPOLOGY} KYTOSSDX_TOPOLOGY: ${KYTOS_SDX_TOPOLOGY} depends_on: @@ -63,15 +63,15 @@ services: MONGO_HOST_SEEDS: ${MONGO_HOST_SEEDS} MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} - MONGO_USERNAME: 'sax_user' - MONGO_PASSWORD: 'sax_pwd' - MONGO_DBNAME: 'sax' + MONGO_USERNAME: ${SAX_MONGO_USERNAME} + MONGO_PASSWORD: ${SAX_MONGO_PASSWORD} + MONGO_DBNAME: ${SAX_MONGO_DBNAME} MODEL_VERSION: ${MODEL_VERSION} - OXPO_NAME: "SAX-OXP" - OXPO_URL: "sax.net" + OXPO_NAME: ${SAX_OXP_NAME} + OXPO_URL: ${SAX_OXP_URL} # SDXTOPOLOGY_VALIDATOR: ${SDX_TOPOLOGY_VALIDATOR} - SDXLC_URL: "http://192.168.0.16:8080/SDX-LC/1.0.0/topology" + SDXLC_URL: ${SAX_SDXLC_URL} KYTOS_TOPOLOGY: ${KYTOS_TOPOLOGY} KYTOSSDX_TOPOLOGY: ${KYTOS_SDX_TOPOLOGY} depends_on: @@ -101,15 +101,15 @@ services: MONGO_HOST_SEEDS: ${MONGO_HOST_SEEDS} MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} - MONGO_USERNAME: 'tenet_user' - MONGO_PASSWORD: 'tenet_pwd' - MONGO_DBNAME: 'tenet' + MONGO_USERNAME: ${TENET_MONGO_USERNAME} + MONGO_PASSWORD: ${TENET_MONGO_PASSWORD} + MONGO_DBNAME: ${TENET_MONGO_DBNAME} MODEL_VERSION: ${MODEL_VERSION} - OXPO_NAME: "Tenet-OXP" - OXPO_URL: "tenet.ac.za" + OXPO_NAME: ${TENET_OXP_NAME} + OXPO_URL: ${TENET_OXP_URL} # SDXTOPOLOGY_VALIDATOR: ${SDX_TOPOLOGY_VALIDATOR} - SDXLC_URL: "http://192.168.0.17:8080/SDX-LC/1.0.0/topology" + SDXLC_URL: ${TENET_SDXLC_URL} KYTOS_TOPOLOGY: ${KYTOS_TOPOLOGY} KYTOSSDX_TOPOLOGY: ${KYTOS_SDX_TOPOLOGY} depends_on: @@ -293,22 +293,20 @@ services: MONGO_HOST_SEEDS: ${MONGO_HOST_SEEDS} MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} - OXP_CONNECTION_URL: "http://192.168.0.1:8181/api/kytos/sdx_topology/v1/l2vpn_ptp" - OXP_PULL_URL: "http://192.168.0.1:8181/api/kytos/sdx_topology/v1/shelve/topology" - OXP_PULL_INTERVAL: 180 + OXP_CONNECTION_URL: ${AMPATH_OXP_CONNECTION_URL} + OXP_PULL_URL: ${AMPATH_OXP_PULL_URL} + OXP_PULL_INTERVAL: ${OXP_PULL_INTERVAL} DB_NAME: ${SDX_LC_DB_NAME} - DB_CONFIG_TABLE_NAME: 'amlight-sdx-lc' + DB_CONFIG_TABLE_NAME: ${AMPATH_LC_DB_NAME} SDXLC_MONGO_USERNAME: ${SDX_LC_DB_USER} SDXLC_MONGO_PASSWOD: ${SDX_LC_DB_PASS} - SDXLC_DOMAIN: 'ampath.net' - SDXLC_HOST: '192.168.0.15' - SDXLC_PORT: 8080 + SDXLC_DOMAIN: ${AMPATH_OXP_URL} # change to local controller host name PUB_TOPIC: ${SDX_LC_PUB_TOPIC} PUB_QUEUE: ${SDX_LC_PUB_QUEUE} SUB_QUEUE: ${SDX_LC_SUB_QUEUE} SUB_EXCHANGE: ${SDX_LC_SUB_EXCHANGE} - SUB_TOPIC: "ampath.net" + SUB_TOPIC: ${AMPATH_OXP_URL} MQ_HOST: ${RABBITMQ_HOST} MQ_PORT: ${RABBITMQ_PORT} MQ_USER: ${RABBITMQ_DEFAULT_USER} @@ -340,23 +338,21 @@ services: MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} # Oxpo variables - OXP_CONNECTION_URL: "http://192.168.0.1:8282/api/kytos/sdx_topology/v1/l2vpn_ptp" - OXP_PULL_URL: "http://192.168.0.1:8282/api/kytos/sdx_topology/v1/shelve/topology" - OXP_PULL_INTERVAL: 180 + OXP_CONNECTION_URL: ${SAX_OXP_CONNECTION_URL} + OXP_PULL_URL: ${SAX_OXP_PULL_URL} + OXP_PULL_INTERVAL: ${OXP_PULL_INTERVAL} # SDX_LC Variables DB_NAME: ${SDX_LC_DB_NAME} - DB_CONFIG_TABLE_NAME: 'sax-sdx-lc' + DB_CONFIG_TABLE_NAME: ${SAX_LC_DB_NAME} SDXLC_MONGO_USERNAME: ${SDX_LC_DB_USER} SDXLC_MONGO_PASSWOD: ${SDX_LC_DB_PASS} - SDXLC_DOMAIN: 'sax.net' - SDXLC_HOST: '192.168.0.16' - SDXLC_PORT: 8080 + SDXLC_DOMAIN: ${SAX_OXP_URL} # change to local controller host name PUB_TOPIC: ${SDX_LC_PUB_TOPIC} PUB_QUEUE: ${SDX_LC_PUB_QUEUE} SUB_QUEUE: ${SDX_LC_SUB_QUEUE} SUB_EXCHANGE: ${SDX_LC_SUB_EXCHANGE} - SUB_TOPIC: "sax.net" + SUB_TOPIC: ${SAX_OXP_URL} MQ_HOST: ${RABBITMQ_HOST} MQ_PORT: ${RABBITMQ_PORT} MQ_USER: ${RABBITMQ_DEFAULT_USER} @@ -388,23 +384,21 @@ services: MONGO_INITDB_ROOT_USERNAME: ${ROOT_DB_USER} MONGO_INITDB_ROOT_PASSWORD: ${ROOT_DB_PASS} # Oxpo variables - OXP_CONNECTION_URL: "http://192.168.0.1:8383/api/kytos/sdx_topology/v1/l2vpn_ptp" - OXP_PULL_URL: "http://192.168.0.1:8383/api/kytos/sdx_topology/v1/shelve/topology" - OXP_PULL_INTERVAL: 180 + OXP_CONNECTION_URL: ${TENET_OXP_CONNECTION_URL} + OXP_PULL_URL: ${TENET_OXP_PULL_URL} + OXP_PULL_INTERVAL: ${OXP_PULL_INTERVAL} # SDX_LC Variables DB_NAME: ${SDX_LC_DB_NAME} - DB_CONFIG_TABLE_NAME: 'tenet-sdx-lc' + DB_CONFIG_TABLE_NAME: ${TENET_LC_DB_NAME} SDXLC_MONGO_USERNAME: ${SDX_LC_DB_USER} SDXLC_MONGO_PASSWOD: ${SDX_LC_DB_PASS} - SDXLC_DOMAIN: 'tenet.ac.za' - SDXLC_HOST: '192.168.0.17' - SDXLC_PORT: 8080 + SDXLC_DOMAIN: ${TENET_OXP_URL} # change to local controller host name PUB_TOPIC: ${SDX_LC_PUB_TOPIC} PUB_QUEUE: ${SDX_LC_PUB_QUEUE} SUB_QUEUE: ${SDX_LC_SUB_QUEUE} SUB_EXCHANGE: ${SDX_LC_SUB_EXCHANGE} - SUB_TOPIC: "tenet.ac.za" + SUB_TOPIC: ${TENET_OXP_URL} MQ_HOST: ${RABBITMQ_HOST} MQ_PORT: ${RABBITMQ_PORT} MQ_USER: ${RABBITMQ_DEFAULT_USER} @@ -443,8 +437,8 @@ services: MQ_PASS: ${RABBITMQ_DEFAULT_PASS} SUB_TOPIC: ${SDX_CONTROLLER_SUB_TOPIC} SUB_QUEUE: ${SDX_CONTROLLER_SUB_QUEUE} - DB_NAME: ${SDX_LC_DB_NAME} - DB_CONFIG_TABLE_NAME: 'sdx-controller' + DB_NAME: ${SDX_CONTROLLER_DB_NAME} + DB_CONFIG_TABLE_NAME: ${SDX_CONTROLLER_TABLE_NAME} entrypoint: ["python3", "-m", "uvicorn", "sdx_controller.app:asgi_app", "--host", "0.0.0.0", "--port", "8080"] networks: diff --git a/data-plane/template.env b/data-plane/template.env index 3504fd9..e82cc11 100644 --- a/data-plane/template.env +++ b/data-plane/template.env @@ -9,6 +9,8 @@ SDX_CONTROLLER_DB_PASS='sdx_controller_pwd' SDX_CONTROLLER_DB='sdx_controller' SDX_CONTROLLER_SUB_QUEUE='topo' SDX_CONTROLLER_SUB_TOPIC='sdx_q1' +SDX_CONTROLLER_DB_NAME='sdx_controller_db' +SDX_CONTROLLER_TABLE_NAME='sdx-controller' SDX_LC_DB_NAME='sdx_lc' SDX_LC_DB_USER='sdx_lc_user' SDX_LC_DB_PASS='sdx_lc_pwd' @@ -23,3 +25,34 @@ RABBITMQ_HOST='192.168.0.12' RABBITMQ_PORT='5672' KYTOS_TOPOLOGY='http://0.0.0.0:8181/api/kytos/topology/v3/' KYTOS_SDX_TOPOLOGY='http://0.0.0.0:8181/api/kytos/sdx_topology/v1/topology' +OXP_PULL_INTERVAL=180 +# Ampath OXP +AMPATH_MONGO_USERNAME='amlight_user' +AMPATH_MONGO_PASSWORD='amlight_pwd' +AMPATH_MONGO_DBNAME='amlight' +AMPATH_OXP_NAME='Ampath-OXP' +AMPATH_OXP_URL='ampath.net' +AMPATH_SDXLC_URL='http://192.168.0.15:8080/SDX-LC/1.0.0/topology' +AMPATH_OXP_CONNECTION_URL="http://192.168.0.1:8181/api/kytos/sdx_topology/v1/l2vpn_ptp" +AMPATH_OXP_PULL_URL="http://192.168.0.1:8181/api/kytos/sdx_topology/v1/shelve/topology" +AMPATH_LC_DB_NAME="ampath-sdx-lc" +# SAX OXP +SAX_MONGO_USERNAME='sax_user' +SAX_MONGO_PASSWORD='sax_pwd' +SAX_MONGO_DBNAME='sax' +SAX_OXP_NAME='SAX-OXP' +SAX_OXP_URL='sax.net' +SAX_SDXLC_URL='http://192.168.0.16:8080/SDX-LC/1.0.0/topology' +SAX_OXP_CONNECTION_URL="http://192.168.0.1:8282/api/kytos/sdx_topology/v1/l2vpn_ptp" +SAX_OXP_PULL_URL="http://192.168.0.1:8282/api/kytos/sdx_topology/v1/shelve/topology" +SAX_LC_DB_NAME="sax-sdx-lc" +# TENET OXP +TENET_MONGO_USERNAME='tenet_user' +TENET_MONGO_PASSWORD='tenet_pwd' +TENET_MONGO_DBNAME='tenet' +TENET_OXP_NAME='Tenet-OXP' +TENET_OXP_URL='tenet.ac.za' +TENET_SDXLC_URL='http://192.168.0.17:8080/SDX-LC/1.0.0/topology' +TENET_OXP_CONNECTION_URL="http://192.168.0.1:8383/api/kytos/sdx_topology/v1/l2vpn_ptp" +TENET_OXP_PULL_URL="http://192.168.0.1:8383/api/kytos/sdx_topology/v1/shelve/topology" +TENET_LC_DB_NAME="tenet-sdx-lc"