diff --git a/ci-scripts/cls_cluster.py b/ci-scripts/cls_cluster.py index 3f10a5e613..56c60f7551 100644 --- a/ci-scripts/cls_cluster.py +++ b/ci-scripts/cls_cluster.py @@ -266,7 +266,7 @@ class Cluster: if self.ranAllowMerge: # merging MR branch into develop -> temporary image imageTag = f'{self.ranBranch}-{self.ranCommitID[0:8]}' if self.ranTargetBranch == 'develop': - ret = self.cmd.run(f'git diff HEAD..origin/develop -- cmake_targets/build_oai cmake_targets/tools/build_helper docker/Dockerfile.base.rhel8.2 | grep --colour=never -i INDEX') + ret = self.cmd.run(f'git diff HEAD..origin/develop -- cmake_targets/build_oai cmake_targets/tools/build_helper docker/Dockerfile.base.rhel9 | grep --colour=never -i INDEX') result = re.search('index', ret.stdout) if result is not None: forceBaseImageBuild = True @@ -306,7 +306,7 @@ class Cluster: self._recreate_bc('ran-base', baseTag, 'openshift/ran-base-bc.yaml') ranbase_job = self._start_build('ran-base') attemptedImages += ['ran-base'] - status = ranbase_job is not None and self._wait_build_end([ranbase_job], 600) + status = ranbase_job is not None and self._wait_build_end([ranbase_job], 800) if not status: logging.error('failure during build of ran-base') self.cmd.run(f'oc logs {ranbase_job} &> cmake_targets/log/ran-base.log') # cannot use cmd.run because of redirect # recover logs by mounting image @@ -322,19 +322,19 @@ class Cluster: if status: self._recreate_is_tag('oai-physim', imageTag, 'openshift/oai-physim-is.yaml') self._recreate_bc('oai-physim', imageTag, 'openshift/oai-physim-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.phySim.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.phySim.rhel9') physim_job = self._start_build('oai-physim') attemptedImages += ['oai-physim'] self._recreate_is_tag('ran-build', imageTag, 'openshift/ran-build-is.yaml') self._recreate_bc('ran-build', imageTag, 'openshift/ran-build-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.build.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.build.rhel9') ranbuild_job = self._start_build('ran-build') attemptedImages += ['ran-build'] self._recreate_is_tag('oai-clang', imageTag, 'openshift/oai-clang-is.yaml') self._recreate_bc('oai-clang', imageTag, 'openshift/oai-clang-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.clang.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.clang.rhel9') clang_job = self._start_build('oai-clang') attemptedImages += ['oai-clang'] @@ -349,22 +349,22 @@ class Cluster: if status: self._recreate_is_tag('oai-enb', imageTag, 'openshift/oai-enb-is.yaml') self._recreate_bc('oai-enb', imageTag, 'openshift/oai-enb-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.eNB.rhel8.2') - self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.eNB.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.eNB.rhel9') + self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.eNB.rhel9') enb_job = self._start_build('oai-enb') attemptedImages += ['oai-enb'] self._recreate_is_tag('oai-gnb', imageTag, 'openshift/oai-gnb-is.yaml') self._recreate_bc('oai-gnb', imageTag, 'openshift/oai-gnb-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.gNB.rhel8.2') - self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.gNB.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.gNB.rhel9') + self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.gNB.rhel9') gnb_job = self._start_build('oai-gnb') attemptedImages += ['oai-gnb'] self._recreate_is_tag('oai-gnb-aw2s', imageTag, 'openshift/oai-gnb-aw2s-is.yaml') self._recreate_bc('oai-gnb-aw2s', imageTag, 'openshift/oai-gnb-aw2s-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.gNB.aw2s.rhel8.2') - self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.gNB.aw2s.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.gNB.aw2s.rhel9') + self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.gNB.aw2s.rhel9') gnb_aw2s_job = self._start_build('oai-gnb-aw2s') attemptedImages += ['oai-gnb-aw2s'] @@ -378,22 +378,22 @@ class Cluster: self._recreate_is_tag('oai-nr-cuup', imageTag, 'openshift/oai-nr-cuup-is.yaml') self._recreate_bc('oai-nr-cuup', imageTag, 'openshift/oai-nr-cuup-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.nr-cuup.rhel8.2') - self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.nr-cuup.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.nr-cuup.rhel9') + self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.nr-cuup.rhel9') nr_cuup_job = self._start_build('oai-nr-cuup') attemptedImages += ['oai-nr-cuup'] self._recreate_is_tag('oai-lte-ue', imageTag, 'openshift/oai-lte-ue-is.yaml') self._recreate_bc('oai-lte-ue', imageTag, 'openshift/oai-lte-ue-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.lteUE.rhel8.2') - self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.lteUE.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.lteUE.rhel9') + self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.lteUE.rhel9') lteue_job = self._start_build('oai-lte-ue') attemptedImages += ['oai-lte-ue'] self._recreate_is_tag('oai-nr-ue', imageTag, 'openshift/oai-nr-ue-is.yaml') self._recreate_bc('oai-nr-ue', imageTag, 'openshift/oai-nr-ue-bc.yaml') - self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.nrUE.rhel8.2') - self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.nrUE.rhel8.2') + self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.nrUE.rhel9') + self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.nrUE.rhel9') nrue_job = self._start_build('oai-nr-ue') attemptedImages += ['oai-nr-ue'] diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index 6b5e4e50af..520876ad06 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -358,7 +358,7 @@ class Containerize(): self.cliBuildOptions = '--no-cache' elif self.host == 'Red Hat': self.cli = 'sudo podman' - self.dockerfileprefix = '.rhel8.2' + self.dockerfileprefix = '.rhel9' self.cliBuildOptions = '--no-cache --disable-compression' # we always build the ran-build image with all targets diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 7806ee999b..52ae420081 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -32,7 +32,7 @@ OS_DISTRO=$(grep "^ID=" /etc/os-release | sed "s/ID=//" | sed "s/\"//g") OS_RELEASE=$(grep "^VERSION_ID=" /etc/os-release | sed "s/VERSION_ID=//" | sed "s/\"//g") case "$OS_DISTRO" in fedora) OS_BASEDISTRO="fedora"; INSTALLER="dnf"; CMAKE="cmake" ;; - rhel) OS_BASEDISTRO="fedora"; INSTALLER="yum"; CMAKE="cmake3" ;; + rhel) OS_BASEDISTRO="fedora"; INSTALLER="dnf"; CMAKE="cmake" ;; rocky) OS_BASEDISTRO="fedora"; INSTALLER="dnf"; CMAKE="cmake" ;; centos) OS_BASEDISTRO="centos"; INSTALLER="yum"; CMAKE="cmake3" ;; debian) OS_BASEDISTRO="debian"; INSTALLER="apt-get"; CMAKE="cmake" ;; @@ -629,6 +629,7 @@ check_install_oai_software() { libtool \ patch \ openssl \ + zlib1g-dev \ xxd elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then @@ -637,7 +638,7 @@ check_install_oai_software() { echo "EPEL repos already present. Good." else echo "EPEL repos not present. Installing them." - $SUDO $INSTALLER install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + $SUDO $INSTALLER install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm fi fi @@ -666,7 +667,8 @@ check_install_oai_software() { lapack-devel \ blas \ blas-devel \ - vim-common + vim-common \ + zlib-devel fi install_asn1c_from_source $1 diff --git a/docker/Dockerfile.base.rhel8.2 b/docker/Dockerfile.base.rhel9 similarity index 92% rename from docker/Dockerfile.base.rhel8.2 rename to docker/Dockerfile.base.rhel9 index dd0d4c0e43..56b1ce7a23 100644 --- a/docker/Dockerfile.base.rhel8.2 +++ b/docker/Dockerfile.base.rhel9 @@ -21,12 +21,12 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- -FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-base +FROM registry.access.redhat.com/ubi9/ubi:latest AS ran-base ARG NEEDED_GIT_PROXY ENV TZ=Europe/Paris ENV BUILD_UHD_FROM_SOURCE=True @@ -39,12 +39,13 @@ COPY ./etc-pki-entitlement /etc/pki/entitlement COPY ./rhsm-conf /etc/rhsm COPY ./rhsm-ca /etc/rhsm/ca +ENV SMDEV_CONTAINER_OFF=1 #install developers pkg/repo RUN rm -f /etc/rhsm-host && \ - yum repolist --disablerepo=* && \ - subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms && \ - yum update -y && \ - yum install -y \ + subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms && \ + dnf update -y && \ + cat /etc/os-release && \ + dnf install -y \ #gcc needed for build_oai gcc gcc-c++ \ diffutils \ diff --git a/docker/Dockerfile.build.rhel8.2 b/docker/Dockerfile.build.rhel9 similarity index 98% rename from docker/Dockerfile.build.rhel8.2 rename to docker/Dockerfile.build.rhel9 index 5dd370a02d..72c237f6bc 100644 --- a/docker/Dockerfile.build.rhel8.2 +++ b/docker/Dockerfile.build.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- diff --git a/docker/Dockerfile.clang.rhel8.2 b/docker/Dockerfile.clang.rhel9 similarity index 97% rename from docker/Dockerfile.clang.rhel8.2 rename to docker/Dockerfile.clang.rhel9 index 5111597f75..fccef45eec 100644 --- a/docker/Dockerfile.clang.rhel8.2 +++ b/docker/Dockerfile.clang.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -32,7 +32,7 @@ WORKDIR /oai-ran COPY . . #only install LLVM (clang, ...) for this container, the others don't need it -RUN yum install -y llvm-toolset +RUN dnf install -y llvm-toolset #run build_oai to build the target image RUN /bin/sh oaienv && \ diff --git a/docker/Dockerfile.eNB.rhel8.2 b/docker/Dockerfile.eNB.rhel9 similarity index 83% rename from docker/Dockerfile.eNB.rhel8.2 rename to docker/Dockerfile.eNB.rhel9 index 3fa2b661e0..d2ec7afd43 100644 --- a/docker/Dockerfile.eNB.rhel8.2 +++ b/docker/Dockerfile.eNB.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -33,11 +33,11 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters cp /oai-ran/docker/scripts/enb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-enb +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-enb ENV TZ=Europe/Paris -RUN yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ +RUN dnf update -y && \ + dnf install -y \ lksctp-tools \ tzdata \ procps-ng \ @@ -72,24 +72,24 @@ COPY --from=enb-build \ /usr/local/lib/ COPY --from=enb-base \ - /lib64/libconfig.so.9 \ + /lib64/libconfig.so.11 \ /lib64/libblas.so.3 \ /lib64/liblapack.so.3 \ /lib64/liblapacke.so.3 \ - /lib64/libboost_chrono.so.1.66.0 \ - /lib64/libboost_date_time.so.1.66.0 \ - /lib64/libboost_filesystem.so.1.66.0 \ - /lib64/libboost_program_options.so.1.66.0 \ - /lib64/libboost_serialization.so.1.66.0 \ - /lib64/libboost_thread.so.1.66.0 \ - /lib64/libboost_system.so.1.66.0 \ - /lib64/libboost_unit_test_framework.so.1.66.0 \ - /lib64/libboost_atomic.so.1.66.0 \ - /lib64/libboost_timer.so.1.66.0 \ - /lib64/libboost_regex.so.1.66.0 \ - /lib64/libicudata.so.60 \ - /lib64/libicui18n.so.60 \ - /lib64/libicuuc.so.60 \ + /lib64/libboost_chrono.so.1.75.0 \ + /lib64/libboost_date_time.so.1.75.0 \ + /lib64/libboost_filesystem.so.1.75.0 \ + /lib64/libboost_program_options.so.1.75.0 \ + /lib64/libboost_serialization.so.1.75.0 \ + /lib64/libboost_thread.so.1.75.0 \ + /lib64/libboost_system.so.1.75.0 \ + /lib64/libboost_unit_test_framework.so.1.75.0 \ + /lib64/libboost_atomic.so.1.75.0 \ + /lib64/libboost_timer.so.1.75.0 \ + /lib64/libboost_regex.so.1.75.0 \ + /lib64/libicudata.so.67 \ + /lib64/libicui18n.so.67 \ + /lib64/libicuuc.so.67 \ /lib64/ diff --git a/docker/Dockerfile.gNB.aw2s.rhel8.2 b/docker/Dockerfile.gNB.aw2s.rhel9 similarity index 93% rename from docker/Dockerfile.gNB.aw2s.rhel8.2 rename to docker/Dockerfile.gNB.aw2s.rhel9 index ec4a4b5c91..7e5ea8fe25 100644 --- a/docker/Dockerfile.gNB.aw2s.rhel8.2 +++ b/docker/Dockerfile.gNB.aw2s.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -38,12 +38,11 @@ RUN /bin/sh oaienv && \ ninja aw2sori_transpro #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-gnb-aw2s +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-gnb-aw2s ENV TZ=Europe/Paris -RUN yum repolist --disablerepo=* && \ - yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ +RUN dnf update -y && \ + dnf install -y \ procps-ng \ libXpm \ libX11 \ @@ -76,7 +75,7 @@ COPY --from=gnb-build \ /usr/local/lib/ COPY --from=gnb-base \ - /lib64/libconfig.so.9 \ + /lib64/libconfig.so.11 \ /lib64/libforms.so.2 \ /lib64/libblas.so.3 \ /lib64/liblapack.so.3 \ diff --git a/docker/Dockerfile.gNB.rhel8.2 b/docker/Dockerfile.gNB.rhel9 similarity index 83% rename from docker/Dockerfile.gNB.rhel8.2 rename to docker/Dockerfile.gNB.rhel9 index 187de03e37..b4d49f6acc 100644 --- a/docker/Dockerfile.gNB.rhel8.2 +++ b/docker/Dockerfile.gNB.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -33,12 +33,11 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-gnb +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-gnb ENV TZ=Europe/Paris -RUN yum repolist --disablerepo=* && \ - yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ +RUN dnf update -y && \ + dnf install -y \ procps-ng \ libXpm \ libX11 \ @@ -77,25 +76,25 @@ COPY --from=gnb-build \ /usr/local/lib/ COPY --from=gnb-base \ - /lib64/libconfig.so.9 \ + /lib64/libconfig.so.11 \ /lib64/libforms.so.2 \ /lib64/libblas.so.3 \ /lib64/liblapack.so.3 \ /lib64/liblapacke.so.3 \ - /lib64/libboost_chrono.so.1.66.0 \ - /lib64/libboost_date_time.so.1.66.0 \ - /lib64/libboost_filesystem.so.1.66.0 \ - /lib64/libboost_program_options.so.1.66.0 \ - /lib64/libboost_serialization.so.1.66.0 \ - /lib64/libboost_thread.so.1.66.0 \ - /lib64/libboost_system.so.1.66.0 \ - /lib64/libboost_unit_test_framework.so.1.66.0 \ - /lib64/libboost_atomic.so.1.66.0 \ - /lib64/libboost_timer.so.1.66.0 \ - /lib64/libboost_regex.so.1.66.0 \ - /lib64/libicudata.so.60 \ - /lib64/libicui18n.so.60 \ - /lib64/libicuuc.so.60 \ + /lib64/libboost_chrono.so.1.75.0 \ + /lib64/libboost_date_time.so.1.75.0 \ + /lib64/libboost_filesystem.so.1.75.0 \ + /lib64/libboost_program_options.so.1.75.0 \ + /lib64/libboost_serialization.so.1.75.0 \ + /lib64/libboost_thread.so.1.75.0 \ + /lib64/libboost_system.so.1.75.0 \ + /lib64/libboost_unit_test_framework.so.1.75.0 \ + /lib64/libboost_atomic.so.1.75.0 \ + /lib64/libboost_timer.so.1.75.0 \ + /lib64/libboost_regex.so.1.75.0 \ + /lib64/libicudata.so.67 \ + /lib64/libicui18n.so.67 \ + /lib64/libicuuc.so.67 \ /lib64/ # Now we are copying from builder-image the UHD files. diff --git a/docker/Dockerfile.lteRU.rhel8.2 b/docker/Dockerfile.lteRU.rhel9 similarity index 83% rename from docker/Dockerfile.lteRU.rhel8.2 rename to docker/Dockerfile.lteRU.rhel9 index b4d53f367b..34fc389b38 100644 --- a/docker/Dockerfile.lteRU.rhel8.2 +++ b/docker/Dockerfile.lteRU.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -33,11 +33,11 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters cp /oai-ran/docker/scripts/lte_ru_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-lte-ru +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-lte-ru ENV TZ=Europe/Paris -RUN yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ +RUN dnf update -y && \ + dnf install -y \ tzdata \ procps-ng \ atlas \ @@ -67,21 +67,21 @@ COPY --from=ru-build \ /usr/local/lib/ COPY --from=ru-base \ - /lib64/libconfig.so.9 \ + /lib64/libconfig.so.11 \ /lib64/libblas.so.3 \ /lib64/liblapack.so.3 \ /lib64/liblapacke.so.3 \ - /lib64/libboost_chrono.so.1.66.0 \ - /lib64/libboost_date_time.so.1.66.0 \ - /lib64/libboost_filesystem.so.1.66.0 \ - /lib64/libboost_program_options.so.1.66.0 \ - /lib64/libboost_serialization.so.1.66.0 \ - /lib64/libboost_thread.so.1.66.0 \ - /lib64/libboost_system.so.1.66.0 \ - /lib64/libboost_unit_test_framework.so.1.66.0 \ - /lib64/libboost_atomic.so.1.66.0 \ - /lib64/libboost_timer.so.1.66.0 \ - /lib64/libboost_regex.so.1.66.0 \ + /lib64/libboost_chrono.so.1.75.0 \ + /lib64/libboost_date_time.so.1.75.0 \ + /lib64/libboost_filesystem.so.1.75.0 \ + /lib64/libboost_program_options.so.1.75.0 \ + /lib64/libboost_serialization.so.1.75.0 \ + /lib64/libboost_thread.so.1.75.0 \ + /lib64/libboost_system.so.1.75.0 \ + /lib64/libboost_unit_test_framework.so.1.75.0 \ + /lib64/libboost_atomic.so.1.75.0 \ + /lib64/libboost_timer.so.1.75.0 \ + /lib64/libboost_regex.so.1.75.0 \ /lib64/ # Copying from the ran-build image the USRP needed packages diff --git a/docker/Dockerfile.lteUE.rhel8.2 b/docker/Dockerfile.lteUE.rhel9 similarity index 83% rename from docker/Dockerfile.lteUE.rhel8.2 rename to docker/Dockerfile.lteUE.rhel9 index 3bbcbb5d4b..6715f5df49 100644 --- a/docker/Dockerfile.lteUE.rhel8.2 +++ b/docker/Dockerfile.lteUE.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -34,11 +34,11 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_paramet cp /oai-ran/docker/scripts/lte_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-lte-ue +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-lte-ue ENV TZ=Europe/Paris -RUN yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ +RUN dnf update -y && \ + dnf install -y \ lksctp-tools \ procps-ng \ tzdata \ @@ -74,24 +74,24 @@ COPY --from=lte-ue-build \ /usr/local/lib/ COPY --from=lte-ue-base \ - /lib64/libconfig.so.9 \ + /lib64/libconfig.so.11 \ /lib64/libblas.so.3 \ /lib64/liblapack.so.3 \ /lib64/liblapacke.so.3 \ - /lib64/libboost_chrono.so.1.66.0 \ - /lib64/libboost_date_time.so.1.66.0 \ - /lib64/libboost_filesystem.so.1.66.0 \ - /lib64/libboost_program_options.so.1.66.0 \ - /lib64/libboost_serialization.so.1.66.0 \ - /lib64/libboost_thread.so.1.66.0 \ - /lib64/libboost_system.so.1.66.0 \ - /lib64/libboost_unit_test_framework.so.1.66.0 \ - /lib64/libboost_atomic.so.1.66.0 \ - /lib64/libboost_timer.so.1.66.0 \ - /lib64/libboost_regex.so.1.66.0 \ - /lib64/libicudata.so.60 \ - /lib64/libicui18n.so.60 \ - /lib64/libicuuc.so.60 \ + /lib64/libboost_chrono.so.1.75.0 \ + /lib64/libboost_date_time.so.1.75.0 \ + /lib64/libboost_filesystem.so.1.75.0 \ + /lib64/libboost_program_options.so.1.75.0 \ + /lib64/libboost_serialization.so.1.75.0 \ + /lib64/libboost_thread.so.1.75.0 \ + /lib64/libboost_system.so.1.75.0 \ + /lib64/libboost_unit_test_framework.so.1.75.0 \ + /lib64/libboost_atomic.so.1.75.0 \ + /lib64/libboost_timer.so.1.75.0 \ + /lib64/libboost_regex.so.1.75.0 \ + /lib64/libicudata.so.67 \ + /lib64/libicui18n.so.67 \ + /lib64/libicuuc.so.67 \ /lib64/ # Now we are copying from builder-image the UHD files. diff --git a/docker/Dockerfile.nr-cuup.rhel8.2 b/docker/Dockerfile.nr-cuup.rhel9 similarity index 93% rename from docker/Dockerfile.nr-cuup.rhel8.2 rename to docker/Dockerfile.nr-cuup.rhel9 index 903cfeaf89..9a45f7156a 100644 --- a/docker/Dockerfile.nr-cuup.rhel8.2 +++ b/docker/Dockerfile.nr-cuup.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL 8.2 +# Valid for RHEL 9 # #--------------------------------------------------------------------- @@ -32,12 +32,12 @@ FROM ran-build:latest AS gnb-build RUN cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-nr-cuup +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-nr-cuup ENV TZ=Europe/Paris RUN yum repolist --disablerepo=* && \ yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ + yum install -y \ procps-ng \ lksctp-tools \ tzdata \ @@ -59,7 +59,7 @@ COPY --from=gnb-build \ /usr/local/lib/ COPY --from=gnb-base \ - /lib64/libconfig.so.9 \ + /lib64/libconfig.so.11 \ /lib64/libblas.so.3 \ /lib64/liblapack.so.3 \ /lib64/liblapacke.so.3 \ diff --git a/docker/Dockerfile.nrUE.rhel8.2 b/docker/Dockerfile.nrUE.rhel9 similarity index 84% rename from docker/Dockerfile.nrUE.rhel8.2 rename to docker/Dockerfile.nrUE.rhel9 index 6242eb4c91..7dc0a5fba8 100644 --- a/docker/Dockerfile.nrUE.rhel8.2 +++ b/docker/Dockerfile.nrUE.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -33,11 +33,11 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/nr_ue_paramete cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-nr-ue +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-nr-ue ENV TZ=Europe/Paris -RUN yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ +RUN dnf update -y && \ + dnf install -y \ lksctp-tools \ procps-ng \ tzdata \ @@ -83,25 +83,25 @@ COPY --from=nr-ue-build \ /usr/local/lib/ COPY --from=nr-ue-base \ - /lib64/libconfig.so.9 \ + /lib64/libconfig.so.11 \ /lib64/libblas.so.3 \ /lib64/liblapack.so.3 \ /lib64/liblapacke.so.3 \ /lib64/libforms.so.2 \ - /lib64/libboost_chrono.so.1.66.0 \ - /lib64/libboost_date_time.so.1.66.0 \ - /lib64/libboost_filesystem.so.1.66.0 \ - /lib64/libboost_program_options.so.1.66.0 \ - /lib64/libboost_serialization.so.1.66.0 \ - /lib64/libboost_thread.so.1.66.0 \ - /lib64/libboost_system.so.1.66.0 \ - /lib64/libboost_unit_test_framework.so.1.66.0 \ - /lib64/libboost_atomic.so.1.66.0 \ - /lib64/libboost_timer.so.1.66.0 \ - /lib64/libboost_regex.so.1.66.0 \ - /lib64/libicudata.so.60 \ - /lib64/libicui18n.so.60 \ - /lib64/libicuuc.so.60 \ + /lib64/libboost_chrono.so.1.75.0 \ + /lib64/libboost_date_time.so.1.75.0 \ + /lib64/libboost_filesystem.so.1.75.0 \ + /lib64/libboost_program_options.so.1.75.0 \ + /lib64/libboost_serialization.so.1.75.0 \ + /lib64/libboost_thread.so.1.75.0 \ + /lib64/libboost_system.so.1.75.0 \ + /lib64/libboost_unit_test_framework.so.1.75.0 \ + /lib64/libboost_atomic.so.1.75.0 \ + /lib64/libboost_timer.so.1.75.0 \ + /lib64/libboost_regex.so.1.75.0 \ + /lib64/libicudata.so.67 \ + /lib64/libicui18n.so.67 \ + /lib64/libicuuc.so.67 \ /lib64/ # Now we are copying from builder-image the UHD files. diff --git a/docker/Dockerfile.phySim.rhel8.2 b/docker/Dockerfile.phySim.rhel9 similarity index 94% rename from docker/Dockerfile.phySim.rhel8.2 rename to docker/Dockerfile.phySim.rhel9 index 691c7e7765..92de17e9ae 100644 --- a/docker/Dockerfile.phySim.rhel8.2 +++ b/docker/Dockerfile.phySim.rhel9 @@ -21,7 +21,7 @@ #--------------------------------------------------------------------- # # Dockerfile for the Open-Air-Interface BUILD service -# Valid for RHEL8 +# Valid for RHEL9 # #--------------------------------------------------------------------- @@ -32,7 +32,7 @@ WORKDIR /oai-ran COPY . . #only install address and undefined behavior sanitizer for this container, the others don't need it -RUN yum install -y libasan libubsan +RUN dnf install -y libasan libubsan #run build_oai to build the target image RUN /bin/sh oaienv && \ @@ -41,10 +41,10 @@ RUN /bin/sh oaienv && \ ./build_oai --phy_simulators --ninja --verbose-ci --sanitize --noavx512 -c --cmake-opt -DCMAKE_C_FLAGS=-Werror --cmake-opt -DCMAKE_CXX_FLAGS=-Werror --cmake-opt -DCMAKE_C_FLAGS=-Wno-unused-function --cmake-opt -DCMAKE_CXX_FLAGS=-Wno-unused-function #start from scratch for target executable -FROM registry.access.redhat.com/ubi8/ubi:latest as oai-physim +FROM registry.access.redhat.com/ubi9/ubi:latest as oai-physim -RUN yum update -y && \ - yum install -y --enablerepo="ubi-8-codeready-builder" \ +RUN dnf update -y && \ + dnf install -y \ lksctp-tools \ tzdata \ atlas \ @@ -86,7 +86,7 @@ COPY --from=phy-sim-build \ /lib64/liblapack.so.3 \ /lib64/libexslt.so.0 \ /lib64/libxslt.so.1 \ - /usr/lib64/libasan.so.5 \ + /usr/lib64/libasan.so.6 \ /usr/lib64/libubsan.so.1 \ /oai-ran/cmake_targets/ran_build/build/libdfts.so \ /oai-ran/cmake_targets/ran_build/build/libldpc.so \ diff --git a/docker/README.md b/docker/README.md index 18f955b760..8b5ce4aae7 100644 --- a/docker/README.md +++ b/docker/README.md @@ -34,7 +34,7 @@ For all platforms, the strategy for building docker/podman images is the same: * Then from the `ran-build` shared image, we can build target images for: - eNB - gNB (with UHD) - - gNB (with AW2S), only on RHEL8 + - gNB (with AW2S), only on RHEL9 - lte-UE - nr-UE @@ -75,7 +75,7 @@ Targets can be: The currently-supported OS are: -- `rhel8.2` for Red Hat Entreprise Linux (including images for an OpenShift cluster) +- `rhel9` for Red Hat Entreprise Linux (including images for an OpenShift cluster) - `ubuntu20` for Ubuntu 20.04 LTS - `rocky` for Rocky-Linux 8.7 @@ -145,9 +145,9 @@ Note that the steps are identical for `rocky-linux`. Analogous to the above steps: ``` -sudo podman build --target ran-base --tag ran-base:latest --file docker/Dockerfile.base.rhel8.2 . -sudo podman build --target ran-build --tag ran-build:latest --file docker/Dockerfile.build.rhel8.2 . -sudo podman build --target oai-enb --tag oai-enb:latest --file docker/Dockerfile.eNB.rhel8.2 . +sudo podman build --target ran-base --tag ran-base:latest --file docker/Dockerfile.base.rhel9 . +sudo podman build --target ran-build --tag ran-build:latest --file docker/Dockerfile.build.rhel9 . +sudo podman build --target oai-enb --tag oai-enb:latest --file docker/Dockerfile.eNB.rhel9 . ``` # 5. Running modems using `docker` under Ubuntu 18.04 # diff --git a/openshift/oai-clang-bc.yaml b/openshift/oai-clang-bc.yaml index f882df8700..f51b68ed53 100644 --- a/openshift/oai-clang-bc.yaml +++ b/openshift/oai-clang-bc.yaml @@ -32,7 +32,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.clang.rhel8.2" + dockerfilePath: "docker/Dockerfile.clang.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/oai-enb-bc.yaml b/openshift/oai-enb-bc.yaml index f9973224cc..215faf675e 100644 --- a/openshift/oai-enb-bc.yaml +++ b/openshift/oai-enb-bc.yaml @@ -30,7 +30,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.eNB.rhel8.2" + dockerfilePath: "docker/Dockerfile.eNB.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/oai-gnb-aw2s-bc.yaml b/openshift/oai-gnb-aw2s-bc.yaml index fe803c57f3..2edbd73f87 100644 --- a/openshift/oai-gnb-aw2s-bc.yaml +++ b/openshift/oai-gnb-aw2s-bc.yaml @@ -34,7 +34,7 @@ spec: destinationDir: libori.so strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.gNB.aw2s.rhel8.2" + dockerfilePath: "docker/Dockerfile.gNB.aw2s.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/oai-gnb-bc.yaml b/openshift/oai-gnb-bc.yaml index 78b9248f19..693cbfd784 100644 --- a/openshift/oai-gnb-bc.yaml +++ b/openshift/oai-gnb-bc.yaml @@ -30,7 +30,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.gNB.rhel8.2" + dockerfilePath: "docker/Dockerfile.gNB.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/oai-lte-ue-bc.yaml b/openshift/oai-lte-ue-bc.yaml index a0dd92e670..7bb41456c6 100644 --- a/openshift/oai-lte-ue-bc.yaml +++ b/openshift/oai-lte-ue-bc.yaml @@ -30,7 +30,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.lteUE.rhel8.2" + dockerfilePath: "docker/Dockerfile.lteUE.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/oai-nr-cuup-bc.yaml b/openshift/oai-nr-cuup-bc.yaml index d92560cc58..eceff70348 100644 --- a/openshift/oai-nr-cuup-bc.yaml +++ b/openshift/oai-nr-cuup-bc.yaml @@ -30,7 +30,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.nr-cuup.rhel8.2" + dockerfilePath: "docker/Dockerfile.nr-cuup.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/oai-nr-ue-bc.yaml b/openshift/oai-nr-ue-bc.yaml index da9a5e424c..4c4bf3f9c6 100644 --- a/openshift/oai-nr-ue-bc.yaml +++ b/openshift/oai-nr-ue-bc.yaml @@ -30,7 +30,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.nrUE.rhel8.2" + dockerfilePath: "docker/Dockerfile.nrUE.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/oai-physim-bc.yaml b/openshift/oai-physim-bc.yaml index 3aa6397811..248c5338d2 100644 --- a/openshift/oai-physim-bc.yaml +++ b/openshift/oai-physim-bc.yaml @@ -32,7 +32,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.phySim.rhel8.2" + dockerfilePath: "docker/Dockerfile.phySim.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/ran-base-bc.yaml b/openshift/ran-base-bc.yaml index 16caa080eb..788e980fef 100644 --- a/openshift/ran-base-bc.yaml +++ b/openshift/ran-base-bc.yaml @@ -43,7 +43,7 @@ spec: destinationDir: rhsm-ca strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.base.rhel8.2" + dockerfilePath: "docker/Dockerfile.base.rhel9" output: to: kind: "ImageStreamTag" diff --git a/openshift/ran-build-bc.yaml b/openshift/ran-build-bc.yaml index 1b93973dfd..93479a59f6 100644 --- a/openshift/ran-build-bc.yaml +++ b/openshift/ran-build-bc.yaml @@ -32,7 +32,7 @@ spec: type: "Binary" strategy: dockerStrategy: - dockerfilePath: "docker/Dockerfile.build.rhel8.2" + dockerfilePath: "docker/Dockerfile.build.rhel9" output: to: kind: "ImageStreamTag"