Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-AMF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-AMF
Commits
42f17859
Commit
42f17859
authored
Sep 16, 2022
by
Tien Thinh NGUYEN
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into ngap_ies_code_refactoring
parents
32bac856
623f1df1
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
307 additions
and
397 deletions
+307
-397
build/scripts/build_helper
build/scripts/build_helper
+6
-2
build/scripts/build_helper.amf
build/scripts/build_helper.amf
+35
-143
build/scripts/build_helper.fb_folly
build/scripts/build_helper.fb_folly
+0
-143
ci-scripts/Jenkinsfile-GitLab-Docker
ci-scripts/Jenkinsfile-GitLab-Docker
+3
-3
ci-scripts/checkCodingFormattingRules.sh
ci-scripts/checkCodingFormattingRules.sh
+1
-1
ci-scripts/docker/Dockerfile.ci.ubuntu
ci-scripts/docker/Dockerfile.ci.ubuntu
+41
-18
ci-scripts/flatten_image.py
ci-scripts/flatten_image.py
+4
-0
ci-scripts/generateHtmlReport.py
ci-scripts/generateHtmlReport.py
+11
-25
ci-scripts/openshift/oai-amf-bc.yaml
ci-scripts/openshift/oai-amf-bc.yaml
+50
-0
ci-scripts/openshift/oai-amf-is.yaml
ci-scripts/openshift/oai-amf-is.yaml
+32
-0
docker/Dockerfile.amf.rhel8
docker/Dockerfile.amf.rhel8
+35
-27
docker/Dockerfile.amf.ubuntu
docker/Dockerfile.amf.ubuntu
+49
-26
scripts/healthcheck.sh
scripts/healthcheck.sh
+29
-0
src/amf-app/amf_n1.cpp
src/amf-app/amf_n1.cpp
+3
-0
src/amf-app/amf_sbi.cpp
src/amf-app/amf_sbi.cpp
+6
-8
src/ngap/ngap_app/ngap_app.hpp
src/ngap/ngap_app/ngap_app.hpp
+1
-0
src/oai-amf/CMakeLists.txt
src/oai-amf/CMakeLists.txt
+1
-1
No files found.
build/scripts/build_helper
View file @
42f17859
...
...
@@ -25,7 +25,7 @@
#
#######################################
#SUPPORTED_DISTRO="Ubuntu 18.04, CentOS 7, RHEL 7"
SUPPORTED_DISTRO="Ubuntu 18.04, RHEL8"
SUPPORTED_DISTRO="Ubuntu 18.04,
20.04,22.04,
RHEL8"
if [ ! -f /etc/os-release ]; then
echo_fatal "No /etc/os-release file found. You're likely on an unsupported distro."
fi
...
...
@@ -129,6 +129,7 @@ check_supported_distribution() {
case "$distribution" in
"ubuntu18.04") return 0 ;;
"ubuntu20.04") return 0 ;;
"ubuntu22.04") return 0 ;;
"rhel8") return 0 ;;
"rhel8.2") return 0 ;;
"rhel8.3") return 0 ;;
...
...
@@ -165,7 +166,10 @@ clean_kernel() {
#-------------------------------------------------------------------------------
disable_ipv6() {
$SUDO sysctl -w net.ipv6.conf.all.disable_ipv6=1
if [ $IS_CONTAINER -eq 0 ]
then
$SUDO sysctl -w net.ipv6.conf.all.disable_ipv6=1
fi
}
...
...
build/scripts/build_helper.amf
View file @
42f17859
...
...
@@ -30,90 +30,6 @@
SCRIPT=$(readlink -f ${BASH_SOURCE})
THIS_SCRIPT_PATH=`dirname $SCRIPT`
source $THIS_SCRIPT_PATH/build_helper
source $THIS_SCRIPT_PATH/build_helper.fb_folly
#-------------------------------------------------------------------------------
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_cpprestsdk_from_git() {
echo "Starting to install cpprestsdk"
if [ $1 -eq 0 ]; then
read -p "Do you want to install C++ REST SDK ? <y/N> " prompt
OPTION="-y"
else
prompt='y'
OPTION="-y"
fi
if [ $2 -eq 0 ]; then
debug=0
else
debug=1
fi
if [[ $prompt =~ [yY](es)* ]]
then
GIT_URL=https://github.com/Microsoft/cpprestsdk.git
echo "Install C++ REST SDK from $GIT_URL"
pushd $OPENAIRCN_DIR/build/ext
echo "Downloading C++ REST SDK"
if [[ $OPTION =~ -[yY](es)* ]]
then
$SUDO rm -rf cpprestsdk
fi
git clone $GIT_URL
cd cpprestsdk
git submodule update --init
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
mkdir _build && cd _build
$CMAKE -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
$SUDO ninja install
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
$SUDO ldconfig -v
popd
fi
echo "cpprestsdk installation complete"
return 0
}
#-------------------------------------------------------------------------------
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_fmt() {
echo "Starting to install fmt"
if [ $1 -eq 0 ]; then
read -p "Do you want to install open-source formatting library for C++ ? <y/N> " prompt
OPTION=""
else
prompt='y'
OPTION="-y"
fi
echo "Install fmt from source"
if [[ $prompt =~ [yY](es)* ]]
then
cd /tmp
echo "Downloading fmt"
$SUDO rm -rf /tmp/fmt*
git clone https://github.com/fmtlib/fmt.git
ret=$?;[[ $ret -ne 0 ]] && return $ret
cd fmt
# Looks like since Nov 11 commits, we cannot build
git checkout -f 1936dddc3c53c1c0db55a665cf419dc7a257ba62
$CMAKE -DFMT_TEST=FALSE .
ret=$?;[[ $ret -ne 0 ]] && return $ret
make -j `nproc`
ret=$?;[[ $ret -ne 0 ]] && return $ret
$SUDO make install
cd /tmp
rm -rf /tmp/fmt*
fi
echo "fmt installation complete"
return 0
}
#-------------------------------------------------------------------------------
#arg1 is force (0 or 1) (no interactive script)
...
...
@@ -194,13 +110,14 @@ install_pistache_from_git() {
-DPISTACHE_BUILD_EXAMPLES=false \
-DPISTACHE_BUILD_TESTS=false \
-DPISTACHE_BUILD_DOCS=false \
..
..
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
make
make
-j $(nproc)
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
$SUDO make install
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
popd
rm -Rf $OPENAIRCN_DIR/build/ext/pistache/_build
fi
echo "pistache installation complete"
return 0
...
...
@@ -247,6 +164,7 @@ install_nlohmann_from_git() {
$SUDO make install
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
popd
rm -Rf $OPENAIRCN_DIR/build/ext/json/_build
fi
echo "Nlohmann Json installation complete"
return 0
...
...
@@ -276,7 +194,7 @@ install_nghttp2_from_git() {
if [[ $OS_DISTRO == "ubuntu" ]]; then
PACKAGE_LIST="\
g++ \
cmake
\
$CMAKE
\
binutils \
autoconf \
automake \
...
...
@@ -287,7 +205,7 @@ install_nghttp2_from_git() {
libcunit1-dev \
libssl-dev \
libxml2-dev libev-dev libevent-dev libjansson-dev libc-ares-dev \
libjemalloc-dev libsystemd-dev
cython
python3-dev python-setuptools"
libjemalloc-dev libsystemd-dev python3-dev python-setuptools"
elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then
PACKAGE_LIST="\
gcc-c++ \
...
...
@@ -332,12 +250,13 @@ install_nghttp2_from_git() {
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
./configure --enable-asio-lib --enable-lib-only
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
make
make
-j $(nproc)
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
$SUDO make install
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
$SUDO ldconfig
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
git clean -x -d -ff .
popd
fi
echo "nghttp2 installation complete"
...
...
@@ -351,7 +270,7 @@ check_install_amf_deps(){
if [ $1 -gt 0 ]; then
OPTION="-y"
else
else
OPTION=""
fi
if [ $2 -eq 0 ]; then
...
...
@@ -360,7 +279,7 @@ check_install_amf_deps(){
debug=1
fi
echo "Check supported distribution"
echo "Check supported distribution"
check_supported_distribution
[[ $? -ne 0 ]] && return $?
...
...
@@ -370,7 +289,9 @@ check_install_amf_deps(){
#$SUDO systemctl mask apt-daily.timer
#$SUDO systemctl mask apt-daily-upgrade.service
#$SUDO systemctl mask apt-daily-upgrade.timer
$SUDO sed -i 's/1/0/g' /etc/apt/apt.conf.d/10periodic
if [ $IS_CONTAINER -eq 0 ]; then
$SUDO sed -i 's/1/0/g' /etc/apt/apt.conf.d/10periodic
fi
fi
update_package_db
...
...
@@ -383,26 +304,16 @@ check_install_amf_deps(){
PACKAGE_LIST="\
autoconf \
automake \
bison \
build-essential \
$CMAKE \
daemon \
doxygen \
flex \
gdb \
wget \
git"
elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then
PACKAGE_LIST="\
autoconf \
automake \
gcc-c++ \
bison \
$CMAKE \
make \
doxygen \
flex \
gdb \
git"
else
echo_fatal "$OS_DISTRO is not a supported distribution."
...
...
@@ -410,24 +321,28 @@ check_install_amf_deps(){
echo "Install build tools"
$SUDO $INSTALLER install $OPTION $PACKAGE_LIST
ret=$?;[[ $ret -ne 0 ]] && return $ret
# Libraries
if [[ $OS_DISTRO == "ubuntu" ]]; then
case "$(get_distribution_release)" in
"ubuntu18.04")
# Currently Ubuntu18.04 has boost 1.65 as the latest
# We need at least 1.66
# PPA has 1.67
$SUDO add-apt-repository ppa:mhier/libboost-latest --yes
$SUDO $INSTALLER update
if [ $IS_CONTAINER -eq 0 ]; then
specific_packages="libconfig++-dev libasio-dev libboost-all-dev mysql-server"
else
specific_packages="libconfig++-dev libasio-dev libboost-all-dev"
fi
# Currently Ubuntu18.04 has boost 1.65 as the latest
# We need at least 1.66
# PPA has 1.67
$SUDO $INSTALLER install $OPTION software-properties-common
$SUDO add-apt-repository ppa:mhier/libboost-latest --yes
$SUDO $INSTALLER update
if [ $IS_CONTAINER -eq 0 ]; then
specific_packages="libconfig++-dev libasio-dev libboost-all-dev mysql-server libasan4"
else
specific_packages="libconfig++-dev libasio-dev libboost-all-dev libasan4"
fi
;;
"ubuntu20.04")
specific_packages="libconfig++-dev libasio-dev libboost-all-dev libmysqlclient-dev"
specific_packages="libconfig++-dev libasio-dev libboost-all-dev libasan5"
;;
"ubuntu22.04")
specific_packages="libconfig++-dev libasio-dev libboost-all-dev libasan6"
;;
esac
# removed libspdlog-dev
...
...
@@ -435,43 +350,29 @@ check_install_amf_deps(){
$specific_packages \
mysql-client \
libmysqlclient-dev \
guile-2.0-dev \
libcurl4-gnutls-dev \
libevent-dev \
libgcrypt?-dev \
libgmp-dev \
libhogweed? \
libidn2-0-dev \
libidn11-dev \
libpthread-stubs0-dev \
libsctp-dev \
libssl-dev \
libtool \
libxml2 \
libxml2-dev \
openssl \
python \
nettle-dev \
libcurl4 \
net-tools \
pkg-config \
ninja-build \
wget \
libasan?"
ninja-build"
elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then
PACKAGE_LIST="\
guile-devel \
mysql \
mysql-devel \
mysql-libs \
libconfig-devel \
libgcrypt-devel \
gmp-devel \
libidn-devel \
lksctp-tools \
lksctp-tools-devel \
openssl-devel \
libnghttp2 \
libtool \
libxml2 \
libxml2-devel \
...
...
@@ -488,38 +389,29 @@ check_install_amf_deps(){
fi
echo "Install distro libs"
$SUDO $INSTALLER install $OPTION $PACKAGE_LIST
# fix issue with libboost in U18 for a bare metal deployment
if [[ $OS_DISTRO == "ubuntu" ]]; then
case "$(get_distribution_release)" in
"ubuntu18.04")
$SUDO $INSTALLER remove $OPTION libboost1.65-dev || true
$SUDO $INSTALLER autoremove $OPTION || true
$SUDO $INSTALLER install $OPTION libboost1.67-dev
;;
;;
esac
fi
fi
ret=$?;[[ $ret -ne 0 ]] && return $ret
echo "distro libs installation complete"
install_cpprestsdk_from_git $1 $2
ret=$?;[[ $ret -ne 0 ]] && return $ret
# Use fmt lib included in spdlog
# install_fmt $1
# ret=$?;[[ $ret -ne 0 ]] && return $ret
install_spdlog_from_git $1 $2
ret=$?;[[ $ret -ne 0 ]] && return $ret
install_fb_folly_from_source $1 $2
ret=$?;[[ $ret -ne 0 ]] && return $ret
install_pistache_from_git $1 $2
ret=$?;[[ $ret -ne 0 ]] && return $ret
install_nlohmann_from_git $1 $2
ret=$?;[[ $ret -ne 0 ]] && return $ret
ret=$?;[[ $ret -ne 0 ]] && return $ret
install_nghttp2_from_git $1 $2
ret=$?;[[ $ret -ne 0 ]] && return $ret
...
...
build/scripts/build_helper.fb_folly
deleted
100644 → 0
View file @
32bac856
################################################################################
# Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The OpenAirInterface Software Alliance licenses this file to You under
# the OAI Public License, Version 1.1 (the "License"); you may not use this file
# except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.openairinterface.org/?page_id=698
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
# For more information about the OpenAirInterface (OAI) Software Alliance:
# contact@openairinterface.org
################################################################################
# file build_helper.fb_folly
# brief
# author Lionel GAUTHIER
#
#######################################
SCRIPT=$(readlink -f ${BASH_SOURCE})
THIS_SCRIPT_PATH=`dirname $SCRIPT`
source $THIS_SCRIPT_PATH/build_helper
#arg1 is force (0 or 1) (no interactive script)
#arg2 is debug (0 or 1) (install debug libraries)
install_fb_folly_from_source(){
echo "Starting to install folly"
if [ $1 -eq 0 ]; then
OPTION=""
read -p "Do you want to install FaceBook folly (github)? <y/N> " prompt
else
prompt='y'
OPTION="-y"
fi
if [ $2 -eq 0 ]; then
debug=0
else
debug=1
fi
if [[ $prompt =~ [yY](es)* ]]
then
if [[ "$OS_BASEDISTRO" == "fedora" ]]; then
$SUDO $INSTALLER install $OPTION \
gcc-c++ \
$CMAKE \
make \
libevent-devel \
double-conversion-devel \
glog-devel \
gflags-devel \
snappy-devel \
lz4-devel \
zlib-devel \
binutils-devel \
jemalloc-devel \
openssl-devel
ret=$?;[[ $ret -ne 0 ]] && return $ret
elif [[ $OS_DISTRO == "ubuntu" ]]; then
$SUDO $INSTALLER install $OPTION \
$CMAKE \
g++ \
libevent-dev \
libdouble-conversion-dev \
libgoogle-glog-dev \
libgflags-dev \
libiberty-dev \
liblz4-dev \
liblzma-dev \
libsnappy-dev \
wget \
zlib1g-dev \
binutils-dev \
libjemalloc-dev
ret=$?;[[ $ret -ne 0 ]] && return $ret
fi
pushd /tmp
if [ $debug -eq 1 ]; then
# For advanced debugging options
$SUDO $INSTALLER install $OPTION \
libunwind8-dev \
libelf-dev \
libdwarf-dev
ret=$?;[[ $ret -ne 0 ]] && return $ret
wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz && \
tar zxf release-1.8.0.tar.gz && \
rm -f release-1.8.0.tar.gz && \
cd googletest-release-1.8.0 && \
$CMAKE . && \
make && \
$SUDO make install
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
cd ..
fi
$SUDO rm -rf /tmp/folly
git clone https://github.com/facebook/folly.git
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
cd folly
if [[ "$OS_BASEDISTRO" == "fedora" ]]; then
git checkout -f v2019.06.17.00
echo 'diff --git a/build/fbcode_builder/CMake/FindGflags.cmake b/build/fbcode_builder/CMake/FindGflags.cmake' > patch.diff
echo 'index 246ceac..3b96716 100644' >> patch.diff
echo '--- a/build/fbcode_builder/CMake/FindGflags.cmake' >> patch.diff
echo '+++ b/build/fbcode_builder/CMake/FindGflags.cmake' >> patch.diff
echo '@@ -34,6 +34,9 @@ IF (LIBGFLAGS_INCLUDE_DIR)' >> patch.diff
echo ' ENDIF ()' >> patch.diff
echo '' >> patch.diff
echo ' find_package(gflags CONFIG QUIET)' >> patch.diff
echo '+get_filename_component (_LIB_PATH "${gflags_CONFIG}/../../../" ABSOLUTE)' >> patch.diff
echo '+unset(gflags_LIBRARIES)' >> patch.diff
echo '+find_library(gflags_LIBRARIES gflags PATHS ${_LIB_PATH})' >> patch.diff
echo ' if (gflags_FOUND)' >> patch.diff
echo ' if (NOT Gflags_FIND_QUIETLY)' >> patch.diff
echo ' message(STATUS "Found gflags from package config ${gflags_CONFIG}")' >> patch.diff
git apply patch.diff
else
git checkout -f v2019.11.11.00
fi
mkdir _build && cd _build
$CMAKE ..
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
make -j $(nproc)
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
$SUDO make install
ret=$?;[[ $ret -ne 0 ]] && popd && return $ret
popd
fi
echo_success "folly installation complete"
return 0
}
ci-scripts/Jenkinsfile-GitLab-Docker
View file @
42f17859
...
...
@@ -188,7 +188,7 @@ pipeline {
echo
"Maybe a previous build went wrong"
}
// In case of push to `develop` branch we build from scratch
myShCmd
(
'docker build --no-cache --target oai-amf --tag oai-amf:'
+
amf_tag
+
' --file docker/Dockerfile.amf.ubuntu
18
. > archives/amf_docker_image_build.log 2>&1'
,
rem_u18_host_flag
,
rem_u18_host_user
,
rem_u18_host
)
myShCmd
(
'docker build --no-cache --target oai-amf --tag oai-amf:'
+
amf_tag
+
' --file docker/Dockerfile.amf.ubuntu . > archives/amf_docker_image_build.log 2>&1'
,
rem_u18_host_flag
,
rem_u18_host_user
,
rem_u18_host
)
}
if
(
"MERGE"
.
equals
(
env
.
gitlabActionType
))
{
try
{
...
...
@@ -201,7 +201,7 @@ pipeline {
}
// "latest" is the tag used in the docker file.
myShCmd
(
'docker image tag oai-amf-base:'
+
AMF_BASE_IMAGE_TAG
+
' oai-amf-base:latest'
,
rem_u18_host_flag
,
rem_u18_host_user
,
rem_u18_host
)
myShCmd
(
'docker build --no-cache --target oai-amf --tag oai-amf:'
+
amf_tag
+
' --file ci-scripts/docker/Dockerfile.ci.ubuntu
.18.04
. > archives/amf_docker_image_build.log 2>&1'
,
rem_u18_host_flag
,
rem_u18_host_user
,
rem_u18_host
)
myShCmd
(
'docker build --no-cache --target oai-amf --tag oai-amf:'
+
amf_tag
+
' --file ci-scripts/docker/Dockerfile.ci.ubuntu . > archives/amf_docker_image_build.log 2>&1'
,
rem_u18_host_flag
,
rem_u18_host_user
,
rem_u18_host
)
}
// Putting a place holder to try out on the flattening of image.
// If not satisfactory, we can remove it.
...
...
@@ -252,7 +252,7 @@ pipeline {
myShCmd
(
'cp /etc/pki/entitlement/*pem ./etc-pki-entitlement'
,
rem_rhel_host_flag
,
rem_rhel_host_user
,
rem_rhel_host
)
myShCmd
(
'sudo cp /etc/rhsm/rhsm.conf ./rhsm-conf'
,
rem_rhel_host_flag
,
rem_rhel_host_user
,
rem_rhel_host
)
myShCmd
(
'sudo cp /etc/rhsm/ca/*.pem ./rhsm-ca'
,
rem_rhel_host_flag
,
rem_rhel_host_user
,
rem_rhel_host
)
myShCmd
(
'sudo podman build --no-cache --target oai-amf --tag oai-amf:'
+
amf_tag
+
' --file docker/Dockerfile.amf.rhel8 . > archives/amf_podman_image_build.log 2>&1'
,
rem_rhel_host_flag
,
rem_rhel_host_user
,
rem_rhel_host
)
myShCmd
(
'sudo podman build --no-cache --target oai-amf --tag oai-amf:'
+
amf_tag
+
' --file docker/Dockerfile.amf.rhel8
--format docker
. > archives/amf_podman_image_build.log 2>&1'
,
rem_rhel_host_flag
,
rem_rhel_host_user
,
rem_rhel_host
)
// Putting a place holder to try out on the flattening of image.
// If not satisfactory, we can remove it.
myShCmd
(
'python3 ./ci-scripts/flatten_image.py --tag oai-amf:'
+
amf_tag
,
rem_rhel_host_flag
,
rem_rhel_host_user
,
rem_rhel_host
)
...
...
ci-scripts/checkCodingFormattingRules.sh
View file @
42f17859
...
...
@@ -205,4 +205,4 @@ echo "Nb Files that do NOT follow OAI rules: $NB_TO_FORMAT over $NB_TOTAL checke
echo
"NB_FILES_FAILING_CHECK=
$NB_TO_FORMAT
"
>
./oai_rules_result.txt
echo
"NB_FILES_CHECKED=
$NB_TOTAL
"
>>
./oai_rules_result.txt
if
[
$TO_FORMAT
-ne
0
]
;
then
exit
-1
;
else
exit
0
;
fi
if
[
$
NB_
TO_FORMAT
-ne
0
]
;
then
exit
-1
;
else
exit
0
;
fi
ci-scripts/docker/Dockerfile.ci.ubuntu
.18.04
→
ci-scripts/docker/Dockerfile.ci.ubuntu
View file @
42f17859
...
...
@@ -21,13 +21,16 @@
#---------------------------------------------------------------------
#
# Dockerfile for the Open-Air-Interface AMF service
# Valid for Ubuntu-18.04 (bionic)
# Valid for Ubuntu-18.04 (bionic),
# Ubuntu-20.04 (focal),
# Ubuntu-22.04 (jammy)
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# BUILDER IMAGE
#---------------------------------------------------------------------
ARG BASE_IMAGE=ubuntu:bionic
FROM oai-amf-base:latest as oai-amf-builder
# Copying source code
...
...
@@ -45,7 +48,7 @@ RUN ldconfig && \
#---------------------------------------------------------------------
# TARGET IMAGE
#---------------------------------------------------------------------
FROM
ubuntu:bionic
as oai-amf
FROM
$BASE_IMAGE
as oai-amf
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Paris
# We install some debug tools for the moment in addition of mandatory libraries
...
...
@@ -56,39 +59,54 @@ RUN apt-get update && \
psmisc \
net-tools \
bc \
libssh-4 \
openssl \
perl \
libasan4 \
libbrotli1 \
netbase \
# Ubuntu 18 --> libasan4
# Ubuntu 20 --> libasan5
# Ubuntu 22 --> libasan6
libasan? \
libgssapi-krb5-2 \
libldap-2.4-2 \
# Ubuntu 18/20 --> libldap-2.4-2
# Ubuntu 22 --> libldap-2.5-0
libldap-2.?-? \
libconfig++9v5 \
libsctp1 \
&& rm -rf /var/lib/apt/lists/*
librtmp1 \
libpsl5 \
# Ubuntu 18/20 --> mysqlclient20, Ubuntu22 --> mysqlclient21
libmysqlclient2? \
libsqlite3-0 \
libcurl4-gnutls-dev \
# Ubuntu 18 --> boost62/65 -> will remove both
# Ubuntu 20 --> boost67/71 -> will remove 67
# Ubuntu 22 --> boost74
libboost-thread1.??.0 \
libboost-chrono1.??.0 \
&& rm -rf /var/lib/apt/lists/* \
/lib/x86_64-linux-gnu/libboost_system.so.1.6*.0 \
/lib/x86_64-linux-gnu/libboost_chrono.so.1.6*.0 \
/lib/x86_64-linux-gnu/libboost_thread.so.1.6*.0
# Copying executable and generated libraries
WORKDIR /openair-amf/bin
COPY --from=oai-amf-builder \
/openair-amf/build/amf/build/oai_amf \
/openair-amf/scripts/entrypoint.sh \
./
WORKDIR /usr/lib/x86_64-linux-gnu
COPY --from=oai-amf-builder \
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 \
/usr/lib/x86_64-linux-gnu/libsqlite3.so.0 \
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 \
/usr/lib/x86_64-linux-gnu/librtmp.so.1 \
/usr/lib/x86_64-linux-gnu/libpsl.so.5 \
/openair-amf/scripts/healthcheck.sh \
./
WORKDIR /usr/local/lib
COPY --from=oai-amf-builder \
# Copying only the packages built from source
/usr/local/lib/libnghttp2.so.14 \
/usr/local/lib/libnghttp2_asio.so.1 \
/usr/lib/libboost_system.so.1.67.0 \
/usr/lib/libboost_thread.so.1.67.0 \
/usr/lib/libboost_chrono.so.1.67.0 \
/usr/local/lib/libpistache.so \
# Ubuntu 18 --> boost 67 will be copied
/usr/lib/libboost_system.so.1.* \
/usr/lib/libboost_thread.so.1.* \
/usr/lib/libboost_chrono.so.1.* \
./
RUN ldconfig && \
...
...
@@ -102,6 +120,11 @@ WORKDIR /openair-amf
# expose ports
EXPOSE 80/tcp 9090/tcp 38412/sctp
# healthcheck
HEALTHCHECK --interval=10s \
--timeout=15s \
--retries=6 \
CMD /openair-amf/bin/healthcheck.sh
ENTRYPOINT ["/bin/bash","/openair-amf/bin/entrypoint.sh"]
CMD ["/openair-amf/bin/oai_amf", "-c", "/openair-amf/etc/amf.conf", "-o"]
ci-scripts/flatten_image.py
View file @
42f17859
...
...
@@ -49,6 +49,9 @@ def perform_flattening(tag):
if
re
.
search
(
'podman'
,
podman_check
.
strip
()):
cli
=
'sudo podman'
image_prefix
=
'localhost/'
# since HEALTHCHECK is not supported by podman import
# we don't flatten
return
0
if
cli
==
''
:
cmd
=
'which docker || true'
docker_check
=
subprocess
.
check_output
(
cmd
,
shell
=
True
,
universal_newlines
=
True
)
...
...
@@ -76,6 +79,7 @@ def perform_flattening(tag):
cmd
+=
' --change "EXPOSE 9090/tcp" '
if
cli
==
'docker'
:
cmd
+=
' --change "EXPOSE 38412/sctp" '
cmd
+=
' --change "HEALTHCHECK --interval=10s --timeout=15s --retries=6 CMD /openair-amf/bin/healthcheck.sh" '
cmd
+=
' --change "CMD [
\\
"/openair-amf/bin/oai_amf
\\
",
\\
"-c
\\
",
\\
"/openair-amf/etc/amf.conf
\\
",
\\
"-o
\\
"]" '
cmd
+=
' --change "ENTRYPOINT [
\\
"/bin/bash
\\
",
\\
"/openair-amf/bin/entrypoint.sh
\\
"]" '
cmd
+=
' - '
+
image_prefix
+
tag
...
...
ci-scripts/generateHtmlReport.py
View file @
42f17859
...
...
@@ -463,16 +463,14 @@ class HtmlReport():
section_end_pattern
=
'build_amf --clean --Verbose --build-type Release --jobs'
section_status
=
False
package_install
=
False
folly_build_start
=
False
folly_build_status
=
False
spdlog_build_start
=
False
spdlog_build_status
=
False
pistache_build_start
=
False
pistache_build_status
=
False
json_build_start
=
False
json_build_status
=
False
cpprest
_build_start
=
False
cpprest
_build_status
=
False
nghttp2
_build_start
=
False
nghttp2
_build_status
=
False
base_image
=
False
with
open
(
cwd
+
'/archives/'
+
logFileName
,
'r'
)
as
logfile
:
for
line
in
logfile
:
...
...
@@ -492,18 +490,12 @@ class HtmlReport():
result
=
re
.
search
(
'distro libs installation complete'
,
line
)
if
result
is
not
None
:
package_install
=
True
result
=
re
.
search
(
'Starting to install
cpprestsdk
'
,
line
)
result
=
re
.
search
(
'Starting to install
nghttp2
'
,
line
)
if
result
is
not
None
:
cpprest_build_start
=
True
result
=
re
.
search
(
'cpprestsdk installation complete'
,
line
)
if
result
is
not
None
and
cpprest_build_start
:
cpprest_build_status
=
True
result
=
re
.
search
(
'Starting to install folly'
,
line
)
if
result
is
not
None
:
folly_build_start
=
True
result
=
re
.
search
(
'folly installation complete'
,
line
)
if
result
is
not
None
and
folly_build_start
:
folly_build_status
=
True
nghttp2_build_start
=
True
result
=
re
.
search
(
'nghttp2 installation complete'
,
line
)
if
result
is
not
None
and
nghttp2_build_start
:
nghttp2_build_status
=
True
result
=
re
.
search
(
'Starting to install spdlog'
,
line
)
if
result
is
not
None
:
spdlog_build_start
=
True
...
...
@@ -540,17 +532,11 @@ class HtmlReport():
else
:
cell_msg
+=
' ** Packages Installation: KO
\n
'
if
base_image
:
cell_msg
+=
' ** cpprestsdk Installation: N/A
\n
'
elif
cpprest_build_status
:
cell_msg
+=
' ** cpprestsdk Installation: OK
\n
'
else
:
cell_msg
+=
' ** cpprestsdk Installation: KO
\n
'
if
base_image
:
cell_msg
+=
' ** folly Installation: N/A
\n
'
elif
folly_build_status
:
cell_msg
+=
' ** folly Installation: OK
\n
'
cell_msg
+=
' ** nghttp2-asio Installation: N/A
\n
'
elif
nghttp2_build_status
:
cell_msg
+=
' ** nghttp2-asio Installation: OK
\n
'
else
:
cell_msg
+=
' **
folly
Installation: KO
\n
'
cell_msg
+=
' **
nghttp2-asio
Installation: KO
\n
'
if
base_image
:
cell_msg
+=
' ** spdlog Installation: N/A
\n
'
elif
spdlog_build_status
:
...
...
ci-scripts/openshift/oai-amf-bc.yaml
0 → 100644
View file @
42f17859
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
#---------------------------------------------------------------------
#
---
kind
:
BuildConfig
apiVersion
:
build.openshift.io/v1
metadata
:
name
:
"
oai-amf"
namespace
:
oaicicd-core
spec
:
runPolicy
:
"
Serial"
source
:
type
:
"
Binary"
secrets
:
-
secret
:
name
:
etc-pki-entitlement
destinationDir
:
etc-pki-entitlement
configMaps
:
-
configMap
:
name
:
rhsm-conf
destinationDir
:
rhsm-conf
-
configMap
:
name
:
rhsm-ca
destinationDir
:
rhsm-ca
strategy
:
dockerStrategy
:
dockerfilePath
:
"
docker/Dockerfile.amf.rhel8"
output
:
to
:
kind
:
"
ImageStreamTag"
name
:
"
oai-amf:develop"
ci-scripts/openshift/oai-amf-is.yaml
0 → 100644
View file @
42f17859
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
#---------------------------------------------------------------------
#
apiVersion
:
image.openshift.io/v1
kind
:
ImageStream
metadata
:
name
:
oai-amf
namespace
:
oaicicd-core
spec
:
lookupPolicy
:
local
:
true
status
:
tag
:
develop
docker/Dockerfile.amf.rhel8
View file @
42f17859
...
...
@@ -21,7 +21,7 @@
#---------------------------------------------------------------------
#
# Dockerfile for the Open-Air-Interface AMF service
# Valid for
RHEL 8.2
# Valid for
UBI 8.6 | RHEL 8.6
#
#---------------------------------------------------------------------
...
...
@@ -30,8 +30,6 @@
#---------------------------------------------------------------------
FROM registry.access.redhat.com/ubi8/ubi:latest AS oai-amf-builder
ARG NEEDED_GIT_PROXY
# Copy the entitlements
COPY ./etc-pki-entitlement /etc/pki/entitlement
...
...
@@ -49,7 +47,6 @@ RUN rm -f /etc/rhsm-host && \
diffutils \
file \
gcc-c++ \
cmake3 \
ninja-build \
boost-devel \
openssl-devel \
...
...
@@ -59,7 +56,6 @@ RUN rm -f /etc/rhsm-host && \
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
# Some GIT configuration command quite useful
RUN /bin/bash -c "if [[ -v NEEDED_GIT_PROXY ]]; then git config --global http.proxy $NEEDED_GIT_PROXY; fi"
RUN git config --global https.postBuffer 123289600 && \
git config --global http.sslverify false
...
...
@@ -76,51 +72,58 @@ WORKDIR /openair-amf/build/scripts
RUN ldconfig && \
./build_amf --clean --Verbose --build-type Release --jobs && \
ldd /openair-amf/build/amf/build/amf && \
mv /openair-amf/build/amf/build/amf /openair-amf/build/amf/build/oai_amf
mv /openair-amf/build/amf/build/amf /openair-amf/build/amf/build/oai_amf && \
# Remove entitlements and Subscription Manager configs
rm -rf /etc/pki/entitlement && \
rm -rf /etc/rhsm
#---------------------------------------------------------------------
# TARGET IMAGE
#---------------------------------------------------------------------
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-amf
FROM registry.access.redhat.com/ubi8/ubi
-minimal
:latest as oai-amf
ENV TZ=Europe/Paris
# We install some debug tools for the moment in addition of mandatory libraries
RUN yum update -y && \
yum install -y --enablerepo="ubi-8-codeready-builder" \
# Copy the entitlements
COPY ./etc-pki-entitlement /etc/pki/entitlement
# Copy the subscription manager configurations
COPY ./rhsm-conf /etc/rhsm
COPY ./rhsm-ca /etc/rhsm/ca
RUN rm -f /etc/rhsm-host && \
microdnf update -y && \
microdnf install -y \
tzdata \
libasan \
lksctp-tools \
procps-ng \
psmisc \
net-tools \
libevent && \
yum clean all -y && \
rm -rf /var/cache/yum /var/cache/dnf
libicu \
boost \
libevent \
findutils \
mysql-libs \
libconfig && \
microdnf clean all -y && \
rm -rf /var/cache/yum /var/cache/dnf && \
# Remove entitlements and Subscription Manager configs
rm -rf /etc/pki/entitlement && \
rm -rf /etc/rhsm
# Copying executable and generated libraries
WORKDIR /openair-amf/bin
COPY --from=oai-amf-builder \
/openair-amf/build/amf/build/oai_amf \
/openair-amf/scripts/entrypoint.sh \
/openair-amf/scripts/healthcheck.sh \
./
COPY --from=oai-amf-builder \
/usr/lib64/libconfig++.so.9 \
/usr/lib64/libboost_system.so.1.66.0 \
/usr/local/lib64/libpistache.so.0 \
/usr/local/lib/libnghttp2_asio.so \
/usr/local/lib/libnghttp2_asio.so.1 \
/usr/lib64/mysql/libmysqlclient.so.21 \
/usr/lib64/libsctp.so.1 \
/usr/local/lib64/libcpprest.so.2.10 \
/usr/lib64/libboost_random.so.1.66.0 \
/usr/lib64/libboost_thread.so.1.66.0 \
/usr/lib64/libboost_filesystem.so.1.66.0 \
/usr/lib64/libboost_chrono.so.1.66.0 \
/usr/lib64/libboost_atomic.so.1.66.0 \
/usr/lib64/libboost_date_time.so.1.66.0 \
/usr/lib64/libboost_regex.so.1.66.0 \
/usr/lib64/libicudata.so.60 \
/usr/lib64/libicui18n.so.60 \
/usr/lib64/libicuuc.so.60 \
/usr/lib64/
RUN ldconfig && \
...
...
@@ -134,6 +137,11 @@ WORKDIR /openair-amf
# expose ports
EXPOSE 80/tcp 9090/tcp 38412/sctp
# healthcheck
HEALTHCHECK --interval=10s \
--timeout=15s \
--retries=6 \
CMD /openair-amf/bin/healthcheck.sh
ENTRYPOINT ["/openair-amf/bin/entrypoint.sh"]
CMD ["/openair-amf/bin/oai_amf", "-c", "/openair-amf/etc/amf.conf", "-o"]
docker/Dockerfile.amf.ubuntu
18
→
docker/Dockerfile.amf.ubuntu
View file @
42f17859
...
...
@@ -21,16 +21,17 @@
#---------------------------------------------------------------------
#
# Dockerfile for the Open-Air-Interface AMF service
# Valid for Ubuntu-18.04 (bionic)
# Valid for Ubuntu-18.04 (bionic),
# Ubuntu-20.04 (focal),
# Ubuntu-22.04 (jammy)
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# B
UILDER
IMAGE
# B
ASE
IMAGE
#---------------------------------------------------------------------
FROM ubuntu:bionic as oai-amf-builder
ARG NEEDED_GIT_PROXY
ARG BASE_IMAGE=ubuntu:bionic
FROM $BASE_IMAGE as oai-amf-base
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Paris
...
...
@@ -38,13 +39,10 @@ RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
psmisc \
software-properties-common \
git \
vim \
&& rm -rf /var/lib/apt/lists/*
# Some GIT configuration commands quite useful
RUN /bin/bash -c "if [[ -v NEEDED_GIT_PROXY ]]; then git config --global http.proxy $NEEDED_GIT_PROXY; fi"
RUN git config --global https.postBuffer 123289600 && \
git config --global http.sslverify false
...
...
@@ -54,8 +52,13 @@ COPY . /openair-amf
# Installing all the needed libraries/packages to build and run AMF
WORKDIR /openair-amf/build/scripts
RUN ./build_amf --install-deps --force
RUN ./build_amf --install-deps --force && \
cp -Rf /openair-amf/build/ext /openair-amf-ext-ref
#---------------------------------------------------------------------
# BUILDER IMAGE
#---------------------------------------------------------------------
FROM oai-amf-base as oai-amf-builder
# Building AMF
WORKDIR /openair-amf/build/scripts
RUN ldconfig && \
...
...
@@ -66,7 +69,7 @@ RUN ldconfig && \
#---------------------------------------------------------------------
# TARGET IMAGE
#---------------------------------------------------------------------
FROM
ubuntu:bionic
as oai-amf
FROM
$BASE_IMAGE
as oai-amf
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Paris
# We install some debug tools for the moment in addition of mandatory libraries
...
...
@@ -77,39 +80,54 @@ RUN apt-get update && \
psmisc \
net-tools \
bc \
libssh-4 \
openssl \
perl \
libasan4 \
libbrotli1 \
netbase \
# Ubuntu 18 --> libasan4
# Ubuntu 20 --> libasan5
# Ubuntu 22 --> libasan6
libasan? \
libgssapi-krb5-2 \
libldap-2.4-2 \
# Ubuntu 18/20 --> libldap-2.4-2
# Ubuntu 22 --> libldap-2.5-0
libldap-2.?-? \
libconfig++9v5 \
libsctp1 \
&& rm -rf /var/lib/apt/lists/*
librtmp1 \
libpsl5 \
# Ubuntu 18/20 --> mysqlclient20, Ubuntu22 --> mysqlclient21
libmysqlclient2? \
libsqlite3-0 \
libcurl4-gnutls-dev \
# Ubuntu 18 --> boost62/65 -> will remove both
# Ubuntu 20 --> boost67/71 -> will remove 67
# Ubuntu 22 --> boost74
libboost-thread1.??.0 \
libboost-chrono1.??.0 \
&& rm -rf /var/lib/apt/lists/* \
/lib/x86_64-linux-gnu/libboost_system.so.1.6*.0 \
/lib/x86_64-linux-gnu/libboost_chrono.so.1.6*.0 \
/lib/x86_64-linux-gnu/libboost_thread.so.1.6*.0
# Copying executable and generated libraries
WORKDIR /openair-amf/bin
COPY --from=oai-amf-builder \
/openair-amf/build/amf/build/oai_amf \
/openair-amf/scripts/entrypoint.sh \
./
WORKDIR /usr/lib/x86_64-linux-gnu
COPY --from=oai-amf-builder \
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 \
/usr/lib/x86_64-linux-gnu/libsqlite3.so.0 \
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 \
/usr/lib/x86_64-linux-gnu/librtmp.so.1 \
/usr/lib/x86_64-linux-gnu/libpsl.so.5 \
/openair-amf/scripts/healthcheck.sh \
./
WORKDIR /usr/local/lib
COPY --from=oai-amf-builder \
# Copying only the packages built from source
/usr/local/lib/libnghttp2.so.14 \
/usr/local/lib/libnghttp2_asio.so.1 \
/usr/lib/libboost_system.so.1.67.0 \
/usr/lib/libboost_thread.so.1.67.0 \
/usr/lib/libboost_chrono.so.1.67.0 \
/usr/local/lib/libpistache.so \
# Ubuntu 18 --> boost 67 will be copied
/usr/lib/libboost_system.so.1.* \
/usr/lib/libboost_thread.so.1.* \
/usr/lib/libboost_chrono.so.1.* \
./
RUN ldconfig && \
...
...
@@ -123,6 +141,11 @@ WORKDIR /openair-amf
# expose ports
EXPOSE 80/tcp 9090/tcp 38412/sctp
# healthcheck
HEALTHCHECK --interval=10s \
--timeout=15s \
--retries=6 \
CMD /openair-amf/bin/healthcheck.sh
ENTRYPOINT ["/bin/bash","/openair-amf/bin/entrypoint.sh"]
CMD ["/openair-amf/bin/oai_amf", "-c", "/openair-amf/etc/amf.conf", "-o"]
scripts/healthcheck.sh
0 → 100755
View file @
42f17859
#!/bin/bash
set
-eo
pipefail
STATUS
=
0
AMF_PORT_FOR_NGAP
=
38412
AMF_PORT_FOR_N11_HTTP
=
80
AMF_IP_NGAP_INTERFACE
=
$(
ifconfig
$AMF_INTERFACE_NAME_FOR_NGAP
|
grep
inet |
awk
{
'print $2'
}
)
AMF_IP_N11_INTERFACE
=
$(
ifconfig
$AMF_INTERFACE_NAME_FOR_N11
|
grep
inet |
awk
{
'print $2'
}
)
N2_PORT_STATUS
=
$(
netstat
-Snpl
|
grep
-o
"
$AMF_IP_NGAP_INTERFACE
:
$AMF_PORT_FOR_NGAP
"
)
N11_PORT_STATUS
=
$(
netstat
-tnpl
|
grep
-o
"
$AMF_IP_N11_INTERFACE
:
$AMF_PORT_FOR_N11_HTTP
"
)
#Check if entrypoint properly configured the conf file and no parameter is unset (optional)
NB_UNREPLACED_AT
=
`
cat
/openair-amf/etc/
*
.conf |
grep
-v
contact@openairinterface.org |
grep
-c
@
||
true
`
if
[
$NB_UNREPLACED_AT
-ne
0
]
;
then
STATUS
=
1
echo
"Healthcheck error: configuration file is not configured properly"
fi
if
[[
-z
$N2_PORT_STATUS
]]
;
then
STATUS
=
1
echo
"Healthcheck error: N2 SCTP port
$AMF_PORT_FOR_NGAP
is not listening"
fi
if
[[
-z
$N11_PORT_STATUS
]]
;
then
STATUS
=
1
echo
"Healthcheck error: N11/SBI TCP/HTTP port
$AMF_PORT_FOR_N11_HTTP
is not listening"
fi
exit
$STATUS
src/amf-app/amf_n1.cpp
View file @
42f17859
...
...
@@ -68,6 +68,7 @@ extern "C" {
using
namespace
nas
;
using
namespace
amf_application
;
using
namespace
config
;
using
namespace
boost
::
placeholders
;
extern
itti_mw
*
itti_inst
;
extern
amf_n1
*
amf_n1_inst
;
...
...
@@ -3091,6 +3092,8 @@ void amf_n1::ue_initiate_de_registration_handle(
bstring
b
=
blk2bstr
(
buffer
,
encoded_size
);
itti_send_dl_nas_buffer_to_task_n2
(
b
,
ran_ue_ngap_id
,
amf_ue_ngap_id
);
// sleep 100ms
usleep
(
200000
);
}
set_5gmm_state
(
nc
,
_5GMM_DEREGISTERED
);
...
...
src/amf-app/amf_sbi.cpp
View file @
42f17859
...
...
@@ -523,15 +523,13 @@ void amf_sbi::handle_itti_message(
Logger
::
amf_sbi
().
debug
(
"SMF URI: %s"
,
remote_uri
.
c_str
());
nlohmann
::
json
pdu_session_release_request
;
pdu_session_release_request
[
"supi"
]
=
itti_msg
.
supi
.
c_str
();
pdu_session_release_request
[
"dnn"
]
=
psc
->
dnn
.
c_str
();
pdu_session_release_request
[
"sNssai"
][
"sst"
]
=
psc
->
snssai
.
sST
;
pdu_session_release_request
[
"sNssai"
][
"sd"
]
=
psc
->
snssai
.
sD
;
pdu_session_release_request
[
"pduSessionId"
]
=
psc
->
pdu_session_id
;
pdu_session_release_request
[
"cause"
]
=
"REL_DUE_TO_REACTIVATION"
;
// TODO:
pdu_session_release_request
[
"ngApCause"
]
=
"radioNetwork"
;
std
::
string
msg_body
=
pdu_session_release_request
.
dump
();
uint8_t
http_version
=
1
;
// pdu_session_release_request["ngApCause"] = "radioNetwork";
// TODO: 5gMmCauseValue
// TODO: UserLocation
// TODO: N2SmInfo
std
::
string
msg_body
=
pdu_session_release_request
.
dump
();
uint8_t
http_version
=
1
;
if
(
amf_cfg
.
support_features
.
use_http2
)
http_version
=
2
;
nlohmann
::
json
response_json
=
{};
...
...
src/ngap/ngap_app/ngap_app.hpp
View file @
42f17859
...
...
@@ -23,6 +23,7 @@
#define _NGAP_APPLICATION_H_
#include <map>
#include <memory>
#include <shared_mutex>
#include "gNB_context.hpp"
...
...
src/oai-amf/CMakeLists.txt
View file @
42f17859
...
...
@@ -351,4 +351,4 @@ IF(STATIC_LINKING)
ENDIF
(
STATIC_LINKING
)
target_link_libraries
(
amf
${
ASAN
}
-Wl,--start-group 3GPP_COMMON_TYPES AMF CONTEXTS AMF_SCTP AMF_SECU_5GAKA AMF_SECU_NAS AMF_UTILS AMF_SBI_SERVER config++ sctp
pthread
${
NETTLE_LIBRARIES
}
${
MySQL_LIBRARY
}
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
nghttp2_asio boost_system boost_thread boost_chrono ssl crypt cppres
t gmp pistache curl
)
-Wl,--start-group 3GPP_COMMON_TYPES AMF CONTEXTS AMF_SCTP AMF_SECU_5GAKA AMF_SECU_NAS AMF_UTILS AMF_SBI_SERVER config++ sctp
-Wl,--end-group pthread
${
NETTLE_LIBRARIES
}
${
MySQL_LIBRARY
}
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
nghttp2_asio boost_system boost_thread boost_chrono ssl cryp
t gmp pistache curl
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment