From f7cc7694d6e4a6d884749cb7ef0512337c2a03d3 Mon Sep 17 00:00:00 2001 From: Raphael Defosseux <raphael.defosseux@eurecom.fr> Date: Mon, 15 May 2023 13:39:35 +0000 Subject: [PATCH] chore(doc): basic-based tutorials only in HTTP/2 * obsoleting the basic w/o NRF deployments * Only the minimal deployments are kept in HTTP/1 --- ci-scripts/Jenkinsfile-GitLab-Load-Check | 46 +-- ci-scripts/checkLoadTestHtmlReport.py | 2 +- docker-compose/core-network.py | 48 +-- .../docker-compose-basic-nonrf.yaml | 241 ------------- .../docker-compose-basic-nrf-http2.yaml | 319 ----------------- docker-compose/docker-compose-basic-nrf.yaml | 59 +++- .../docker-compose-basic-vpp-nonrf.yaml | 258 -------------- .../docker-compose-basic-vpp-nrf-http2.yaml | 322 ------------------ .../docker-compose-basic-vpp-nrf.yaml | 57 +++- .../docker-compose-basic-vpp-pcf-ulcl.yaml | 157 +++++---- .../docker-compose-slicing-basic-nrf.yaml | 236 +++++++------ docker-compose/nssf_slice_config.yaml | 8 +- docs/DEPLOY_SA5G_BASIC_DEPLOYMENT.md | 2 +- docs/DEPLOY_SA5G_BASIC_STATIC_UE_IP.md | 8 +- 14 files changed, 365 insertions(+), 1398 deletions(-) delete mode 100644 docker-compose/docker-compose-basic-nonrf.yaml delete mode 100644 docker-compose/docker-compose-basic-nrf-http2.yaml delete mode 100644 docker-compose/docker-compose-basic-vpp-nonrf.yaml delete mode 100644 docker-compose/docker-compose-basic-vpp-nrf-http2.yaml diff --git a/ci-scripts/Jenkinsfile-GitLab-Load-Check b/ci-scripts/Jenkinsfile-GitLab-Load-Check index ddbd5c16..86f33c9b 100644 --- a/ci-scripts/Jenkinsfile-GitLab-Load-Check +++ b/ci-scripts/Jenkinsfile-GitLab-Load-Check @@ -49,7 +49,7 @@ upstreamTagToUse = params.upstreamTagToUse // Flags doTsharkCaptureRegistration = true doTsharkCapturePDUSession = true -doTsharkCapturePDUSessionHttp2 = true +doTsharkCapturePDURelease = true //------------------------------------------------------------------------------- // Pipeline start @@ -204,7 +204,7 @@ pipeline { } } } - stage ('Deploy OAI-CN5G in Basic-NRF variant - Registration Test') { + stage ('Deploy OAI-CN5G in Basic variant - Registration Test') { steps { script { echo 'Silencing all NFs to reduce size of logs' @@ -298,7 +298,7 @@ pipeline { } } } - stage ('Deploy OAI-CN5G in Basic-NRF variant - PDU Sess Est Test') { + stage ('Deploy OAI-CN5G in Basic variant - PDU Sess Est Test') { steps { script { echo 'Silencing all NFs to reduce size of logs' @@ -392,28 +392,28 @@ pipeline { } } } - stage ('Deploy OAI-CN5G in Basic-NRF - Deregistration Test - HTTP2') { + stage ('Deploy OAI-CN5G in Basic variant - Deregistration Test') { steps { script { echo 'Silencing all NFs to reduce size of logs' - sh './ci-scripts/silentCN5G-NF.py --docker-compose-file docker-compose/docker-compose-basic-nrf-http2.yaml --all-log-level error' - updateDockerCompose('docker-compose/docker-compose-basic-nrf-http2.yaml', gnbsimTag) + sh './ci-scripts/silentCN5G-NF.py --docker-compose-file docker-compose/docker-compose-basic-nrf.yaml --all-log-level error' + updateDockerCompose('docker-compose/docker-compose-basic-nrf.yaml', gnbsimTag) dir ('docker-compose') { echo 'Adding 16000 Users to database' sh '../ci-scripts/addUsersToDatabase.py --database-file database/oai_db2.sql --nb-users 16000' sh '../ci-scripts/increaseDnnRange.py --docker-compose-file docker-compose-basic-nrf.yaml --nb-users 16000' - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml up -d mysql' + sh 'docker-compose -f docker-compose-basic-nrf.yaml up -d mysql' sleep 2 sh 'sudo rm -f /tmp/oai-cn5g-load-test.*' - if (doTsharkCapturePDUSessionHttp2) { + if (doTsharkCapturePDURelease) { sh 'nohup sudo tshark -i demo-oai -f "sctp or port 80 or port 8080 or port 8805 or icmp or port 3306" -w /tmp/oai-cn5g-load-test.pcap > /tmp/oai-cn5g-load-test.log 2>&1 &' sh '../ci-scripts/checkTsharkCapture.py --log_file /tmp/oai-cn5g-load-test.log --timeout 30' sh 'sudo chmod 666 /tmp/oai-cn5g-load-test.*' } - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml up -d' + sh 'docker-compose -f docker-compose-basic-nrf.yaml up -d' sh '../ci-scripts/checkContainerStatus.py --container_name mysql --timeout 40' sh '../ci-scripts/checkContainerStatus.py --container_name oai-spgwu --timeout 40' - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml ps -a' + sh 'docker-compose -f docker-compose-basic-nrf.yaml ps -a' } } } @@ -421,12 +421,12 @@ pipeline { unsuccessful { script { dir ('docker-compose') { - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml stop -t 3' + sh 'docker-compose -f docker-compose-basic-nrf.yaml stop -t 3' } sleep 5 - retrieveLogs('archives/deregistration-http2', 'docker-compose/docker-compose-basic-nrf-http2.yaml') + retrieveLogs('archives/deregistration', 'docker-compose/docker-compose-basic-nrf.yaml') dir ('docker-compose') { - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml down -t 3' + sh 'docker-compose -f docker-compose-basic-nrf.yaml down -t 3' } cleanUpDockerCompose() } @@ -434,7 +434,7 @@ pipeline { } } // PDU Session Establishment Test should not fail - stage ('Deregistration Test - HTTP2') { + stage ('Deregistration Test') { steps { script { dir ('ci-scripts/docker-compose/load-test-gnbsim') { @@ -445,7 +445,7 @@ pipeline { // 125 UE x 3.7 = 460 seconds (ie 8 minutes) sh '../../checkOmecGnbsimStatus.py --timeout 500' } - retrieveGnbsimLogs('archives/deregistration-http2', 'ci-scripts/docker-compose/load-test-gnbsim') + retrieveGnbsimLogs('archives/deregistration', 'ci-scripts/docker-compose/load-test-gnbsim') dir ('ci-scripts/docker-compose/load-test-gnbsim') { sh 'docker-compose -f docker-compose-omec-gnbsim.yaml down -t 0' } @@ -454,33 +454,33 @@ pipeline { post { unsuccessful { script { - retrieveGnbsimLogs('archives/deregistration-http2', 'ci-scripts/docker-compose/load-test-gnbsim') + retrieveGnbsimLogs('archives/deregistration', 'ci-scripts/docker-compose/load-test-gnbsim') dir ('ci-scripts/docker-compose/load-test-gnbsim') { sh 'docker-compose -f docker-compose-omec-gnbsim.yaml down -t 0' } dir ('docker-compose') { - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml stop -t 3' + sh 'docker-compose -f docker-compose-basic-nrf.yaml stop -t 3' } sleep 5 - retrieveLogs('archives/deregistration-http2', 'docker-compose/docker-compose-basic-nrf-http2.yaml') + retrieveLogs('archives/deregistration', 'docker-compose/docker-compose-basic-nrf.yaml') dir ('docker-compose') { - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml down -t 3' + sh 'docker-compose -f docker-compose-basic-nrf.yaml down -t 3' } cleanUpDockerCompose() } } } } - stage ('Undeploy OAI-CN5G - Deregistration Test - HTTP2') { + stage ('Undeploy OAI-CN5G - Deregistration Test') { steps { script { dir ('docker-compose') { - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml stop -t 3' + sh 'docker-compose -f docker-compose-basic-nrf.yaml stop -t 3' } sleep 5 - retrieveLogs('archives/deregistration-http2', 'docker-compose/docker-compose-basic-nrf-http2.yaml') + retrieveLogs('archives/deregistration', 'docker-compose/docker-compose-basic-nrf.yaml') dir ('docker-compose') { - sh 'docker-compose -f docker-compose-basic-nrf-http2.yaml down -t 3' + sh 'docker-compose -f docker-compose-basic-nrf.yaml down -t 3' } cleanUpDockerCompose() } diff --git a/ci-scripts/checkLoadTestHtmlReport.py b/ci-scripts/checkLoadTestHtmlReport.py index 52d00fca..033754ee 100755 --- a/ci-scripts/checkLoadTestHtmlReport.py +++ b/ci-scripts/checkLoadTestHtmlReport.py @@ -57,7 +57,7 @@ class HtmlReport(): wfile.write(generate_header(args)) loadTests = [('Registration', 'registration-test'), \ ('PDU Session Establishment', 'pdu-sess-est-test'), - ('Deregistration - HTTP2', 'deregistration-http2')] + ('Deregistration', 'deregistration')] for (testName, testPath) in loadTests: wfile.write(self.testSummary(testName, testPath)) wfile.write(generate_footer()) diff --git a/docker-compose/core-network.py b/docker-compose/core-network.py index edeed0f9..4d6b909f 100644 --- a/docker-compose/core-network.py +++ b/docker-compose/core-network.py @@ -170,6 +170,8 @@ def undeploy(file_name): if res is None: exit(f'\033[0;31m Incorrect/Unsupported executing command {cmd}') print(res) + cmd = f'docker volume prune -f' + run_cmd(cmd, True) logging.debug('\033[0;32m OAI 5G core components are UnDeployed\033[0m....') @@ -227,8 +229,8 @@ def check_config(file_name): logging.debug('\033[0;32m AMF, SMF and UPF are registered to NRF\033[0m....') if file_name == BASIC_VPP_W_NRF: logging.debug('\033[0;34m Checking if SMF is able to connect with UPF\033[0m....') - cmd1 = 'docker logs oai-smf | grep "Received N4 ASSOCIATION SETUP RESPONSE from an UPF"' - cmd2 = 'docker logs oai-smf | grep "Node ID Type FQDN: vpp-upf"' + cmd1 = 'docker logs oai-smf 2>&1 | grep "Received N4 ASSOCIATION SETUP RESPONSE from an UPF"' + cmd2 = 'docker logs oai-smf 2>&1 | grep "Node ID Type FQDN: vpp-upf"' upf_logs1 = run_cmd(cmd1) upf_logs2 = run_cmd(cmd2) if upf_logs1 is None or upf_logs2 is None: @@ -236,17 +238,17 @@ def check_config(file_name): exit(-1) else: logging.debug('\033[0;32m UPF did answer to N4 Association request from SMF\033[0m....') - cmd1 = 'docker logs oai-smf | grep "PFCP HEARTBEAT PROCEDURE"' + cmd1 = 'docker logs oai-smf 2>&1 | grep "PFCP HEARTBEAT PROCEDURE"' upf_logs1 = run_cmd(cmd1) if upf_logs1 is None: - logging.error('\033[0;31m SMF not receiving heartbeats from UPF\033[0m....') + logging.error('\033[0;31m SMF is NOT receiving heartbeats from UPF\033[0m....') exit(-1) else: - logging.debug('\033[0;32m SMF receiving heathbeats from UPF\033[0m....') + logging.debug('\033[0;32m SMF is receiving heartbeats from UPF\033[0m....') elif file_name == BASIC_W_NRF: logging.debug('\033[0;34m Checking if SMF is able to connect with UPF\033[0m....') - cmd1 = 'docker logs oai-smf | grep "Received N4 ASSOCIATION SETUP RESPONSE from an UPF"' - cmd2 = 'docker logs oai-smf | grep "Node ID Type FQDN: oai-spgwu"' + cmd1 = 'docker logs oai-smf 2>&1 | grep "Received N4 ASSOCIATION SETUP RESPONSE from an UPF"' + cmd2 = 'docker logs oai-smf 2>&1 | grep "Node ID Type FQDN: oai-spgwu"' upf_logs1 = run_cmd(cmd1) upf_logs2 = run_cmd(cmd2) if upf_logs1 is None or upf_logs2 is None: @@ -254,30 +256,30 @@ def check_config(file_name): exit(-1) else: logging.debug('\033[0;32m UPF did answer to N4 Association request from SMF\033[0m....') - cmd1 = 'docker logs oai-smf | grep "PFCP HEARTBEAT PROCEDURE"' + cmd1 = 'docker logs oai-smf 2>&1 | grep "PFCP HEARTBEAT PROCEDURE"' upf_logs1 = run_cmd(cmd1) if upf_logs1 is None: - logging.error('\033[0;31m SMF not receiving heartbeats from UPF\033[0m....') + logging.error('\033[0;31m SMF is NOT receiving heartbeats from UPF\033[0m....') exit(-1) else: - logging.debug('\033[0;32m SMF receiving heathbeats from UPF\033[0m....') + logging.debug('\033[0;32m SMF is receiving heartbeats from UPF\033[0m....') else: logging.debug('\033[0;34m Checking if SMF is able to connect with UPF\033[0m....') - cmd1 = 'docker logs oai-spgwu | grep "Received SX HEARTBEAT RESPONSE"' - cmd2 = 'docker logs oai-spgwu | grep "Received SX HEARTBEAT REQUEST"' + cmd1 = 'docker logs oai-spgwu 2>&1 | grep "Received SX HEARTBEAT RESPONSE"' + cmd2 = 'docker logs oai-spgwu 2>&1 | grep "Received SX HEARTBEAT REQUEST"' upf_logs1 = run_cmd(cmd1) upf_logs2 = run_cmd(cmd2) if upf_logs1 is None and upf_logs2 is None: - logging.error('\033[0;31m UPF not receiving heartbeats from SMF\033[0m....') + logging.error('\033[0;31m UPF is NOT receiving heartbeats from SMF\033[0m....') exit(-1) else: - logging.debug('\033[0;32m UPF receiving heathbeats from SMF\033[0m....') + logging.debug('\033[0;32m UPF is receiving heartbeats from SMF\033[0m....') # With noNRF configuration checks elif args.scenario == '2': logging.debug('\033[0;34m Checking if SMF is able to connect with UPF\033[0m....') if file_name == BASIC_VPP_NO_NRF: - cmd1 = 'docker logs oai-smf | grep "Received N4 ASSOCIATION SETUP RESPONSE from an UPF"' - cmd2 = 'docker logs oai-smf | grep "Node ID Type FQDN: gw1"' + cmd1 = 'docker logs oai-smf 2>&1 | grep "Received N4 ASSOCIATION SETUP RESPONSE from an UPF"' + cmd2 = 'docker logs oai-smf 2>&1 | grep "Node ID Type FQDN: gw1"' upf_logs1 = run_cmd(cmd1) upf_logs2 = run_cmd(cmd2) if upf_logs1 is None or upf_logs2 is None: @@ -287,14 +289,14 @@ def check_config(file_name): logging.debug('\033[0;32m UPF did answer to N4 Association request from SMF\033[0m....') status = 0 for x in range(4): - cmd = "docker logs oai-smf | grep 'handle_receive(16 bytes)'" + cmd = "docker logs oai-smf 2>&1 | grep 'handle_receive(16 bytes)'" res = run_cmd(cmd) if res is None: - logging.error('\033[0;31m UPF not receiving heartbeats from SMF, re-trying\033[0m....') + logging.error('\033[0;31m UPF is NOT receiving heartbeats from SMF, re-trying\033[0m....') else: status += 1 if status > 2: - logging.debug('\033[0;32m UPF receiving heathbeats from SMF\033[0m....') + logging.debug('\033[0;32m UPF is receiving heartbeats from SMF\033[0m....') logging.debug('\033[0;32m OAI 5G Core network is configured and healthy\033[0m....') def run_cmd(cmd, silent=True): @@ -328,14 +330,18 @@ if __name__ == '__main__': deploy(BASIC_W_NRF) # Basic function without NRF elif args.scenario == '2': - deploy(BASIC_NO_NRF) + #deploy(BASIC_NO_NRF) + logging.error('Basic deployments without NRF are no longer supported') + sys.exit(-1) elif args.type == 'start-basic-vpp': # Basic function with NRF and VPP-UPF if args.scenario == '1': deploy(BASIC_VPP_W_NRF, True) # Basic function without NRF but with VPP-UPF elif args.scenario == '2': - deploy(BASIC_VPP_NO_NRF, True) + #deploy(BASIC_VPP_NO_NRF, True) + logging.error('Basic deployments without NRF are no longer supported') + sys.exit(-1) elif args.type == 'stop-mini': if args.scenario == '1': undeploy(MINI_W_NRF) diff --git a/docker-compose/docker-compose-basic-nonrf.yaml b/docker-compose/docker-compose-basic-nonrf.yaml deleted file mode 100644 index d33eeee6..00000000 --- a/docker-compose/docker-compose-basic-nonrf.yaml +++ /dev/null @@ -1,241 +0,0 @@ -version: '3.8' -services: - mysql: - container_name: "mysql" - image: mysql:8.0 - volumes: - - ./database/oai_db2.sql:/docker-entrypoint-initdb.d/oai_db.sql - - ./healthscripts/mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh - environment: - - TZ=Europe/Paris - - MYSQL_DATABASE=oai_db - - MYSQL_USER=test - - MYSQL_PASSWORD=test - - MYSQL_ROOT_PASSWORD=linux - healthcheck: - test: /bin/bash -c "/tmp/mysql-healthcheck.sh" - interval: 10s - timeout: 5s - retries: 30 - networks: - public_net: - ipv4_address: 192.168.70.131 - oai-udr: - container_name: "oai-udr" - image: oaisoftwarealliance/oai-udr:develop - environment: - - TZ=Europe/Paris - - UDR_NAME=OAI_UDR - - UDR_INTERFACE_NAME_FOR_NUDR=eth0 - - MYSQL_IPV4_ADDRESS=192.168.70.131 - - MYSQL_USER=test - - MYSQL_PASS=test - - MYSQL_DB=oai_db - - WAIT_MYSQL=120 - - USE_FQDN_DNS=yes - - REGISTER_NRF=no - depends_on: - - mysql - networks: - public_net: - ipv4_address: 192.168.70.136 - oai-udm: - container_name: "oai-udm" - image: oaisoftwarealliance/oai-udm:develop - environment: - - TZ=Europe/Paris - - UDM_NAME=OAI_UDM - - SBI_IF_NAME=eth0 - - USE_FQDN_DNS=yes - - REGISTER_NRF=no - - UDR_IP_ADDRESS=192.168.70.136 - - UDR_FQDN=oai-udr - depends_on: - - oai-udr - networks: - public_net: - ipv4_address: 192.168.70.137 - oai-ausf: - container_name: "oai-ausf" - image: oaisoftwarealliance/oai-ausf:develop - environment: - - TZ=Europe/Paris - - AUSF_NAME=OAI_AUSF - - SBI_IF_NAME=eth0 - - USE_FQDN_DNS=yes - - REGISTER_NRF=no - - UDM_IP_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - depends_on: - - oai-udm - networks: - public_net: - ipv4_address: 192.168.70.138 - oai-amf: - container_name: "oai-amf" - image: oaisoftwarealliance/oai-amf:develop - environment: - - TZ=Europe/Paris - - MCC=208 - - MNC=95 - - REGION_ID=128 - - AMF_SET_ID=1 - - SERVED_GUAMI_MCC_0=208 - - SERVED_GUAMI_MNC_0=95 - - SERVED_GUAMI_REGION_ID_0=128 - - SERVED_GUAMI_AMF_SET_ID_0=1 - - SERVED_GUAMI_MCC_1=460 - - SERVED_GUAMI_MNC_1=11 - - SERVED_GUAMI_REGION_ID_1=10 - - SERVED_GUAMI_AMF_SET_ID_1=1 - - PLMN_SUPPORT_MCC=208 - - PLMN_SUPPORT_MNC=95 - - PLMN_SUPPORT_TAC=0xa000 - # Slice 0 (1, 0xFFFFFF) - - SST_0=1 - # At least one slice SHALL be defined. - # All the others are optional - # Slice 1 (1, 1) - - SST_1=1 - - SD_1=1 - # Slice 2 (222, 123) - - SST_2=222 - - SD_2=123 - - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - - AMF_INTERFACE_NAME_FOR_N11=eth0 - - SMF_INSTANCE_ID_0=1 - - SMF_FQDN_0=oai-smf - - SMF_IPV4_ADDR_0=192.168.70.133 - - SELECTED_0=true - - USE_FQDN_DNS=yes - - USE_HTTP2=no - - AUSF_IPV4_ADDRESS=192.168.70.138 - - AUSF_FQDN=oai-ausf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - depends_on: - - mysql - - oai-ausf - networks: - public_net: - ipv4_address: 192.168.70.132 - oai-smf: - container_name: "oai-smf" - image: oaisoftwarealliance/oai-smf:develop - environment: - - TZ=Europe/Paris - - SMF_INTERFACE_NAME_FOR_N4=eth0 - - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - - AMF_IPV4_ADDRESS=192.168.70.132 - - AMF_FQDN=oai-amf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - - UPF_IPV4_ADDRESS=192.168.70.134 - - UPF_FQDN_0=oai-spgwu - - USE_LOCAL_SUBSCRIPTION_INFO=yes #Set to yes if SMF uses local subscription information instead of from an UDM - - REGISTER_NRF=no - - DISCOVER_UPF=no - - USE_FQDN_DNS=yes - - UE_MTU=1500 - # Slice 0 (1, 0xFFFFFFF) - - DNN_NI0=oai - - TYPE0=IPv4 - - DNN_RANGE0=12.1.1.151 - 12.1.1.253 - - NSSAI_SST0=1 - - SESSION_AMBR_UL0=200Mbps - - SESSION_AMBR_DL0=400Mbps - # Slice 1 (1, 1) - - DNN_NI1=oai.ipv4 - - TYPE1=IPv4 - - DNN_RANGE1=12.1.1.51 - 12.1.1.150 - - NSSAI_SST1=1 - - NSSAI_SD1=1 - - SESSION_AMBR_UL1=100Mbps - - SESSION_AMBR_DL1=200Mbps - # Slice 2 (222, 123) - - DNN_NI2=default - - TYPE2=IPv4 - - DNN_RANGE2=12.1.1.2 - 12.1.1.50 - - NSSAI_SST2=222 - - NSSAI_SD2=123 - - SESSION_AMBR_UL2=50Mbps - - SESSION_AMBR_DL2=100Mbps - # Slice 3 for ims - - DNN_NI3=ims - - TYPE3=IPv4v6 - - DNN_RANGE3=14.1.1.2 - 14.1.1.253 - - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used - - ENABLE_USAGE_REPORTING=no # Set yes if UE USAGE REPORTING is to be done at UPF - depends_on: - - oai-amf - extra_hosts: - - "oai-spgwu:192.168.70.134" - networks: - public_net: - ipv4_address: 192.168.70.133 - oai-spgwu: - container_name: "oai-spgwu" - image: oaisoftwarealliance/oai-spgwu-tiny:develop - environment: - - TZ=Europe/Paris - - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0 - - SGW_INTERFACE_NAME_FOR_SX=eth0 - - PGW_INTERFACE_NAME_FOR_SGI=eth0 - - NETWORK_UE_NAT_OPTION=yes - - NETWORK_UE_IP=12.1.1.0/24 - - ENABLE_5G_FEATURES=yes - - REGISTER_NRF=no - - USE_FQDN_NRF=yes - - UPF_FQDN_5G=oai-spgwu - # Slice 0 (1, 0xFFFFFF) - - NSSAI_SST_0=1 - - DNN_0=oai - # Slice 1 (1, 1) - - NSSAI_SST_1=1 - - NSSAI_SD_1=1 - - DNN_1=oai.ipv4 - # Slice 2 (222, 123) - - NSSAI_SST_2=222 - - NSSAI_SD_2=123 - - DNN_2=default - depends_on: - - oai-smf - cap_add: - - NET_ADMIN - - SYS_ADMIN - cap_drop: - - ALL - privileged: true - networks: - public_net: - ipv4_address: 192.168.70.134 - oai-ext-dn: - privileged: true - init: true - container_name: oai-ext-dn - image: oaisoftwarealliance/trf-gen-cn5g:latest - entrypoint: /bin/bash -c \ - "ip route add 12.1.1.0/24 via 192.168.70.134 dev eth0; ip route; sleep infinity" - command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"] - healthcheck: - test: /bin/bash -c "ip r | grep 12.1.1" - interval: 10s - timeout: 5s - retries: 5 - networks: - public_net: - ipv4_address: 192.168.70.135 -networks: - # public_net: - # external: - # name: demo-oai-public-net - public_net: - driver: bridge - name: demo-oai-public-net - ipam: - config: - - subnet: 192.168.70.128/26 - driver_opts: - com.docker.network.bridge.name: "demo-oai" diff --git a/docker-compose/docker-compose-basic-nrf-http2.yaml b/docker-compose/docker-compose-basic-nrf-http2.yaml deleted file mode 100644 index e17a6667..00000000 --- a/docker-compose/docker-compose-basic-nrf-http2.yaml +++ /dev/null @@ -1,319 +0,0 @@ -version: '3.8' -services: - mysql: - container_name: "mysql" - image: mysql:8.0 - volumes: - - ./database/oai_db2.sql:/docker-entrypoint-initdb.d/oai_db.sql - - ./healthscripts/mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh - environment: - - TZ=Europe/Paris - - MYSQL_DATABASE=oai_db - - MYSQL_USER=test - - MYSQL_PASSWORD=test - - MYSQL_ROOT_PASSWORD=linux - healthcheck: - test: /bin/bash -c "/tmp/mysql-healthcheck.sh" - interval: 10s - timeout: 5s - retries: 30 - networks: - public_net: - ipv4_address: 192.168.70.131 - oai-udr: - container_name: "oai-udr" - image: oaisoftwarealliance/oai-udr:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - UDR_NAME=OAI_UDR - - UDR_INTERFACE_NAME_FOR_NUDR=eth0 - - MYSQL_IPV4_ADDRESS=192.168.70.131 - - MYSQL_USER=test - - MYSQL_PASS=test - - MYSQL_DB=oai_db - - WAIT_MYSQL=120 - - USE_FQDN_DNS=yes - - REGISTER_NRF=yes - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_FQDN=oai-nrf - # changes for HTTP2 - - USE_HTTP2=yes - - NRF_PORT=8080 - depends_on: - - mysql - - oai-nrf - networks: - public_net: - ipv4_address: 192.168.70.136 - oai-udm: - container_name: "oai-udm" - image: oaisoftwarealliance/oai-udm:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - UDM_NAME=OAI_UDM - - SBI_IF_NAME=eth0 - - USE_FQDN_DNS=yes - - UDR_IP_ADDRESS=192.168.70.136 - - UDR_PORT=8080 - - UDR_FQDN=oai-udr - - REGISTER_NRF=yes - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_FQDN=oai-nrf - # changes for HTTP2 - - USE_HTTP2=yes - - NRF_PORT=8080 - depends_on: - - oai-udr - networks: - public_net: - ipv4_address: 192.168.70.137 - oai-ausf: - container_name: "oai-ausf" - image: oaisoftwarealliance/oai-ausf:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - AUSF_NAME=OAI_AUSF - - SBI_IF_NAME=eth0 - - USE_FQDN_DNS=yes - - UDM_IP_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - - REGISTER_NRF=yes - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_FQDN=oai-nrf - # changes for HTTP2 - - USE_HTTP2=yes - - UDM_PORT=8080 - - NRF_PORT=8080 - depends_on: - - oai-udm - networks: - public_net: - ipv4_address: 192.168.70.138 - oai-nrf: - container_name: "oai-nrf" - image: oaisoftwarealliance/oai-nrf:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - NRF_INTERFACE_NAME_FOR_SBI=eth0 - # The default HTTP2 port is 8080 for all network functions - # It is shown here as example. - # If you wish to change, you have to specify it for each NF - - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 - networks: - public_net: - ipv4_address: 192.168.70.130 - oai-amf: - container_name: "oai-amf" - image: oaisoftwarealliance/oai-amf:develop - expose: - - 80/tcp - - 8080/tcp - - 38412/sctp - environment: - - TZ=Europe/Paris - - MCC=208 - - MNC=95 - - REGION_ID=128 - - AMF_SET_ID=1 - - SERVED_GUAMI_MCC_0=208 - - SERVED_GUAMI_MNC_0=95 - - SERVED_GUAMI_REGION_ID_0=128 - - SERVED_GUAMI_AMF_SET_ID_0=1 - - SERVED_GUAMI_MCC_1=460 - - SERVED_GUAMI_MNC_1=11 - - SERVED_GUAMI_REGION_ID_1=10 - - SERVED_GUAMI_AMF_SET_ID_1=1 - - PLMN_SUPPORT_MCC=208 - - PLMN_SUPPORT_MNC=95 - - PLMN_SUPPORT_TAC=0xa000 - # Slice 0 (1, 0xFFFFFF) - - SST_0=1 - # At least one slice SHALL be defined. - # All the others are optional - # Slice 1 (1, 1) - - SST_1=1 - - SD_1=1 - # Slice 2 (222, 123) - - SST_2=222 - - SD_2=123 - - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - - AMF_INTERFACE_NAME_FOR_N11=eth0 - - SMF_INSTANCE_ID_0=1 - - SMF_FQDN_0=oai-smf - - SMF_IPV4_ADDR_0=192.168.70.133 - - SMF_HTTP_VERSION_0=v2 - - SELECTED_0=true - - NRF_IPV4_ADDRESS=192.168.70.130 - - NF_REGISTRATION=yes - - USE_FQDN_DNS=yes - - EXTERNAL_AUSF=yes - - EXTERNAL_UDM=no - - NRF_FQDN=oai-nrf - - AUSF_IPV4_ADDRESS=192.168.70.138 - - AUSF_FQDN=oai-ausf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - # changes for HTTP2 - - USE_HTTP2=yes - - NRF_PORT=8080 - - AUSF_PORT=8080 - - UDM_PORT=8080 - depends_on: - - mysql - - oai-nrf - - oai-ausf - networks: - public_net: - ipv4_address: 192.168.70.132 - oai-smf: - container_name: "oai-smf" - image: oaisoftwarealliance/oai-smf:develop - expose: - - 80/tcp - - 8080/tcp - - 8805/udp - environment: - - TZ=Europe/Paris - - SMF_INTERFACE_NAME_FOR_N4=eth0 - - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - - AMF_IPV4_ADDRESS=192.168.70.132 - - AMF_FQDN=oai-amf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - - UPF_IPV4_ADDRESS=192.168.70.134 - - UPF_FQDN_0=oai-spgwu - - NRF_IPV4_ADDRESS=192.168.70.130 - - USE_LOCAL_SUBSCRIPTION_INFO=yes - - NRF_FQDN=oai-nrf - - REGISTER_NRF=yes - - DISCOVER_UPF=yes - - USE_FQDN_DNS=yes - # changes for HTTP2 - - HTTP_VERSION=2 - - AMF_PORT=8080 - - UDM_PORT=8080 - - NRF_PORT=8080 - - UE_MTU=1500 - # Slice 0 (1, 0xFFFFFF) - - DNN_NI0=oai - - TYPE0=IPv4 - - DNN_RANGE0=12.1.1.151 - 12.1.1.253 - - NSSAI_SST0=1 - - SESSION_AMBR_UL0=200Mbps - - SESSION_AMBR_DL0=400Mbps - # Slice 1 (1, 1) - - DNN_NI1=oai.ipv4 - - TYPE1=IPv4 - - DNN_RANGE1=12.1.1.51 - 12.1.1.150 - - NSSAI_SST1=1 - - NSSAI_SD1=1 - - SESSION_AMBR_UL1=100Mbps - - SESSION_AMBR_DL1=200Mbps - # Slice 2 (222, 123) - - DNN_NI2=default - - TYPE2=IPv4 - - DNN_RANGE2=12.1.1.2 - 12.1.1.50 - - NSSAI_SST2=222 - - NSSAI_SD2=123 - - SESSION_AMBR_UL2=50Mbps - - SESSION_AMBR_DL2=100Mbps - # Slice 3 for ims - - DNN_NI3=ims - - TYPE3=IPv4v6 - - DNN_RANGE3=14.1.1.2 - 14.1.1.253 - - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used - - ENABLE_USAGE_REPORTING=no # Set yes if UE USAGE REPORTING is to be done at UPF - depends_on: - - oai-nrf - - oai-amf - networks: - public_net: - ipv4_address: 192.168.70.133 - oai-spgwu: - container_name: "oai-spgwu" - image: oaisoftwarealliance/oai-spgwu-tiny:develop - expose: - - 2152/udp - - 8805/udp - - 8080/tcp - environment: - - TZ=Europe/Paris - - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0 - - SGW_INTERFACE_NAME_FOR_SX=eth0 - - PGW_INTERFACE_NAME_FOR_SGI=eth0 - - NETWORK_UE_NAT_OPTION=yes - - NETWORK_UE_IP=12.1.1.0/24 - - ENABLE_5G_FEATURES=yes - - REGISTER_NRF=yes - - USE_FQDN_NRF=yes - - UPF_FQDN_5G=oai-spgwu - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_FQDN=oai-nrf - # Mandatory to set the NRF PORT to 8080 (it is set to default to 80 otherwise) - - HTTP_VERSION=2 - - NRF_PORT=8080 - # Slice 0 (1, 0xFFFFFF) - - NSSAI_SST_0=1 - - DNN_0=oai - # Slice 1 (1, 1) - - NSSAI_SST_1=1 - - NSSAI_SD_1=1 - - DNN_1=oai.ipv4 - # Slice 2 (222, 123) - - NSSAI_SST_2=222 - - NSSAI_SD_2=123 - - DNN_2=default - depends_on: - - oai-nrf - - oai-smf - cap_add: - - NET_ADMIN - - SYS_ADMIN - cap_drop: - - ALL - privileged: true - networks: - public_net: - ipv4_address: 192.168.70.134 - oai-ext-dn: - privileged: true - init: true - container_name: oai-ext-dn - image: oaisoftwarealliance/trf-gen-cn5g:latest - entrypoint: /bin/bash -c \ - "ip route add 12.1.1.0/24 via 192.168.70.134 dev eth0; ip route; sleep infinity" - command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"] - healthcheck: - test: /bin/bash -c "ip r | grep 12.1.1" - interval: 10s - timeout: 5s - retries: 5 - networks: - public_net: - ipv4_address: 192.168.70.135 -networks: - # public_net: - # external: - # name: demo-oai-public-net - public_net: - driver: bridge - name: demo-oai-public-net - ipam: - config: - - subnet: 192.168.70.128/26 - driver_opts: - com.docker.network.bridge.name: "demo-oai" diff --git a/docker-compose/docker-compose-basic-nrf.yaml b/docker-compose/docker-compose-basic-nrf.yaml index 5b12a86b..fe68081c 100644 --- a/docker-compose/docker-compose-basic-nrf.yaml +++ b/docker-compose/docker-compose-basic-nrf.yaml @@ -23,6 +23,9 @@ services: oai-udr: container_name: "oai-udr" image: oaisoftwarealliance/oai-udr:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - UDR_NAME=OAI_UDR @@ -36,6 +39,9 @@ services: - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 depends_on: - mysql - oai-nrf @@ -45,16 +51,23 @@ services: oai-udm: container_name: "oai-udm" image: oaisoftwarealliance/oai-udm:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - UDM_NAME=OAI_UDM - SBI_IF_NAME=eth0 - - REGISTER_NRF=yes - USE_FQDN_DNS=yes - UDR_IP_ADDRESS=192.168.70.136 + - UDR_PORT=8080 - UDR_FQDN=oai-udr + - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 depends_on: - oai-udr networks: @@ -63,16 +76,23 @@ services: oai-ausf: container_name: "oai-ausf" image: oaisoftwarealliance/oai-ausf:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - AUSF_NAME=OAI_AUSF - SBI_IF_NAME=eth0 - USE_FQDN_DNS=yes - - REGISTER_NRF=yes - UDM_IP_ADDRESS=192.168.70.137 - UDM_FQDN=oai-udm + - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - UDM_PORT=8080 + - NRF_PORT=8080 depends_on: - oai-udm networks: @@ -81,15 +101,26 @@ services: oai-nrf: container_name: "oai-nrf" image: oaisoftwarealliance/oai-nrf:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - NRF_INTERFACE_NAME_FOR_SBI=eth0 + # The default HTTP2 port is 8080 for all network functions + # It is shown here as example. + # If you wish to change, you have to specify it for each NF + - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 networks: public_net: ipv4_address: 192.168.70.130 oai-amf: container_name: "oai-amf" image: oaisoftwarealliance/oai-amf:develop + expose: + - 80/tcp + - 8080/tcp + - 38412/sctp environment: - TZ=Europe/Paris - MCC=208 @@ -126,16 +157,21 @@ services: - SELECTED_0=true - NF_REGISTRATION=yes - USE_FQDN_DNS=yes + - SMF_SELECTION=yes - EXTERNAL_AUSF=yes - EXTERNAL_UDM=no - EXTERNAL_NSSF=no - - USE_HTTP2=no - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf - AUSF_IPV4_ADDRESS=192.168.70.138 - AUSF_FQDN=oai-ausf - UDM_IPV4_ADDRESS=192.168.70.137 - UDM_FQDN=oai-udm + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 + - AUSF_PORT=8080 + - UDM_PORT=8080 depends_on: - mysql - oai-nrf @@ -146,6 +182,10 @@ services: oai-smf: container_name: "oai-smf" image: oaisoftwarealliance/oai-smf:develop + expose: + - 80/tcp + - 8080/tcp + - 8805/udp environment: - TZ=Europe/Paris - SMF_INTERFACE_NAME_FOR_N4=eth0 @@ -164,7 +204,11 @@ services: - REGISTER_NRF=yes - DISCOVER_UPF=yes - USE_FQDN_DNS=yes - - HTTP_VERSION=1 # Default: 1 + # changes for HTTP2 + - HTTP_VERSION=2 + - AMF_PORT=8080 + - UDM_PORT=8080 + - NRF_PORT=8080 - UE_MTU=1500 # Slice 0 (1, 0xFFFFFF) - DNN_NI0=oai @@ -204,6 +248,10 @@ services: oai-spgwu: container_name: "oai-spgwu" image: oaisoftwarealliance/oai-spgwu-tiny:develop + expose: + - 2152/udp + - 8805/udp + - 8080/tcp environment: - TZ=Europe/Paris - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0 @@ -217,6 +265,9 @@ services: - UPF_FQDN_5G=oai-spgwu - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf + # Mandatory to set the NRF PORT to 8080 (it is set to default to 80 otherwise) + - HTTP_VERSION=2 + - NRF_PORT=8080 # Slice 0 (1, 0xFFFFFF) - NSSAI_SST_0=1 - DNN_0=oai diff --git a/docker-compose/docker-compose-basic-vpp-nonrf.yaml b/docker-compose/docker-compose-basic-vpp-nonrf.yaml deleted file mode 100644 index 0c9d6118..00000000 --- a/docker-compose/docker-compose-basic-vpp-nonrf.yaml +++ /dev/null @@ -1,258 +0,0 @@ -version: '3.8' -services: - mysql: - container_name: "mysql" - image: mysql:8.0 - volumes: - - ./database/oai_db2.sql:/docker-entrypoint-initdb.d/oai_db.sql - - ./healthscripts/mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh - environment: - - TZ=Europe/Paris - - MYSQL_DATABASE=oai_db - - MYSQL_USER=test - - MYSQL_PASSWORD=test - - MYSQL_ROOT_PASSWORD=linux - healthcheck: - test: /bin/bash -c "/tmp/mysql-healthcheck.sh" - interval: 10s - timeout: 5s - retries: 30 - networks: - public_net: - ipv4_address: 192.168.70.131 - oai-udr: - container_name: "oai-udr" - image: oaisoftwarealliance/oai-udr:develop - environment: - - TZ=Europe/Paris - - UDR_NAME=OAI_UDR - - UDR_INTERFACE_NAME_FOR_NUDR=eth0 - - MYSQL_IPV4_ADDRESS=192.168.70.131 - - MYSQL_USER=test - - MYSQL_PASS=test - - MYSQL_DB=oai_db - - WAIT_MYSQL=120 - - USE_FQDN_DNS=yes - - REGISTER_NRF=no - depends_on: - - mysql - networks: - public_net: - ipv4_address: 192.168.70.136 - oai-udm: - container_name: "oai-udm" - image: oaisoftwarealliance/oai-udm:develop - environment: - - TZ=Europe/Paris - - UDM_NAME=OAI_UDM - - SBI_IF_NAME=eth0 - - REGISTER_NRF=no - - USE_FQDN_DNS=yes - - UDR_IP_ADDRESS=192.168.70.136 - - UDR_FQDN=oai-udr - depends_on: - - oai-udr - networks: - public_net: - ipv4_address: 192.168.70.137 - oai-ausf: - container_name: "oai-ausf" - image: oaisoftwarealliance/oai-ausf:develop - environment: - - TZ=Europe/Paris - - AUSF_NAME=OAI_AUSF - - SBI_IF_NAME=eth0 - - USE_FQDN_DNS=yes - - REGISTER_NRF=no - - UDM_IP_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - depends_on: - - oai-udm - networks: - public_net: - ipv4_address: 192.168.70.138 - oai-amf: - container_name: "oai-amf" - image: oaisoftwarealliance/oai-amf:develop - environment: - - TZ=Europe/Paris - - MCC=208 - - MNC=95 - - REGION_ID=128 - - AMF_SET_ID=1 - - SERVED_GUAMI_MCC_0=208 - - SERVED_GUAMI_MNC_0=95 - - SERVED_GUAMI_REGION_ID_0=128 - - SERVED_GUAMI_AMF_SET_ID_0=1 - - SERVED_GUAMI_MCC_1=460 - - SERVED_GUAMI_MNC_1=11 - - SERVED_GUAMI_REGION_ID_1=10 - - SERVED_GUAMI_AMF_SET_ID_1=1 - - PLMN_SUPPORT_MCC=208 - - PLMN_SUPPORT_MNC=95 - - PLMN_SUPPORT_TAC=0xa000 - # Slice 0 (222, 123) - - SST_0=222 - - SD_0=123 - # Slice 0 (128, 12) - - SST_1=128 - - SD_1=12 - - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - - AMF_INTERFACE_NAME_FOR_N11=eth0 - # One single SMF instance - - SMF_INSTANCE_ID_0=1 - - SMF_FQDN_0=oai-smf - - SMF_IPV4_ADDR_0=192.168.70.133 - - SELECTED_0=true - - NF_REGISTRATION=no - - SMF_SELECTION=no - - USE_FQDN_DNS=yes - - EXTERNAL_AUSF=yes - - EXTERNAL_UDM=no - - EXTERNAL_NSSF=no - - AUSF_IPV4_ADDRESS=192.168.70.138 - - AUSF_FQDN=oai-ausf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - depends_on: - - mysql - - vpp-upf - - oai-ext-dn - - oai-ausf - networks: - public_net: - ipv4_address: 192.168.70.132 - oai-smf: - container_name: "oai-smf" - image: oaisoftwarealliance/oai-smf:develop - environment: - - TZ=Europe/Paris - - SMF_INTERFACE_NAME_FOR_N4=eth0 - - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - - AMF_IPV4_ADDRESS=192.168.70.132 - - AMF_FQDN=oai-amf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_FQDN=oai-udm - - UPF_IPV4_ADDRESS=192.168.70.201 - - UPF_FQDN_0=vpp-upf.node.5gcn.mnc95.mcc208.3gppnetwork.org - - NRF_IPV4_ADDRESS=192.168.70.130 - - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used - - USE_LOCAL_SUBSCRIPTION_INFO=yes #Set to yes if SMF uses local subscription information instead of from an UDM - - REGISTER_NRF=no - - DISCOVER_UPF=no - - USE_FQDN_DNS=yes - - ENABLE_USAGE_REPORTING=yes - # Slice 0 (1, 0xFFFFFF) - - DNN_NI0=oai - - TYPE0=IPv4 - - DNN_RANGE0=12.1.1.151 - 12.1.1.253 - - NSSAI_SST0=1 - - SESSION_AMBR_UL0=200Mbps - - SESSION_AMBR_DL0=400Mbps - # Slice 1 (1, 1) - - DNN_NI1=oai.ipv4 - - TYPE1=IPv4 - - DNN_RANGE1=12.1.1.51 - 12.1.1.150 - - NSSAI_SST1=1 - - NSSAI_SD1=1 - - SESSION_AMBR_UL1=100Mbps - - SESSION_AMBR_DL1=200Mbps - # Slice 2 (222, 123) - - DNN_NI2=default - - TYPE2=IPv4 - - DNN_RANGE2=12.1.1.2 - 12.1.1.50 - - NSSAI_SST2=222 - - NSSAI_SD2=123 - - SESSION_AMBR_UL2=50Mbps - - SESSION_AMBR_DL2=100Mbps - # Slice 3 for ims - - DNN_NI3=ims - - TYPE3=IPv4v6 - - DNN_RANGE3=14.1.1.2 - 14.1.1.253 - extra_hosts: - - "vpp-upf.node.5gcn.mnc95.mcc208.3gppnetwork.org:192.168.70.201" - depends_on: - - oai-amf - networks: - public_net: - ipv4_address: 192.168.70.133 - vpp-upf: - privileged: true - container_name: "vpp-upf" - image: oaisoftwarealliance/oai-upf-vpp:develop - environment: - - IF_1_IP=192.168.70.201 - - IF_1_TYPE=N4 - - IF_2_IP=192.168.72.201 - - IF_2_TYPE=N3 - - IF_2_NWI=access.oai.org - - IF_3_IP=192.168.73.201 - - IF_3_TYPE=N6 - - IF_3_IP_REMOTE=192.168.73.135 # EXT-DN IP Address - - IF_3_NWI=core.oai.org - - NAME=VPP-UPF - - MNC=95 - - MCC=208 - - REALM=3gppnetwork.org - - VPP_MAIN_CORE=0 - - VPP_CORE_WORKER=1 -# - VPP_PLUGIN_PATH=/usr/lib64/vpp_plugins/ # RHEL7 - - VPP_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/vpp_plugins/ # Ubntu18.04 - - SNSSAI_SD=123 - - SNSSAI_SST=222 - - DNN=default - - REGISTER_NRF=no - healthcheck: - test: /bin/bash -c "pgrep vpp" - interval: 10s - timeout: 5s - retries: 5 - networks: - public_net: - ipv4_address: 192.168.70.134 - public_net_access: - ipv4_address: 192.168.72.134 - public_net_core: - ipv4_address: 192.168.73.134 - oai-ext-dn: - privileged: true - init: true - container_name: "oai-ext-dn" - image: oaisoftwarealliance/trf-gen-cn5g:latest - entrypoint: /bin/bash -c \ - "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\ - "ip route add 12.1.1.0/24 via 192.168.73.201 dev eth0; ip route; sleep infinity" - command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"] - healthcheck: - test: /bin/bash -c "iptables -L -t nat | grep MASQUERADE" - interval: 10s - timeout: 5s - retries: 5 - networks: - public_net_core: - ipv4_address: 192.168.73.135 -networks: - public_net: - driver: bridge - name: demo-oai-public-net - ipam: - config: - - subnet: 192.168.70.0/24 - driver_opts: - com.docker.network.bridge.name: "demo-oai" - public_net_access: - name: oai-public-access - ipam: - config: - - subnet: 192.168.72.0/24 - driver_opts: - com.docker.network.bridge.name: "cn5g-access" - public_net_core: - name: oai-public-core - ipam: - config: - - subnet: 192.168.73.0/24 - driver_opts: - com.docker.network.bridge.name: "cn5g-core" diff --git a/docker-compose/docker-compose-basic-vpp-nrf-http2.yaml b/docker-compose/docker-compose-basic-vpp-nrf-http2.yaml deleted file mode 100644 index 8180cb0f..00000000 --- a/docker-compose/docker-compose-basic-vpp-nrf-http2.yaml +++ /dev/null @@ -1,322 +0,0 @@ -version: '3.8' -services: - mysql: - container_name: "mysql" - image: mysql:8.0 - volumes: - - ./database/oai_db2.sql:/docker-entrypoint-initdb.d/oai_db.sql - - ./healthscripts/mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh - environment: - - TZ=Europe/Paris - - MYSQL_DATABASE=oai_db - - MYSQL_USER=test - - MYSQL_PASSWORD=test - - MYSQL_ROOT_PASSWORD=linux - healthcheck: - test: /bin/bash -c "/tmp/mysql-healthcheck.sh" - interval: 10s - timeout: 5s - retries: 30 - networks: - public_net: - ipv4_address: 192.168.70.131 - oai-udr: - container_name: "oai-udr" - image: oaisoftwarealliance/oai-udr:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - UDR_NAME=OAI_UDR - - UDR_INTERFACE_NAME_FOR_NUDR=eth0 - - MYSQL_IPV4_ADDRESS=192.168.70.131 - - MYSQL_USER=test - - MYSQL_PASS=test - - MYSQL_DB=oai_db - - WAIT_MYSQL=120 - - USE_FQDN_DNS=yes - - REGISTER_NRF=yes - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_FQDN=oai-nrf - # change for HTTP2 - - USE_HTTP2=yes - depends_on: - - mysql - - oai-nrf - networks: - public_net: - ipv4_address: 192.168.70.136 - oai-udm: - container_name: "oai-udm" - image: oaisoftwarealliance/oai-udm:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - UDM_NAME=OAI_UDM - - SBI_IF_NAME=eth0 - - REGISTER_NRF=yes - - USE_FQDN_DNS=yes - - UDR_IP_ADDRESS=192.168.70.136 - - UDR_PORT=8080 - - UDR_FQDN=oai-udr - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=8080 - - NRF_FQDN=oai-nrf - # change for HTTP2 - - USE_HTTP2=yes - depends_on: - - oai-udr - networks: - public_net: - ipv4_address: 192.168.70.137 - oai-ausf: - container_name: "oai-ausf" - image: oaisoftwarealliance/oai-ausf:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - AUSF_NAME=OAI_AUSF - - SBI_IF_NAME=eth0 - - USE_FQDN_DNS=yes - - REGISTER_NRF=yes - - UDM_IP_ADDRESS=192.168.70.137 - - UDM_PORT=8080 - - UDM_FQDN=oai-udm - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=8080 - - NRF_FQDN=oai-nrf - #change for HTTP2 - - USE_HTTP2=yes - depends_on: - - oai-udm - networks: - public_net: - ipv4_address: 192.168.70.138 - oai-nrf: - container_name: "oai-nrf" - image: oaisoftwarealliance/oai-nrf:develop - expose: - - 80/tcp - - 8080/tcp - environment: - - TZ=Europe/Paris - - NRF_INTERFACE_NAME_FOR_SBI=eth0 - networks: - public_net: - ipv4_address: 192.168.70.130 - oai-amf: - container_name: "oai-amf" - image: oaisoftwarealliance/oai-amf:develop - expose: - - 80/tcp - - 8080/tcp - - 38412/sctp - environment: - - TZ=Europe/Paris - - MCC=208 - - MNC=95 - - REGION_ID=128 - - AMF_SET_ID=1 - - SERVED_GUAMI_MCC_0=208 - - SERVED_GUAMI_MNC_0=95 - - SERVED_GUAMI_REGION_ID_0=128 - - SERVED_GUAMI_AMF_SET_ID_0=1 - - SERVED_GUAMI_MCC_1=460 - - SERVED_GUAMI_MNC_1=11 - - SERVED_GUAMI_REGION_ID_1=10 - - SERVED_GUAMI_AMF_SET_ID_1=1 - - PLMN_SUPPORT_MCC=208 - - PLMN_SUPPORT_MNC=95 - - PLMN_SUPPORT_TAC=0xa000 - # Slice 0 (222, 123) - - SST_0=222 - - SD_0=123 - # Slice 0 (128, 12) - - SST_1=128 - - SD_1=12 - - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - - AMF_INTERFACE_NAME_FOR_N11=eth0 - # One single SMF instance - - SMF_INSTANCE_ID_0=1 - - SMF_FQDN_0=oai-smf - - SMF_IPV4_ADDR_0=192.168.70.133 - - SMF_HTTP_VERSION_0=v2 - - SELECTED_0=true - - NF_REGISTRATION=yes - - SMF_SELECTION=yes - - USE_FQDN_DNS=yes - - EXTERNAL_AUSF=yes - - EXTERNAL_UDM=no - - EXTERNAL_NSSF=no - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=8080 - - NRF_FQDN=oai-nrf - - AUSF_IPV4_ADDRESS=192.168.70.138 - - AUSF_PORT=8080 - - AUSF_FQDN=oai-ausf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_PORT=8080 - - UDM_FQDN=oai-udm - #change for HTTP2 - - USE_HTTP2=yes - depends_on: - - mysql - - vpp-upf - - oai-ext-dn - - oai-ausf - networks: - public_net: - ipv4_address: 192.168.70.132 - oai-smf: - container_name: "oai-smf" - image: oaisoftwarealliance/oai-smf:develop - expose: - - 80/tcp - - 8080/tcp - - 8805/udp - environment: - - TZ=Europe/Paris - - SMF_INTERFACE_NAME_FOR_N4=eth0 - - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - - AMF_IPV4_ADDRESS=192.168.70.132 - - AMF_PORT=8080 - - AMF_FQDN=oai-amf - - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_PORT=8080 - - UDM_FQDN=oai-udm - - UPF_IPV4_ADDRESS=192.168.70.201 - - UPF_FQDN_0=vpp-upf.node.5gcn.mnc95.mcc208.3gppnetwork.org - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=8080 - - NRF_FQDN=oai-nrf - - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used - - USE_LOCAL_SUBSCRIPTION_INFO=yes #Set to yes if SMF uses local subscription information instead of from an UDM - - REGISTER_NRF=yes - - DISCOVER_UPF=yes - - USE_FQDN_DNS=yes - - ENABLE_USAGE_REPORTING=yes - - HTTP_VERSION=2 - # Slice 0 (1, 0xFFFFFF) - - DNN_NI0=oai - - TYPE0=IPv4 - - DNN_RANGE0=12.1.1.151 - 12.1.1.253 - - NSSAI_SST0=1 - - SESSION_AMBR_UL0=200Mbps - - SESSION_AMBR_DL0=400Mbps - # Slice 1 (1, 1) - - DNN_NI1=oai.ipv4 - - TYPE1=IPv4 - - DNN_RANGE1=12.1.1.51 - 12.1.1.150 - - NSSAI_SST1=1 - - NSSAI_SD1=1 - - SESSION_AMBR_UL1=100Mbps - - SESSION_AMBR_DL1=200Mbps - # Slice 2 (222, 123) - - DNN_NI2=default - - TYPE2=IPv4 - - DNN_RANGE2=12.1.1.2 - 12.1.1.50 - - NSSAI_SST2=222 - - NSSAI_SD2=123 - - SESSION_AMBR_UL2=50Mbps - - SESSION_AMBR_DL2=100Mbps - # Slice 3 for ims - - DNN_NI3=ims - - TYPE3=IPv4v6 - - DNN_RANGE3=14.1.1.2 - 14.1.1.253 - extra_hosts: - - "vpp-upf.node.5gcn.mnc95.mcc208.3gppnetwork.org:192.168.70.201" - depends_on: - - oai-amf - networks: - public_net: - ipv4_address: 192.168.70.133 - vpp-upf: - privileged: true - container_name: "vpp-upf" - image: oaisoftwarealliance/oai-upf-vpp:develop - environment: - - IF_1_IP=192.168.70.201 - - IF_1_TYPE=N4 - - IF_2_IP=192.168.72.201 - - IF_2_TYPE=N3 - - IF_2_NWI=access.oai.org - - IF_3_IP=192.168.73.201 - - IF_3_TYPE=N6 - - IF_3_IP_REMOTE=192.168.73.135 # EXT-DN IP Address - - IF_3_NWI=internet.oai.org - - NAME=VPP-UPF - - MNC=95 - - MCC=208 - - REALM=3gppnetwork.org - - VPP_MAIN_CORE=0 - - VPP_CORE_WORKER=1 -# - VPP_PLUGIN_PATH=/usr/lib64/vpp_plugins/ # RHEL7 - - VPP_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/vpp_plugins/ # Ubntu18.04 - - SNSSAI_SD=123 - - SNSSAI_SST=222 - - DNN=default - - REGISTER_NRF=yes - - NRF_IP_ADDR=192.168.70.130 - - NRF_PORT=8080 - - HTTP_VERSION=2 - depends_on: - - oai-nrf - healthcheck: - test: /bin/bash -c "pgrep vpp" - interval: 10s - timeout: 5s - retries: 5 - networks: - public_net: - ipv4_address: 192.168.70.134 - public_net_access: - ipv4_address: 192.168.72.134 - public_net_core: - ipv4_address: 192.168.73.134 - oai-ext-dn: - privileged: true - init: true - container_name: "oai-ext-dn" - image: oaisoftwarealliance/trf-gen-cn5g:latest - entrypoint: /bin/bash -c \ - "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\ - "ip route add 12.1.1.0/24 via 192.168.73.201 dev eth0; ip route; sleep infinity" - command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"] - healthcheck: - test: /bin/bash -c "iptables -L -t nat | grep MASQUERADE" - interval: 10s - timeout: 5s - retries: 5 - networks: - public_net_core: - ipv4_address: 192.168.73.135 -networks: - public_net: - driver: bridge - name: demo-oai-public-net - ipam: - config: - - subnet: 192.168.70.0/24 - driver_opts: - com.docker.network.bridge.name: "demo-oai" - public_net_access: - name: oai-public-access - ipam: - config: - - subnet: 192.168.72.0/24 - driver_opts: - com.docker.network.bridge.name: "cn5g-access" - public_net_core: - name: oai-public-core - ipam: - config: - - subnet: 192.168.73.0/24 - driver_opts: - com.docker.network.bridge.name: "cn5g-core" diff --git a/docker-compose/docker-compose-basic-vpp-nrf.yaml b/docker-compose/docker-compose-basic-vpp-nrf.yaml index 499171ba..2ca4d9c0 100644 --- a/docker-compose/docker-compose-basic-vpp-nrf.yaml +++ b/docker-compose/docker-compose-basic-vpp-nrf.yaml @@ -23,6 +23,9 @@ services: oai-udr: container_name: "oai-udr" image: oaisoftwarealliance/oai-udr:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - UDR_NAME=OAI_UDR @@ -36,6 +39,9 @@ services: - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 depends_on: - mysql - oai-nrf @@ -45,16 +51,23 @@ services: oai-udm: container_name: "oai-udm" image: oaisoftwarealliance/oai-udm:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - UDM_NAME=OAI_UDM - SBI_IF_NAME=eth0 - - REGISTER_NRF=yes - USE_FQDN_DNS=yes - UDR_IP_ADDRESS=192.168.70.136 + - UDR_PORT=8080 - UDR_FQDN=oai-udr + - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 depends_on: - oai-udr networks: @@ -63,16 +76,23 @@ services: oai-ausf: container_name: "oai-ausf" image: oaisoftwarealliance/oai-ausf:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - AUSF_NAME=OAI_AUSF - SBI_IF_NAME=eth0 - USE_FQDN_DNS=yes - - REGISTER_NRF=yes - UDM_IP_ADDRESS=192.168.70.137 - UDM_FQDN=oai-udm + - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - UDM_PORT=8080 + - NRF_PORT=8080 depends_on: - oai-udm networks: @@ -81,15 +101,26 @@ services: oai-nrf: container_name: "oai-nrf" image: oaisoftwarealliance/oai-nrf:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - NRF_INTERFACE_NAME_FOR_SBI=eth0 + # The default HTTP2 port is 8080 for all network functions + # It is shown here as example. + # If you wish to change, you have to specify it for each NF + - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 networks: public_net: ipv4_address: 192.168.70.130 oai-amf: container_name: "oai-amf" image: oaisoftwarealliance/oai-amf:develop + expose: + - 80/tcp + - 8080/tcp + - 38412/sctp environment: - TZ=Europe/Paris - MCC=208 @@ -121,8 +152,8 @@ services: - SMF_IPV4_ADDR_0=192.168.70.133 - SELECTED_0=true - NF_REGISTRATION=yes - - SMF_SELECTION=yes - USE_FQDN_DNS=yes + - SMF_SELECTION=yes - EXTERNAL_AUSF=yes - EXTERNAL_UDM=no - EXTERNAL_NSSF=no @@ -132,6 +163,11 @@ services: - AUSF_FQDN=oai-ausf - UDM_IPV4_ADDRESS=192.168.70.137 - UDM_FQDN=oai-udm + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 + - AUSF_PORT=8080 + - UDM_PORT=8080 depends_on: - mysql - vpp-upf @@ -143,6 +179,10 @@ services: oai-smf: container_name: "oai-smf" image: oaisoftwarealliance/oai-smf:develop + expose: + - 80/tcp + - 8080/tcp + - 8805/udp environment: - TZ=Europe/Paris - SMF_INTERFACE_NAME_FOR_N4=eth0 @@ -163,6 +203,12 @@ services: - DISCOVER_UPF=yes - USE_FQDN_DNS=yes - ENABLE_USAGE_REPORTING=yes + # changes for HTTP2 + - HTTP_VERSION=2 + - AMF_PORT=8080 + - UDM_PORT=8080 + - NRF_PORT=8080 + - UE_MTU=1500 # Slice 0 (1, 0xFFFFFF) - DNN_NI0=oai - TYPE0=IPv4 @@ -224,8 +270,9 @@ services: - DNN=default - REGISTER_NRF=yes - NRF_IP_ADDR=192.168.70.130 - - NRF_PORT=80 - - HTTP_VERSION=1 + #changes for HTTP2 + - NRF_PORT=8080 + - HTTP_VERSION=2 depends_on: - oai-nrf healthcheck: diff --git a/docker-compose/docker-compose-basic-vpp-pcf-ulcl.yaml b/docker-compose/docker-compose-basic-vpp-pcf-ulcl.yaml index b0ed2dea..fed6f333 100644 --- a/docker-compose/docker-compose-basic-vpp-pcf-ulcl.yaml +++ b/docker-compose/docker-compose-basic-vpp-pcf-ulcl.yaml @@ -23,15 +23,13 @@ services: oai-udr: container_name: "oai-udr" image: oaisoftwarealliance/oai-udr:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - UDR_NAME=OAI_UDR - UDR_INTERFACE_NAME_FOR_NUDR=eth0 - - UDR_INTERFACE_PORT_FOR_NUDR=80 - - UDR_INTERFACE_HTTP2_PORT_FOR_NUDR=8080 - - UDR_API_VERSION=v1 - MYSQL_IPV4_ADDRESS=192.168.70.131 - MYSQL_USER=test - MYSQL_PASS=test @@ -40,9 +38,10 @@ services: - USE_FQDN_DNS=yes - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=80 - - NRF_API_VERSION=v1 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 depends_on: - mysql - oai-nrf @@ -52,24 +51,23 @@ services: oai-udm: container_name: "oai-udm" image: oaisoftwarealliance/oai-udm:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - UDM_NAME=OAI_UDM - SBI_IF_NAME=eth0 - - SBI_PORT=80 - - UDM_VERSION_NB=v1 - USE_FQDN_DNS=yes - UDR_IP_ADDRESS=192.168.70.136 - - UDR_PORT=80 - - UDR_VERSION_NB=v1 + - UDR_PORT=8080 - UDR_FQDN=oai-udr - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=80 - - NRF_API_VERSION=v1 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 depends_on: - oai-udr networks: @@ -78,23 +76,23 @@ services: oai-ausf: container_name: "oai-ausf" image: oaisoftwarealliance/oai-ausf:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - - INSTANCE_ID=0 - - PID_DIR=/var/run - AUSF_NAME=OAI_AUSF - SBI_IF_NAME=eth0 - - SBI_PORT=80 - USE_FQDN_DNS=yes - UDM_IP_ADDRESS=192.168.70.137 - - UDM_PORT=80 - - UDM_VERSION_NB=v1 - UDM_FQDN=oai-udm - REGISTER_NRF=yes - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=80 - - NRF_API_VERSION=v1 - NRF_FQDN=oai-nrf + # changes for HTTP2 + - USE_HTTP2=yes + - UDM_PORT=8080 + - NRF_PORT=8080 depends_on: - oai-udm networks: @@ -103,23 +101,28 @@ services: oai-nrf: container_name: "oai-nrf" image: oaisoftwarealliance/oai-nrf:develop + expose: + - 80/tcp + - 8080/tcp environment: + - TZ=Europe/Paris - NRF_INTERFACE_NAME_FOR_SBI=eth0 - - NRF_INTERFACE_PORT_FOR_SBI=80 - - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=9090 - - NRF_API_VERSION=v1 - - INSTANCE=0 - - PID_DIRECTORY=/var/run + # The default HTTP2 port is 8080 for all network functions + # It is shown here as example. + # If you wish to change, you have to specify it for each NF + - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 networks: public_net: ipv4_address: 192.168.70.130 oai-amf: container_name: "oai-amf" image: oaisoftwarealliance/oai-amf:develop + expose: + - 80/tcp + - 8080/tcp + - 38412/sctp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - MCC=208 - MNC=95 - REGION_ID=128 @@ -135,46 +138,36 @@ services: - PLMN_SUPPORT_MCC=208 - PLMN_SUPPORT_MNC=95 - PLMN_SUPPORT_TAC=0xa000 + # Slice 0 (222, 123) - SST_0=222 - SD_0=123 + # Slice 0 (128, 12) - SST_1=128 - SD_1=12 - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - AMF_INTERFACE_NAME_FOR_N11=eth0 + # One single SMF instance - SMF_INSTANCE_ID_0=1 - SMF_FQDN_0=oai-smf - SMF_IPV4_ADDR_0=192.168.70.133 - - SMF_HTTP_VERSION_0=v1 - SELECTED_0=true - - SMF_INSTANCE_ID_1=2 - - SMF_FQDN_1=oai-smf - - SMF_IPV4_ADDR_1=0.0.0.0 - - SMF_HTTP_VERSION_1=v1 - - SELECTED_1=false - - MYSQL_SERVER=192.168.70.131 - - MYSQL_USER=root - - MYSQL_PASS=linux - - MYSQL_DB=oai_db - - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=80 - - EXTERNAL_NRF=yes - NF_REGISTRATION=yes - - SMF_SELECTION=yes - USE_FQDN_DNS=yes + - SMF_SELECTION=yes - EXTERNAL_AUSF=yes - EXTERNAL_UDM=no - EXTERNAL_NSSF=no - - USE_HTTP2=no - - NRF_API_VERSION=v1 + - NRF_IPV4_ADDRESS=192.168.70.130 - NRF_FQDN=oai-nrf - AUSF_IPV4_ADDRESS=192.168.70.138 - - AUSF_PORT=80 - - AUSF_API_VERSION=v1 - AUSF_FQDN=oai-ausf - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_PORT=80 - - UDM_API_VERSION=v2 - UDM_FQDN=oai-udm + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 + - AUSF_PORT=8080 + - UDM_PORT=8080 depends_on: - mysql - vpp-upf-ulcl @@ -189,49 +182,49 @@ services: oai-smf: container_name: "oai-smf" image: oaisoftwarealliance/oai-smf:develop + expose: + - 80/tcp + - 8080/tcp + - 8805/udp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - SMF_INTERFACE_NAME_FOR_N4=eth0 - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - SMF_INTERFACE_PORT_FOR_SBI=80 - - SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090 - - SMF_API_VERSION=v1 - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - AMF_IPV4_ADDRESS=192.168.70.132 - - AMF_PORT=80 - - AMF_API_VERSION=v1 - AMF_FQDN=oai-amf - UDM_IPV4_ADDRESS=192.168.70.137 - - UDM_PORT=80 - - UDM_API_VERSION=v2 - UDM_FQDN=oai-udm - UPF_IPV4_ADDRESS=192.168.70.201 - UPF_FQDN_0=ulcl.node.5gcn.mnc95.mcc208.3gppnetwork.org - NRF_IPV4_ADDRESS=192.168.70.130 - - NRF_PORT=80 - - NRF_API_VERSION=v1 - - PCF_FQDN=oai-pcf + - NRF_FQDN=oai-nrf - PCF_IPV4_ADDRESS=192.168.70.139 - - PCF_PORT=80 + - PCF_FQDN=oai-pcf - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used - USE_LOCAL_SUBSCRIPTION_INFO=yes #Set to yes if SMF uses local subscription information instead of from an UDM - USE_LOCAL_PCC_RULES=no #Set to yes if SMF uses local PCC rules instead of from a PCF - - NRF_FQDN=oai-nrf - REGISTER_NRF=yes - DISCOVER_UPF=yes - DISCOVER_PCF=no - USE_FQDN_DNS=no # Issue with PCF DNS resolving - ENABLE_USAGE_REPORTING=yes + # changes for HTTP2 + - HTTP_VERSION=2 + - AMF_PORT=8080 + - UDM_PORT=8080 + - NRF_PORT=8080 + - PCF_PORT=8080 + - UE_MTU=1500 + # Slice 0 (1, 0xFFFFFF) - DNN_NI0=oai - TYPE0=IPv4 - DNN_RANGE0=12.1.1.151 - 12.1.1.253 - NSSAI_SST0=1 - - NSSAI_SD0=0xFFFFFF - SESSION_AMBR_UL0=200Mbps - SESSION_AMBR_DL0=400Mbps + # Slice 1 (1, 1) - DNN_NI1=oai.ipv4 - TYPE1=IPv4 - DNN_RANGE1=12.1.1.51 - 12.1.1.150 @@ -239,6 +232,7 @@ services: - NSSAI_SD1=1 - SESSION_AMBR_UL1=100Mbps - SESSION_AMBR_DL1=200Mbps + # Slice 2 (222, 123) - DNN_NI2=default - TYPE2=IPv4 - DNN_RANGE2=12.1.1.2 - 12.1.1.50 @@ -246,6 +240,7 @@ services: - NSSAI_SD2=123 - SESSION_AMBR_UL2=50Mbps - SESSION_AMBR_DL2=100Mbps + # Slice 3 for ims - DNN_NI3=ims - TYPE3=IPv4v6 - DNN_RANGE3=14.1.1.2 - 14.1.1.253 @@ -260,20 +255,21 @@ services: public_net: ipv4_address: 192.168.70.133 oai-pcf: - image: oaisoftwarealliance/oai-pcf:develop container_name: "oai-pcf" + image: oaisoftwarealliance/oai-pcf:develop + expose: + - 80/tcp + - 8080/tcp environment: - PCF_NAME=OAI-PCF - SBI_IF_NAME=eth0 - - SBI_PORT_HTTP1=80 - - SBI_PORT_HTTP2=9090 - - SBI_API_VERSION=v1 - - SBI_HTTP_VERSION=1 + - SBI_PORT_HTTP2=8080 + #change for HTTP2 + - SBI_HTTP_VERSION=2 - REGISTER_NRF=yes - - CLIENT_HTTP_VERSION=1 + - CLIENT_HTTP_VERSION=2 - NRF_HOST=oai-nrf - - NRF_PORT=80 - - NRF_API_VERSION=v1 + - NRF_PORT=8080 - POLICY_DECISIONS_DIR=/openair-pcf/policies/policy_decisions - PCC_RULES_DIR=/openair-pcf/policies/pcc_rules - TRAFFIC_RULES_DIR=/openair-pcf/policies/traffic_rules @@ -285,9 +281,9 @@ services: public_net: ipv4_address: 192.168.70.139 vpp-upf-ulcl: + container_name: "vpp-upf-ulcl" image: oaisoftwarealliance/oai-upf-vpp:develop privileged: true - container_name: "vpp-upf-ulcl" environment: - IF_1_IP=192.168.70.201 - IF_1_TYPE=N4 @@ -316,8 +312,9 @@ services: - DNN=default - REGISTER_NRF=yes - NRF_IP_ADDR=192.168.70.130 - - NRF_PORT=80 - - HTTP_VERSION=1 + #changes for HTTP2 + - NRF_PORT=8080 + - HTTP_VERSION=2 depends_on: - oai-nrf healthcheck: @@ -363,8 +360,9 @@ services: - DNN=default - REGISTER_NRF=yes - NRF_IP_ADDR=192.168.70.130 - - NRF_PORT=80 - - HTTP_VERSION=1 + #changes for HTTP2 + - NRF_PORT=8080 + - HTTP_VERSION=2 depends_on: - oai-nrf healthcheck: @@ -408,8 +406,9 @@ services: - DNN=default - REGISTER_NRF=yes - NRF_IP_ADDR=192.168.70.130 - - NRF_PORT=80 - - HTTP_VERSION=1 + #changes for HTTP2 + - NRF_PORT=8080 + - HTTP_VERSION=2 depends_on: - oai-nrf healthcheck: diff --git a/docker-compose/docker-compose-slicing-basic-nrf.yaml b/docker-compose/docker-compose-slicing-basic-nrf.yaml index fad247eb..f4493e8b 100644 --- a/docker-compose/docker-compose-slicing-basic-nrf.yaml +++ b/docker-compose/docker-compose-slicing-basic-nrf.yaml @@ -1,7 +1,7 @@ version: '3.8' services: mysql: - container_name: mysql + container_name: "mysql" image: mysql:8.0 volumes: - ./database/oai_db2.sql:/docker-entrypoint-initdb.d/oai_db.sql @@ -23,17 +23,17 @@ services: oai-nssf: container_name: "oai-nssf" image: oaisoftwarealliance/oai-nssf:develop + expose: + - 80/tcp + - 8080/tcp environment: - - INSTANCE=0 - TZ=Europe/Paris - - PID_DIRECTORY=/var/run - NSSF_NAME=oai-nssf - NSSF_FQDN=nssf.oai-5gcn.eur - SBI_IF_NAME=eth0 - - SBI_PORT=80 - - SBI_API_VERSION=v1 - - SBI_PORT_HTTP1=80 - SBI_PORT_HTTP2=8080 + - SBI_API_VERSION=v1 + # NSSF is not registered to NRF - NSSF_SLICE_CONFIG=/openair-nssf/etc/nssf_slice_config.yaml cap_add: - NET_ADMIN @@ -47,100 +47,117 @@ services: public_net: ipv4_address: 192.168.70.132 oai_udr: - container_name: oai-udr + container_name: "oai-udr" image: oaisoftwarealliance/oai-udr:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run + - UDR_NAME=OAI_UDR - UDR_INTERFACE_NAME_FOR_NUDR=eth0 - - UDR_INTERFACE_PORT_FOR_NUDR=80 - - UDR_INTERFACE_HTTP2_PORT_FOR_NUDR=8080 - - UDR_API_VERSION=v1 - MYSQL_IPV4_ADDRESS=192.168.70.131 - MYSQL_USER=test - MYSQL_PASS=test - MYSQL_DB=oai_db - WAIT_MYSQL=120 + # UDR is not registered to NRF + # changes for HTTP2 + - USE_HTTP2=yes + - UDR_INTERFACE_HTTP2_PORT_FOR_NUDR=8080 depends_on: - mysql networks: public_net: ipv4_address: 192.168.70.133 oai_udm: - container_name: oai-udm + container_name: "oai-udm" image: oaisoftwarealliance/oai-udm:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - UDM_NAME=OAI_UDM - SBI_IF_NAME=eth0 - - SBI_PORT=80 - - UDM_VERSION_NB=v1 - USE_FQDN_DNS=yes + # UDM is not registered to NRF - UDR_IP_ADDRESS=192.168.70.133 - - UDR_PORT=80 - UDR_VERSION_NB=v1 - UDR_FQDN=oai_udr + # changes for HTTP2 + - USE_HTTP2=yes + - SBI_HTTP2_PORT=8080 + - UDR_PORT=8080 depends_on: - oai_udr networks: public_net: ipv4_address: 192.168.70.134 oai_ausf: - container_name: oai-ausf + container_name: "oai-ausf" image: oaisoftwarealliance/oai-ausf:develop + expose: + - 80/tcp + - 8080/tcp environment: - TZ=Europe/Paris - - INSTANCE_ID=0 - - PID_DIR=/var/run - AUSF_NAME=OAI_AUSF - SBI_IF_NAME=eth0 - - SBI_PORT=80 - USE_FQDN_DNS=yes + # AUSF is not registered to NRF - UDM_IP_ADDRESS=192.168.70.134 - - UDM_PORT=80 - UDM_VERSION_NB=v1 - UDM_FQDN=oai_udm + # changes for HTTP2 + - USE_HTTP2=yes + - UDM_PORT=8080 depends_on: - oai_udm networks: public_net: ipv4_address: 192.168.70.135 oai_nrf_slice12: - container_name: oai-nrf-slice12 + container_name: "oai-nrf-slice12" image: oaisoftwarealliance/oai-nrf:develop + expose: + - 80/tcp + - 8080/tcp environment: + - TZ=Europe/Paris - NRF_INTERFACE_NAME_FOR_SBI=eth0 - - NRF_INTERFACE_PORT_FOR_SBI=80 + # The default HTTP2 port is 8080 for all network functions + # It is shown here as example. + # If you wish to change, you have to specify it for each NF - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 - - NRF_API_VERSION=v1 - - INSTANCE=0 - - PID_DIRECTORY=/var/run networks: public_net: ipv4_address: 192.168.70.136 oai_nrf_slice3: - container_name: oai-nrf-slice3 + container_name: "oai-nrf-slice3" image: oaisoftwarealliance/oai-nrf:develop + expose: + - 80/tcp + - 8080/tcp environment: + - TZ=Europe/Paris - NRF_INTERFACE_NAME_FOR_SBI=eth0 - - NRF_INTERFACE_PORT_FOR_SBI=80 + # The default HTTP2 port is 8080 for all network functions + # It is shown here as example. + # If you wish to change, you have to specify it for each NF - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 - - NRF_API_VERSION=v1 - - INSTANCE=0 - - PID_DIRECTORY=/var/run networks: public_net: ipv4_address: 192.168.70.137 oai_amf: - container_name: oai-amf + container_name: "oai-amf" image: oaisoftwarealliance/oai-amf:develop + expose: + - 80/tcp + - 8080/tcp + - 38412/sctp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - MCC=208 - MNC=95 - REGION_ID=128 @@ -156,55 +173,50 @@ services: - PLMN_SUPPORT_MCC=208 - PLMN_SUPPORT_MNC=95 - PLMN_SUPPORT_TAC=0xa000 + # Slice 0 (128, 128) - SST_0=128 - SD_0=128 + # Slice 1 (1, 0xFFFFFF) - SST_1=1 - - SD_1=0xFFFFFF + # Slice 2 (130, 130) - SST_2=130 - SD_2=130 - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - AMF_INTERFACE_NAME_FOR_N11=eth0 + # First SMF instance - SMF_INSTANCE_ID_0=1 - SMF_FQDN_0=oai_smf_slice1 - - SMF_IPV4_ADDR_0=0.0.0.0 - SMF_HTTP_VERSION_0=v1 - SELECTED_0=true + # Second SMF instance - SMF_INSTANCE_ID_1=2 - SMF_FQDN_1=oai_smf_slice2 - - SMF_IPV4_ADDR_1=0.0.0.0 - SMF_HTTP_VERSION_1=v1 - SELECTED_1=false - - MYSQL_SERVER=192.168.70.131 - - MYSQL_USER=root - - MYSQL_PASS=linux - - MYSQL_DB=oai_db - - OPERATOR_KEY=63bfa50ee6523365ff14c1f45f88737d - - NRF_IPV4_ADDRESS=0.0.0.0 - - NRF_PORT=80 + # Feature list - EXTERNAL_NRF=no - - NF_REGISTRATION=no + - NRF_SELECTION=yes - SMF_SELECTION=yes - USE_FQDN_DNS=yes - EXTERNAL_AUSF=yes - - NRF_API_VERSION=v1 + - EXTERNAL_NSSF=yes + - INT_ALGO_LIST=["NIA1" , "NIA2"] + - CIPH_ALGO_LIST=["NEA1" , "NEA2"] + # Other NF + - NRF_IPV4_ADDRESS=192.168.70.136 - NRF_FQDN=oai_nrf_slice12 - AUSF_IPV4_ADDRESS=192.168.70.135 - - AUSF_PORT=80 - - AUSF_API_VERSION=v1 - AUSF_FQDN=oai_ausf - UDM_IPV4_ADDRESS=192.168.70.134 - - UDM_PORT=80 - - UDM_API_VERSION=v2 - UDM_FQDN=oai_udm - - NRF_SELECTION=yes - - EXTERNAL_NSSF=yes - NSSF_IPV4_ADDRESS=192.168.70.132 - - NSSF_PORT=80 - - NSSF_API_VERSION=v1 - NSSF_FQDN=oai-nssf - - USE_HTTP2=no - - INT_ALGO_LIST=["NIA1" , "NIA2"] - - CIPH_ALGO_LIST=["NEA1" , "NEA2"] + # changes for HTTP2 + - USE_HTTP2=yes + - NRF_PORT=8080 + - AUSF_PORT=8080 + - UDM_PORT=8080 + - NSSF_PORT=8080 depends_on: - mysql - oai_nrf_slice12 @@ -214,32 +226,26 @@ services: public_net: ipv4_address: 192.168.70.138 oai_smf_slice1: - container_name: oai-smf-slice1 + container_name: "oai-smf-slice1" image: oaisoftwarealliance/oai-smf:develop + expose: + - 80/tcp + - 8080/tcp + - 8805/udp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - SMF_INTERFACE_NAME_FOR_N4=eth0 - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - SMF_INTERFACE_PORT_FOR_SBI=80 - SMF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 - - SMF_API_VERSION=v1 - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - AMF_IPV4_ADDRESS=192.168.70.138 - - AMF_PORT=80 - - AMF_API_VERSION=v1 - AMF_FQDN=oai_amf - UDM_IPV4_ADDRESS=192.168.70.134 - - UDM_PORT=80 - - UDM_API_VERSION=v2 - UDM_FQDN=oai_udm - UPF_IPV4_ADDRESS=127.0.0.1 - UPF_FQDN_0=localhost - NRF_IPV4_ADDRESS=192.168.70.136 - - NRF_PORT=80 - - NRF_API_VERSION=v1 - NRF_FQDN=oai_nrf_slice12 - REGISTER_NRF=yes - DISCOVER_UPF=yes @@ -247,6 +253,7 @@ services: - USE_LOCAL_SUBSCRIPTION_INFO=yes - USE_LOCAL_PCC_RULES=yes - USE_FQDN_DNS=yes + # One single slice is defined. - DNN_NI0=default - TYPE0=IPv4 - DNN_RANGE0=12.2.1.2 - 12.2.1.128 @@ -254,6 +261,11 @@ services: - NSSAI_SD0=128 - SESSION_AMBR_UL0=50Mbps - SESSION_AMBR_DL0=100Mbps + # changes for HTTP2 + - HTTP_VERSION=2 + - AMF_PORT=8080 + - UDM_PORT=8080 + - NRF_PORT=8080 depends_on: - oai_amf - oai_nrf_slice12 @@ -261,32 +273,26 @@ services: public_net: ipv4_address: 192.168.70.139 oai_smf_slice2: - container_name: oai-smf-slice2 + container_name: "oai-smf-slice2" image: oaisoftwarealliance/oai-smf:develop + expose: + - 80/tcp + - 8080/tcp + - 8805/udp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - SMF_INTERFACE_NAME_FOR_N4=eth0 - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - SMF_INTERFACE_PORT_FOR_SBI=80 - SMF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 - - SMF_API_VERSION=v1 - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - AMF_IPV4_ADDRESS=192.168.70.138 - - AMF_PORT=80 - - AMF_API_VERSION=v1 - AMF_FQDN=oai_amf - UDM_IPV4_ADDRESS=192.168.70.134 - - UDM_PORT=80 - - UDM_API_VERSION=v2 - UDM_FQDN=localhost - UPF_IPV4_ADDRESS=0.0.0.0 - UPF_FQDN_0=localhost - NRF_IPV4_ADDRESS=192.168.70.136 - - NRF_PORT=80 - - NRF_API_VERSION=v1 - NRF_FQDN=oai_nrf_slice12 - REGISTER_NRF=yes - DISCOVER_UPF=yes @@ -294,12 +300,18 @@ services: - USE_LOCAL_SUBSCRIPTION_INFO=yes - USE_LOCAL_PCC_RULES=yes - USE_FQDN_DNS=yes + # One single slice is defined. - DNN_NI0=oai - TYPE0=IPv4 - DNN_RANGE0=12.1.1.129 - 12.1.1.224 - NSSAI_SST0=1 - SESSION_AMBR_UL0=200Mbps - SESSION_AMBR_DL0=400Mbps + # changes for HTTP2 + - HTTP_VERSION=2 + - AMF_PORT=8080 + - UDM_PORT=8080 + - NRF_PORT=8080 depends_on: - oai_amf - oai_nrf_slice12 @@ -307,32 +319,26 @@ services: public_net: ipv4_address: 192.168.70.140 oai_smf_slice3: - container_name: oai-smf-slice3 + container_name: "oai-smf-slice3" image: oaisoftwarealliance/oai-smf:develop + expose: + - 80/tcp + - 8080/tcp + - 8805/udp environment: - TZ=Europe/Paris - - INSTANCE=0 - - PID_DIRECTORY=/var/run - SMF_INTERFACE_NAME_FOR_N4=eth0 - SMF_INTERFACE_NAME_FOR_SBI=eth0 - - SMF_INTERFACE_PORT_FOR_SBI=80 - SMF_INTERFACE_HTTP2_PORT_FOR_SBI=8080 - - SMF_API_VERSION=v1 - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 - DEFAULT_DNS_SEC_IPV4_ADDRESS=8.8.8.8 - AMF_IPV4_ADDRESS=192.168.70.138 - - AMF_PORT=80 - - AMF_API_VERSION=v1 - AMF_FQDN=oai_amf - UDM_IPV4_ADDRESS=192.168.70.134 - - UDM_PORT=80 - - UDM_API_VERSION=v2 - UDM_FQDN=localhost - UPF_IPV4_ADDRESS=0.0.0.0 - UPF_FQDN_0=localhost - NRF_IPV4_ADDRESS=192.168.70.137 - - NRF_PORT=80 - - NRF_API_VERSION=v1 - NRF_FQDN=oai_nrf_slice3 - REGISTER_NRF=yes - DISCOVER_UPF=yes @@ -340,6 +346,7 @@ services: - USE_LOCAL_SUBSCRIPTION_INFO=yes - USE_LOCAL_PCC_RULES=yes - USE_FQDN_DNS=yes + # One single slice is defined. - DNN_NI0=oai.ipv4 - TYPE0=IPv4 - DNN_RANGE0=12.1.1.2 - 12.1.1.128 @@ -347,6 +354,11 @@ services: - NSSAI_SD0=130 - SESSION_AMBR_UL0=100Mbps - SESSION_AMBR_DL0=200Mbps + # changes for HTTP2 + - HTTP_VERSION=2 + - AMF_PORT=8080 + - UDM_PORT=8080 + - NRF_PORT=8080 depends_on: - oai_amf - oai_nrf_slice3 @@ -356,31 +368,30 @@ services: public_net: ipv4_address: 192.168.70.141 oai_spgwu_slice1: - container_name: oai-spgwu-slice1 + container_name: "oai-spgwu-slice1" image: oaisoftwarealliance/oai-spgwu-tiny:develop + expose: + - 2152/udp + - 8805/udp + - 8080/tcp environment: - TZ=Europe/Paris - - PID_DIRECTORY=/var/run - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0 - SGW_INTERFACE_NAME_FOR_SX=eth0 - PGW_INTERFACE_NAME_FOR_SGI=eth0 - NETWORK_UE_NAT_OPTION=yes - NETWORK_UE_IP=12.2.1.0/24 - - BYPASS_UL_PFCP_RULES=no - - MCC=208 - - MNC=95 - - MNC03=095 - - TAC=40960 - - GW_ID=1 - - REALM=openairinterface.org - ENABLE_5G_FEATURES=yes - REGISTER_NRF=yes - USE_FQDN_NRF=yes - UPF_FQDN_5G=oai_spgwu_slice1 - NRF_IPV4_ADDRESS=192.168.70.136 - - NRF_PORT=80 - NRF_API_VERSION=v1 - NRF_FQDN=oai_nrf_slice12 + # Mandatory to set the NRF PORT to 8080 (it is set to default to 80 otherwise) + - HTTP_VERSION=2 + - NRF_PORT=8080 + # One single slice / DNN is defined - NSSAI_SST_0=128 - NSSAI_SD_0=128 - DNN_0=default @@ -397,31 +408,30 @@ services: public_net: ipv4_address: 192.168.70.142 oai_spgwu_slice2: - container_name: oai-spgwu-slice2 + container_name: "oai-spgwu-slice2" image: oaisoftwarealliance/oai-spgwu-tiny:develop + expose: + - 2152/udp + - 8805/udp + - 8080/tcp environment: - TZ=Europe/Paris - - PID_DIRECTORY=/var/run - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0 - SGW_INTERFACE_NAME_FOR_SX=eth0 - PGW_INTERFACE_NAME_FOR_SGI=eth0 - NETWORK_UE_NAT_OPTION=yes - NETWORK_UE_IP=12.1.1.0/24 - - BYPASS_UL_PFCP_RULES=no - - MCC=208 - - MNC=95 - - MNC03=095 - - TAC=40960 - - GW_ID=1 - - REALM=openairinterface.org - ENABLE_5G_FEATURES=yes - REGISTER_NRF=yes - USE_FQDN_NRF=yes - UPF_FQDN_5G=oai_spgwu_slice2 - NRF_IPV4_ADDRESS=192.168.70.136 - - NRF_PORT=80 - NRF_API_VERSION=v1 - NRF_FQDN=oai_nrf_slice12 + # Mandatory to set the NRF PORT to 8080 (it is set to default to 80 otherwise) + - HTTP_VERSION=2 + - NRF_PORT=8080 + # One single slice / DNN is defined - NSSAI_SST_0=1 - DNN_0=oai depends_on: @@ -436,9 +446,9 @@ services: public_net: ipv4_address: 192.168.70.143 vpp_upf_slice3: + container_name: "vpp-upf-slice3" image: oaisoftwarealliance/oai-upf-vpp:develop privileged: true - container_name: vpp-upf-slice3 environment: - IF_1_IP=192.168.70.201 - IF_1_TYPE=N4 diff --git a/docker-compose/nssf_slice_config.yaml b/docker-compose/nssf_slice_config.yaml index 750ddf90..73979086 100644 --- a/docker-compose/nssf_slice_config.yaml +++ b/docker-compose/nssf_slice_config.yaml @@ -8,18 +8,18 @@ configuration: sst: 128 sd: '128' nsiInformationList: - nrfId: http://192.168.70.136:80/nnrf-disc/v1/nf-instances + nrfId: http://192.168.70.136:8080/nnrf-disc/v1/nf-instances nsiId: '11' - snssai: sst: 1 nsiInformationList: - nrfId: http://192.168.70.136:80/nnrf-disc/v1/nf-instances + nrfId: http://192.168.70.136:8080/nnrf-disc/v1/nf-instances nsiId: '12' - snssai: sst: 130 sd: '130' nsiInformationList: - nrfId: http://192.168.70.137:80/nnrf-disc/v1/nf-instances + nrfId: http://192.168.70.137:8080/nnrf-disc/v1/nf-instances nsiId: '12' - snssai: sst: 222 @@ -110,4 +110,4 @@ configuration: mnc: 95 tac: 33460 supportedSnssaiList: - - sst: 133 \ No newline at end of file + - sst: 133 diff --git a/docs/DEPLOY_SA5G_BASIC_DEPLOYMENT.md b/docs/DEPLOY_SA5G_BASIC_DEPLOYMENT.md index de709d36..37eef0c4 100644 --- a/docs/DEPLOY_SA5G_BASIC_DEPLOYMENT.md +++ b/docs/DEPLOY_SA5G_BASIC_DEPLOYMENT.md @@ -168,7 +168,7 @@ Since this is not the `default` behavior, you **have to** edit the docker-compos - Though the bridge can be automatically created using docker-compose file if there is no need to capture initial packets. -This is the `default` version in the [docker-compose-basic-nrf.yaml](../docker-compose/docker-compose-basic-nrf.yaml) or `docker-compose-basic-nonrf.yaml`. +This is the `default` version in the [docker-compose-basic-nrf.yaml](../docker-compose/docker-compose-basic-nrf.yaml). The bottom section SHALL look like this: diff --git a/docs/DEPLOY_SA5G_BASIC_STATIC_UE_IP.md b/docs/DEPLOY_SA5G_BASIC_STATIC_UE_IP.md index 28c97c98..4e0fc2d5 100644 --- a/docs/DEPLOY_SA5G_BASIC_STATIC_UE_IP.md +++ b/docs/DEPLOY_SA5G_BASIC_STATIC_UE_IP.md @@ -68,19 +68,13 @@ docker-compose-host $: chmod 777 /tmp/oai/static-ue-ip Edit the correct docker-compose file of Basic OAI 5G core network, set the parameter `USE_LOCAL_SUBSCRIPTION_INFO` to `no` in the smf service configuration of the docker-compose file. -- If using nrf [docker-compose file with nrf](../docker-compose/docker-compose-basic-nrf.yaml) +- When using nrf [docker-compose file with nrf](../docker-compose/docker-compose-basic-nrf.yaml) ``` shell docker-compose-host $: sed -i 's/USE_LOCAL_SUBSCRIPTION_INFO=yes/USE_LOCAL_SUBSCRIPTION_INFO=no/g' docker-compose-basic-nrf.yaml docker-compose-host $: sed -i 's/SMF_SELECTION=yes/SMF_SELECTION=no/g' docker-compose-basic-nrf.yaml ``` -- If not using nrf [docker-compose file without nrf](../docker-compose/docker-compose-basic-nonrf.yaml) - -``` console -docker-compose-host $: sed -i 's/USE_LOCAL_SUBSCRIPTION_INFO=yes/USE_LOCAL_SUBSCRIPTION_INFO=no/g' docker-compose-basic-nonrf.yaml -``` - Then configure the [user subscription database sql file](../docker-compose/database/oai_db2.sql) with IMSI and DNN information mapping. In the table `SessionManagementSubscriptionData` add below entries - Static UE ip-address allocation -- GitLab