From c5294fa53c7fa382f305d4bb3d96fdeca73e2079 Mon Sep 17 00:00:00 2001 From: Mohammed Ismail <mohammed.ismail@openairinterface.org> Date: Tue, 10 Aug 2021 11:04:29 +0200 Subject: [PATCH] CI: docker-compose updated to integrate ausf, udm ,udr Signed-off-by: Mohammed Ismail <mohammed.ismail@openairinterface.org> --- .../ausf-healthy-check.sh | 13 + .../dsTesterDockerCompose/docker-compose.tplt | 122 ++++++- ci-scripts/dsTesterDockerCompose/oai_db.sql | 309 ++++++++++++++++++ .../udm-healthy-check.sh | 13 + .../udr-healthy-check.sh | 13 + 5 files changed, 467 insertions(+), 3 deletions(-) create mode 100755 ci-scripts/dsTesterDockerCompose/ausf-healthy-check.sh create mode 100644 ci-scripts/dsTesterDockerCompose/oai_db.sql create mode 100755 ci-scripts/dsTesterDockerCompose/udm-healthy-check.sh create mode 100755 ci-scripts/dsTesterDockerCompose/udr-healthy-check.sh diff --git a/ci-scripts/dsTesterDockerCompose/ausf-healthy-check.sh b/ci-scripts/dsTesterDockerCompose/ausf-healthy-check.sh new file mode 100755 index 00000000..d004b773 --- /dev/null +++ b/ci-scripts/dsTesterDockerCompose/ausf-healthy-check.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +STATUS=0 + +RESULT=$(ps aux | grep -v nohup || true) +SUB='/openair-ausf/bin/oai_ausf -c /openair-ausf/etc/ausf.conf -o' +if [[ $RESULT =~ $SUB ]]; then + STATUS=0 +else + STATUS=-1 +fi + +exit $STATUS diff --git a/ci-scripts/dsTesterDockerCompose/docker-compose.tplt b/ci-scripts/dsTesterDockerCompose/docker-compose.tplt index 3af23cad..34109871 100644 --- a/ci-scripts/dsTesterDockerCompose/docker-compose.tplt +++ b/ci-scripts/dsTesterDockerCompose/docker-compose.tplt @@ -7,7 +7,7 @@ services: - 3306 command: --init-file /docker-entrypoint-initdb.d/oai_db.sql volumes: - - ../../docker-compose/oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql:rw + - ./oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql:rw environment: - TZ=Europe/Paris - MYSQL_DATABASE=oai_db @@ -23,6 +23,118 @@ services: cicd_public_net: ipv4_address: 192.168.61.194 + cicd_oai_udr: + container_name: cicd-oai-udr + image: oai-udr:UDR_IMAGE_TAG + ports: + - 80 + command: > + bash -c "nohup tshark -i eth0 -w /tmp/udr.pcap 2>&1 > /dev/null & + /openair-udr/bin/oai_udr -c /openair-udr/etc/udr.conf -o | tee /tmp/udr.log 2>&1 + " + cap_add: + - NET_ADMIN + environment: + - TZ=Europe/Paris + - INSTANCE=1 + - PID_DIRECTORY=/var/run + - 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.61.194 + - MYSQL_USER=test + - MYSQL_PASS=test + - MYSQL_DB=oai_db + - WAIT_MYSQL=120 + depends_on: + - cicd_mysql + networks: + cicd_public_net: + ipv4_address: 192.168.61.200 + volumes: + - ./udr-healthy-check.sh:/openair-udr/bin/udr-healthy-check.sh + healthcheck: + test: /bin/bash -c "/openair-udr/bin/udr-healthy-check.sh" + interval: 10s + timeout: 5s + retries: 5 + + cicd_oai_udm: + container_name: cicd-oai-udm + image: oai-udm:UDM_IMAGE_TAG + ports: + - 80 + command: > + bash -c "nohup tshark -i eth0 -w /tmp/udm.pcap 2>&1 > /dev/null & + /openair-udm/bin/oai_udm -c /openair-udm/etc/udm.conf -o | tee /tmp/udm.log 2>&1 + " + cap_add: + - NET_ADMIN + environment: + - TZ=Europe/Paris + - INSTANCE=1 + - PID_DIRECTORY=/var/run + - UDM_NAME=OAI_UDM + - SBI_IF_NAME=eth0 + - SBI_PORT=80 + - UDM_VERSION_NB=v1 + - UDR_IP_ADDRESS=192.168.61.200 + - UDR_PORT=80 + - UDR_VERSION_NB=v1 + depends_on: + - cicd_mysql + - cicd_oai_udr + networks: + cicd_public_net: + ipv4_address: 192.168.61.201 + volumes: + - ./udm-healthy-check.sh:/openair-udm/bin/udm-healthy-check.sh + healthcheck: + test: /bin/bash -c "/openair-udm/bin/udm-healthy-check.sh" + interval: 10s + timeout: 5s + retries: 5 + + cicd_oai_ausf: + container_name: cicd-oai-ausf + image: oai-ausf:AUSF_IMAGE_TAG + ports: + - 80 + command: > + bash -c "nohup tshark -i eth0 -w /tmp/ausf.pcap 2>&1 > /dev/null & + /openair-ausf/bin/oai_ausf -c /openair-ausf/etc/ausf.conf -o | tee /tmp/ausf.log 2>&1 + " + cap_add: + - NET_ADMIN + environment: + - TZ=Europe/Paris + - INSTANCE_ID=1 + - PID_DIR=/var/run + - AUSF_NAME=OAI_AUSF + - SBI_IF_NAME=eth0 + - SBI_PORT=80 + - UDM_IP_ADDRESS=192.168.61.201 + - UDM_PORT=80 + - UDM_VERSION_NB=v1 + - AMF_IP_ADDRESS=192.168.61.196 + - AMF_PORT=80 + - AMF_VERSION_NB=v1 + depends_on: + - cicd_mysql + - cicd_oai_udr + - cicd_oai_udm + networks: + cicd_public_net: + ipv4_address: 192.168.61.199 + volumes: + - ./ausf-healthy-check.sh:/openair-ausf/bin/ausf-healthy-check.sh + healthcheck: + test: /bin/bash -c "/openair-ausf/bin/ausf-healthy-check.sh" + interval: 10s + timeout: 5s + retries: 5 + cicd_oai_nrf: container_name: cicd-oai-nrf image: oai-nrf:NRF_IMAGE_TAG @@ -109,15 +221,19 @@ services: - NRF_PORT=80 - NF_REGISTRATION=yes - SMF_SELECTION=yes - - USE_FQDN_DNS=yes + - USE_FQDN_DNS=no + - EXTERNAL_AUSF=yes - NRF_API_VERSION=v1 - NRF_FQDN=cicd_oai_nrf - - AUSF_IPV4_ADDRESS=192.168.61.210 + - AUSF_IPV4_ADDRESS=192.168.61.199 - AUSF_PORT=80 - AUSF_API_VERSION=v1 depends_on: - cicd_mysql - cicd_oai_nrf + - cicd_oai_udr + - cicd_oai_udm + - cicd_oai_ausf networks: cicd_public_net: ipv4_address: 192.168.61.196 diff --git a/ci-scripts/dsTesterDockerCompose/oai_db.sql b/ci-scripts/dsTesterDockerCompose/oai_db.sql new file mode 100644 index 00000000..836cb62c --- /dev/null +++ b/ci-scripts/dsTesterDockerCompose/oai_db.sql @@ -0,0 +1,309 @@ +-- phpMyAdmin SQL Dump +-- version 5.1.0 +-- https://www.phpmyadmin.net/ +-- +-- Host: 172.16.200.10:3306 +-- Generation Time: Mar 22, 2021 at 10:31 AM +-- Server version: 5.7.33 +-- PHP Version: 7.4.15 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `oai_db` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `AccessAndMobilitySubscriptionData` +-- + +CREATE TABLE `AccessAndMobilitySubscriptionData` ( + `ueid` varchar(15) NOT NULL, + `servingPlmnid` varchar(15) NOT NULL, + `supportedFeatures` varchar(50) DEFAULT NULL, + `gpsis` json DEFAULT NULL, + `internalGroupIds` json DEFAULT NULL, + `sharedVnGroupDataIds` json DEFAULT NULL, + `subscribedUeAmbr` json DEFAULT NULL, + `nssai` json DEFAULT NULL, + `ratRestrictions` json DEFAULT NULL, + `forbiddenAreas` json DEFAULT NULL, + `serviceAreaRestriction` json DEFAULT NULL, + `coreNetworkTypeRestrictions` json DEFAULT NULL, + `rfspIndex` int(10) DEFAULT NULL, + `subsRegTimer` int(10) DEFAULT NULL, + `ueUsageType` int(10) DEFAULT NULL, + `mpsPriority` tinyint(1) DEFAULT NULL, + `mcsPriority` tinyint(1) DEFAULT NULL, + `activeTime` int(10) DEFAULT NULL, + `sorInfo` json DEFAULT NULL, + `sorInfoExpectInd` tinyint(1) DEFAULT NULL, + `sorafRetrieval` tinyint(1) DEFAULT NULL, + `sorUpdateIndicatorList` json DEFAULT NULL, + `upuInfo` json DEFAULT NULL, + `micoAllowed` tinyint(1) DEFAULT NULL, + `sharedAmDataIds` json DEFAULT NULL, + `odbPacketServices` json DEFAULT NULL, + `serviceGapTime` int(10) DEFAULT NULL, + `mdtUserConsent` json DEFAULT NULL, + `mdtConfiguration` json DEFAULT NULL, + `traceData` json DEFAULT NULL, + `cagData` json DEFAULT NULL, + `stnSr` varchar(50) DEFAULT NULL, + `cMsisdn` varchar(50) DEFAULT NULL, + `nbIoTUePriority` int(10) DEFAULT NULL, + `nssaiInclusionAllowed` tinyint(1) DEFAULT NULL, + `rgWirelineCharacteristics` varchar(50) DEFAULT NULL, + `ecRestrictionDataWb` json DEFAULT NULL, + `ecRestrictionDataNb` tinyint(1) DEFAULT NULL, + `expectedUeBehaviourList` json DEFAULT NULL, + `primaryRatRestrictions` json DEFAULT NULL, + `secondaryRatRestrictions` json DEFAULT NULL, + `edrxParametersList` json DEFAULT NULL, + `ptwParametersList` json DEFAULT NULL, + `iabOperationAllowed` tinyint(1) DEFAULT NULL, + `wirelineForbiddenAreas` json DEFAULT NULL, + `wirelineServiceAreaRestriction` json DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `Amf3GppAccessRegistration` +-- + +CREATE TABLE `Amf3GppAccessRegistration` ( + `ueid` varchar(15) NOT NULL, + `amfInstanceId` varchar(50) NOT NULL, + `supportedFeatures` varchar(50) DEFAULT NULL, + `purgeFlag` tinyint(1) DEFAULT NULL, + `pei` varchar(50) DEFAULT NULL, + `imsVoPs` json DEFAULT NULL, + `deregCallbackUri` varchar(50) NOT NULL, + `amfServiceNameDereg` json DEFAULT NULL, + `pcscfRestorationCallbackUri` varchar(50) DEFAULT NULL, + `amfServiceNamePcscfRest` json DEFAULT NULL, + `initialRegistrationInd` tinyint(1) DEFAULT NULL, + `guami` json NOT NULL, + `backupAmfInfo` json DEFAULT NULL, + `drFlag` tinyint(1) DEFAULT NULL, + `ratType` json NOT NULL, + `urrpIndicator` tinyint(1) DEFAULT NULL, + `amfEeSubscriptionId` varchar(50) DEFAULT NULL, + `epsInterworkingInfo` json DEFAULT NULL, + `ueSrvccCapability` tinyint(1) DEFAULT NULL, + `registrationTime` varchar(50) DEFAULT NULL, + `vgmlcAddress` json DEFAULT NULL, + `contextInfo` json DEFAULT NULL, + `noEeSubscriptionInd` tinyint(1) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `AuthenticationStatus` +-- + +CREATE TABLE `AuthenticationStatus` ( + `ueid` varchar(20) NOT NULL, + `nfInstanceId` varchar(50) NOT NULL, + `success` tinyint(1) NOT NULL, + `timeStamp` varchar(50) NOT NULL, + `authType` varchar(25) NOT NULL, + `servingNetworkName` varchar(50) NOT NULL, + `authRemovalInd` tinyint(1) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `AuthenticationSubscription` +-- + +CREATE TABLE `AuthenticationSubscription` ( + `ueid` varchar(20) NOT NULL, + `authenticationMethod` varchar(25) NOT NULL, + `encPermanentKey` varchar(50) DEFAULT NULL, + `protectionParameterId` varchar(50) DEFAULT NULL, + `sequenceNumber` json DEFAULT NULL, + `authenticationManagementField` varchar(50) DEFAULT NULL, + `algorithmId` varchar(50) DEFAULT NULL, + `encOpcKey` varchar(50) DEFAULT NULL, + `encTopcKey` varchar(50) DEFAULT NULL, + `vectorGenerationInHss` tinyint(1) DEFAULT NULL, + `n5gcAuthMethod` varchar(15) DEFAULT NULL, + `rgAuthenticationInd` tinyint(1) DEFAULT NULL, + `supi` varchar(20) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `AuthenticationSubscription` +-- + +INSERT INTO `AuthenticationSubscription` (`ueid`, `authenticationMethod`, `encPermanentKey`, `protectionParameterId`, `sequenceNumber`, `authenticationManagementField`, `algorithmId`, `encOpcKey`, `encTopcKey`, `vectorGenerationInHss`, `n5gcAuthMethod`, `rgAuthenticationInd`, `supi`) VALUES +('208950000000031', '5G_AKA', '0C0A34601D4F07677303652C0462535B', '0C0A34601D4F07677303652C0462535B', '{\"sqn\": \"000000000020\", \"sqnScheme\": \"NON_TIME_BASED\", \"lastIndexes\": {\"ausf\": 0}}', '8000', 'milenage', '63bfa50ee6523365ff14c1f45f88737d', NULL, NULL, NULL, NULL, '208950000000031'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `SdmSubscriptions` +-- + +CREATE TABLE `SdmSubscriptions` ( + `ueid` varchar(15) NOT NULL, + `subsId` int(10) UNSIGNED NOT NULL, + `nfInstanceId` varchar(50) NOT NULL, + `implicitUnsubscribe` tinyint(1) DEFAULT NULL, + `expires` varchar(50) DEFAULT NULL, + `callbackReference` varchar(50) NOT NULL, + `amfServiceName` json DEFAULT NULL, + `monitoredResourceUris` json NOT NULL, + `singleNssai` json DEFAULT NULL, + `dnn` varchar(50) DEFAULT NULL, + `subscriptionId` varchar(50) DEFAULT NULL, + `plmnId` json DEFAULT NULL, + `immediateReport` tinyint(1) DEFAULT NULL, + `report` json DEFAULT NULL, + `supportedFeatures` varchar(50) DEFAULT NULL, + `contextInfo` json DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `SessionManagementSubscriptionData` +-- + +CREATE TABLE `SessionManagementSubscriptionData` ( + `ueid` varchar(15) NOT NULL, + `servingPlmnid` varchar(15) NOT NULL, + `singleNssai` json NOT NULL, + `dnnConfigurations` json DEFAULT NULL, + `internalGroupIds` json DEFAULT NULL, + `sharedVnGroupDataIds` json DEFAULT NULL, + `sharedDnnConfigurationsId` varchar(50) DEFAULT NULL, + `odbPacketServices` json DEFAULT NULL, + `traceData` json DEFAULT NULL, + `sharedTraceDataId` varchar(50) DEFAULT NULL, + `expectedUeBehavioursList` json DEFAULT NULL, + `suggestedPacketNumDlList` json DEFAULT NULL, + `3gppChargingCharacteristics` varchar(50) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `SmfRegistrations` +-- + +CREATE TABLE `SmfRegistrations` ( + `ueid` varchar(15) NOT NULL, + `subpduSessionId` int(10) NOT NULL, + `smfInstanceId` varchar(50) NOT NULL, + `smfSetId` varchar(50) DEFAULT NULL, + `supportedFeatures` varchar(50) DEFAULT NULL, + `pduSessionId` int(10) NOT NULL, + `singleNssai` json NOT NULL, + `dnn` varchar(50) DEFAULT NULL, + `emergencyServices` tinyint(1) DEFAULT NULL, + `pcscfRestorationCallbackUri` varchar(50) DEFAULT NULL, + `plmnId` json NOT NULL, + `pgwFqdn` varchar(50) DEFAULT NULL, + `epdgInd` tinyint(1) DEFAULT NULL, + `deregCallbackUri` varchar(50) DEFAULT NULL, + `registrationReason` json DEFAULT NULL, + `registrationTime` varchar(50) DEFAULT NULL, + `contextInfo` json DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `SmfSelectionSubscriptionData` +-- + +CREATE TABLE `SmfSelectionSubscriptionData` ( + `ueid` varchar(15) NOT NULL, + `servingPlmnid` varchar(15) NOT NULL, + `supportedFeatures` varchar(50) DEFAULT NULL, + `subscribedSnssaiInfos` json DEFAULT NULL, + `sharedSnssaiInfosId` varchar(50) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `AccessAndMobilitySubscriptionData` +-- +ALTER TABLE `AccessAndMobilitySubscriptionData` + ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE; + +-- +-- Indexes for table `Amf3GppAccessRegistration` +-- +ALTER TABLE `Amf3GppAccessRegistration` + ADD PRIMARY KEY (`ueid`); + +-- +-- Indexes for table `AuthenticationStatus` +-- +ALTER TABLE `AuthenticationStatus` + ADD PRIMARY KEY (`ueid`); + +-- +-- Indexes for table `AuthenticationSubscription` +-- +ALTER TABLE `AuthenticationSubscription` + ADD PRIMARY KEY (`ueid`); + +-- +-- Indexes for table `SdmSubscriptions` +-- +ALTER TABLE `SdmSubscriptions` + ADD PRIMARY KEY (`subsId`,`ueid`) USING BTREE; + +-- +-- Indexes for table `SessionManagementSubscriptionData` +-- +ALTER TABLE `SessionManagementSubscriptionData` + ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE; + +-- +-- Indexes for table `SmfRegistrations` +-- +ALTER TABLE `SmfRegistrations` + ADD PRIMARY KEY (`ueid`,`subpduSessionId`) USING BTREE; + +-- +-- Indexes for table `SmfSelectionSubscriptionData` +-- +ALTER TABLE `SmfSelectionSubscriptionData` + ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE; + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `SdmSubscriptions` +-- +ALTER TABLE `SdmSubscriptions` + MODIFY `subsId` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; + diff --git a/ci-scripts/dsTesterDockerCompose/udm-healthy-check.sh b/ci-scripts/dsTesterDockerCompose/udm-healthy-check.sh new file mode 100755 index 00000000..4a3ac112 --- /dev/null +++ b/ci-scripts/dsTesterDockerCompose/udm-healthy-check.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +STATUS=0 + +RESULT=$(ps aux | grep -v nohup || true) +SUB='/openair-udm/bin/oai_udm -c /openair-udm/etc/udm.conf -o' +if [[ $RESULT =~ $SUB ]]; then + STATUS=0 +else + STATUS=-1 +fi + +exit $STATUS diff --git a/ci-scripts/dsTesterDockerCompose/udr-healthy-check.sh b/ci-scripts/dsTesterDockerCompose/udr-healthy-check.sh new file mode 100755 index 00000000..ef68c8eb --- /dev/null +++ b/ci-scripts/dsTesterDockerCompose/udr-healthy-check.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +STATUS=0 + +RESULT=$(ps aux | grep -v nohup || true) +SUB='/openair-udr/bin/oai_udr -c /openair-udr/etc/udr.conf -o' +if [[ $RESULT =~ $SUB ]]; then + STATUS=0 +else + STATUS=-1 +fi + +exit $STATUS -- GitLab