From 462d72f9be57b415d870e12572b5a9f4b12863bd Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Thu, 18 Dec 2025 15:29:10 -0500 Subject: [PATCH 01/24] fix readme :) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ac3bec9d..83ccbe6e 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ More elaborate instructions may be found below in this document. _Hyrax Docker Hub Pages_ - [**Hyrax Data Server**](https://cloud.docker.com/u/opendap/repository/docker/opendap/hyrax) - [**Hyrax Data Server + ncWMS2**](https://cloud.docker.com/u/opendap/repository/docker/opendap/hyrax_ncmws) -- [**besd**](https://cloud.docker.com/u/opendap/repository/docker/opendap/olfs) -- [**olfs**](https://cloud.docker.com/u/opendap/repository/docker/opendap/besd) +- [**besd**](https://cloud.docker.com/u/opendap/repository/docker/opendap/besd) +- [**olfs**](https://cloud.docker.com/u/opendap/repository/docker/opendap/olfs) #### Build From 9970c2ead925b657f39e1b536e8e4ab0a9392b1e Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Thu, 18 Dec 2025 15:31:31 -0500 Subject: [PATCH 02/24] remove stage that is not present in travis --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7b06c971..1197a266 100644 --- a/.travis.yml +++ b/.travis.yml @@ -87,8 +87,6 @@ install: - ls -l ./builds stages: - - name: OLFS - if: branch = master - name: BUILD_AND_TEST if: branch = master - name: BUILD From d8bf741d0dbd8b2a53f3d5c256fecdf1b3d21a34 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Fri, 19 Dec 2025 14:59:05 -0500 Subject: [PATCH 03/24] lightweight hyrax build with new bes image base --- .gitignore | 10 ++ .travis.yml | 268 ++++++++++++++++++++-------------------- builds/besd/Dockerfile | 4 - builds/hyrax/Dockerfile | 69 +++-------- builds/ngap/Dockerfile | 3 - builds/olfs/Dockerfile | 4 - 6 files changed, 159 insertions(+), 199 deletions(-) diff --git a/.gitignore b/.gitignore index f1cec08e..36128a2c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,13 @@ logs *.iml *.log /.project + +# Intermediate build artifacts +*.tgz +*.rpm +*.gz +*tar.gz.asc +builds/cookies +builds/bes.json +builds/beslog2json.py +apache_tomcat_keys \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 1197a266..03480711 100644 --- a/.travis.yml +++ b/.travis.yml @@ -114,12 +114,9 @@ jobs: - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - show_version - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_besd_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "el8" - "${LIBDAP_VERSION}" - "${BES_VERSION}" $ADD_DEBUG 2>&1 + - BES_IMAGE_BUILD_NUMBER="$(echo ${BES_VERSION} | cut -d- -f2)" + - BES_IMAGE_TAG="opendap/bes_rhel8:${BES_IMAGE_BUILD_NUMBER}" + - docker image pull ${BES_IMAGE_TAG} - s3_get_olfs_distro "${S3_BUILD_BUCKET}" "${DOCKER_NAME}" @@ -130,6 +127,7 @@ jobs: --build-arg HYRAX_VERSION --build-arg LIBDAP_VERSION --build-arg BES_VERSION + --build-arg BES_IMAGE_TAG --build-arg OLFS_VERSION --tag "${SNAPSHOT_IMAGE_TAG}" --tag "${BUILD_VERSION_TAG}" @@ -139,138 +137,138 @@ jobs: - echo "Running Test Script" - ./regression_test_script -i ${SNAPSHOT_IMAGE_TAG} - - stage: BUILD - name: "Build opendap/besd:snapshot (RH8)" - script: - - cd builds - - export DOCKER_NAME="besd" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot" - - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${BES_VERSION}" - - show_version - - s3_get_besd_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "el8" - "${LIBDAP_VERSION}" - "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 - - docker build - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg LIBDAP_VERSION - --build-arg BES_VERSION - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" - "${DOCKER_NAME}" - - docker image ls -a +# - stage: BUILD +# name: "Build opendap/besd:snapshot (RH8)" +# script: +# - cd builds +# - export DOCKER_NAME="besd" +# - source ./build-rh8 +# - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot" +# - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${BES_VERSION}" +# - show_version +# - s3_get_besd_distro +# "${S3_BUILD_BUCKET}" +# "${DOCKER_NAME}" +# "el8" +# "${LIBDAP_VERSION}" +# "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 +# - docker build +# --build-arg RELEASE_DATE +# --build-arg HYRAX_VERSION +# --build-arg LIBDAP_VERSION +# --build-arg BES_VERSION +# --tag "${SNAPSHOT_IMAGE_TAG}" +# --tag "${BUILD_VERSION_TAG}" +# "${DOCKER_NAME}" +# - docker image ls -a - - stage: BUILD - name: "Build opendap/hyrax_ncwms:snapshot (RH8)" - script: - - cd builds - - export DOCKER_NAME="hyrax" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}_ncwms:snapshot" - - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}_ncwms:${HYRAX_VERSION}" - - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - show_version - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_besd_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "el8" - "${LIBDAP_VERSION}" - "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 - - s3_get_olfs_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "${OLFS_VERSION}" 2>&1 - - docker build - --build-arg TOMCAT_VERSION - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg LIBDAP_VERSION - --build-arg BES_VERSION - --build-arg OLFS_VERSION - --build-arg USE_NCWMS=true - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" - "${DOCKER_NAME}" - - docker image ls -a +# - stage: BUILD +# name: "Build opendap/hyrax_ncwms:snapshot (RH8)" +# script: +# - cd builds +# - export DOCKER_NAME="hyrax" +# - source ./build-rh8 +# - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}_ncwms:snapshot" +# - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}_ncwms:${HYRAX_VERSION}" +# - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") +# - show_version +# - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" +# - s3_get_besd_distro +# "${S3_BUILD_BUCKET}" +# "${DOCKER_NAME}" +# "el8" +# "${LIBDAP_VERSION}" +# "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 +# - s3_get_olfs_distro +# "${S3_BUILD_BUCKET}" +# "${DOCKER_NAME}" +# "${OLFS_VERSION}" 2>&1 +# - docker build +# --build-arg TOMCAT_VERSION +# --build-arg RELEASE_DATE +# --build-arg HYRAX_VERSION +# --build-arg LIBDAP_VERSION +# --build-arg BES_VERSION +# --build-arg OLFS_VERSION +# --build-arg USE_NCWMS=true +# --tag "${SNAPSHOT_IMAGE_TAG}" +# --tag "${BUILD_VERSION_TAG}" +# "${DOCKER_NAME}" +# - docker image ls -a - - stage: BUILD - name: "Build opendap/hyrax:ngap-snapshot (RH8)" - script: - - cd builds - - export DOCKER_NAME="ngap" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/hyrax:${DOCKER_NAME}-snapshot" - - export BUILD_VERSION_TAG=opendap/hyrax:${DOCKER_NAME}-${HYRAX_VERSION} - - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - show_version - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_besd_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "el8" - "${LIBDAP_VERSION}" - "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 - - get_ngap_olfs_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "${OLFS_VERSION}" 2>&1 - - docker build - --build-arg TOMCAT_VERSION - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg LIBDAP_VERSION - --build-arg BES_VERSION - --build-arg OLFS_VERSION - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" - "${DOCKER_NAME}" - - docker image ls -a +# - stage: BUILD +# name: "Build opendap/hyrax:ngap-snapshot (RH8)" +# script: +# - cd builds +# - export DOCKER_NAME="ngap" +# - source ./build-rh8 +# - export SNAPSHOT_IMAGE_TAG="opendap/hyrax:${DOCKER_NAME}-snapshot" +# - export BUILD_VERSION_TAG=opendap/hyrax:${DOCKER_NAME}-${HYRAX_VERSION} +# - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") +# - show_version +# - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" +# - s3_get_besd_distro +# "${S3_BUILD_BUCKET}" +# "${DOCKER_NAME}" +# "el8" +# "${LIBDAP_VERSION}" +# "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 +# - get_ngap_olfs_distro +# "${S3_BUILD_BUCKET}" +# "${DOCKER_NAME}" +# "${OLFS_VERSION}" 2>&1 +# - docker build +# --build-arg TOMCAT_VERSION +# --build-arg RELEASE_DATE +# --build-arg HYRAX_VERSION +# --build-arg LIBDAP_VERSION +# --build-arg BES_VERSION +# --build-arg OLFS_VERSION +# --tag "${SNAPSHOT_IMAGE_TAG}" +# --tag "${BUILD_VERSION_TAG}" +# "${DOCKER_NAME}" +# - docker image ls -a - - stage: BUILD - name: "Build opendap/olfs:snapshot" - script: - - cd builds - - export DOCKER_NAME="olfs" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot" - - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${OLFS_VERSION}" - - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - show_version - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_olfs_distro - "${S3_BUILD_BUCKET}" - "olfs" - "${OLFS_VERSION}" 2>&1 - - docker build - --build-arg TOMCAT_VERSION - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg OLFS_VERSION - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" olfs - - docker image ls -a +# - stage: BUILD +# name: "Build opendap/olfs:snapshot" +# script: +# - cd builds +# - export DOCKER_NAME="olfs" +# - source ./build-rh8 +# - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot" +# - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${OLFS_VERSION}" +# - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") +# - show_version +# - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" +# - s3_get_olfs_distro +# "${S3_BUILD_BUCKET}" +# "olfs" +# "${OLFS_VERSION}" 2>&1 +# - docker build +# --build-arg TOMCAT_VERSION +# --build-arg RELEASE_DATE +# --build-arg HYRAX_VERSION +# --build-arg OLFS_VERSION +# --tag "${SNAPSHOT_IMAGE_TAG}" +# --tag "${BUILD_VERSION_TAG}" olfs +# - docker image ls -a - - stage: TEST_DEPLOYED_IMAGE - name: "Test Deployed Image (RH8)" - script: - - export TEST_IMAGE=opendap/hyrax:${HYRAX_VERSION} - - echo "Running Hyrax Regression Test Script on ${TEST_IMAGE}" - - ./regression_test_script -i "${TEST_IMAGE}" - - export DEPLOY_ME="false" +# - stage: TEST_DEPLOYED_IMAGE +# name: "Test Deployed Image (RH8)" +# script: +# - export TEST_IMAGE=opendap/hyrax:${HYRAX_VERSION} +# - echo "Running Hyrax Regression Test Script on ${TEST_IMAGE}" +# - ./regression_test_script -i "${TEST_IMAGE}" +# - export DEPLOY_ME="false" -before_deploy: - - export DOCKER_LOGIN=`aws ecr get-login --region us-east-1 | sed "s/-e none //g"`; - - $DOCKER_LOGIN; - - echo "DEPLOY_ME is ${DEPLOY_ME}" +# before_deploy: +# - export DOCKER_LOGIN=`aws ecr get-login --region us-east-1 | sed "s/-e none //g"`; +# - $DOCKER_LOGIN; +# - echo "DEPLOY_ME is ${DEPLOY_ME}" -deploy: - - provider: script - script: bash ${TRAVIS_BUILD_DIR}/deploy_to_docker_hub.sh - on: - branch: master - condition: ${DEPLOY_ME} = "true" +# deploy: +# - provider: script +# script: bash ${TRAVIS_BUILD_DIR}/deploy_to_docker_hub.sh +# on: +# branch: master +# condition: ${DEPLOY_ME} = "true" diff --git a/builds/besd/Dockerfile b/builds/besd/Dockerfile index cb6bf753..84037637 100644 --- a/builds/besd/Dockerfile +++ b/builds/besd/Dockerfile @@ -56,10 +56,6 @@ RUN set -e && dnf install -y which bc emacs vim \ && dnf update -y \ && dnf clean all -RUN set -e && curl -sS https://bootstrap.pypa.io/get-pip.py | python3 \ - && python3 -m pip install --upgrade pip \ - && python3 -m pip install --no-cache-dir awscli - ############################################################### # Retrieve and install the latest libdap snapshot RUN set -e \ diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 523816d2..6de7c77b 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -13,15 +13,16 @@ # it for debugging stuff. # # Set one or more individual labels -FROM rockylinux:8 +ARG BES_IMAGE_TAG +FROM ${BES_IMAGE_TAG} -RUN export NOW=`date +%s` +ENV NOW="$(`date +%s`)" ARG RELEASE_DATE -ENV RELEASE_DATE ${RELEASE_DATE:-"${NOW}"} +ENV RELEASE_DATE=${RELEASE_DATE:-"${NOW}"} RUN echo "RELEASE_DATE: ${RELEASE_DATE}" ARG TOMCAT_VERSION -ENV TOMCAT_VERSION ${TOMCAT_VERSION:-"9.0.64"} +ENV TOMCAT_VERSION=${TOMCAT_VERSION:-"9.0.64"} RUN echo "TOMCAT_VERSION: ${TOMCAT_VERSION}" ENV TOMCAT_DISTRO="apache-tomcat-${TOMCAT_VERSION}" COPY "${TOMCAT_DISTRO}.tar.gz" / @@ -31,26 +32,17 @@ ARG HYRAX_VERSION ENV HYRAX_VERSION=${HYRAX_VERSION:-"snapshot"} RUN echo "HYRAX_VERSION: ${HYRAX_VERSION}" +# TODO: confirm that LIBDAP_VERSION and BES_VERSION match +# versions previously installed in base image, fail if not + ARG LIBDAP_VERSION ENV LIBDAP_VERSION=${LIBDAP_VERSION:-"snapshot"} RUN echo "LIBDAP_VERSION: ${LIBDAP_VERSION}" -ARG LIBDAP_RPM -ENV LIBDAP_RPM=${LIBDAP_RPM:-"libdap-${LIBDAP_VERSION}.el8.x86_64.rpm"} -RUN echo "LIBDAP_RPM: ${LIBDAP_RPM}" -COPY ${LIBDAP_RPM} libdap-devel-* libdap-debuginfo-* / -RUN ls -l /libdap-* >&2 - ARG BES_VERSION ENV BES_VERSION=${BES_VERSION:-"snapshot"} RUN echo "BES_VERSION: ${BES_VERSION}" -ARG BES_RPM -ENV BES_RPM=${BES_RPM:-"bes-${BES_VERSION}.static.el8.x86_64.rpm"} -RUN echo "BES_RPM: ${BES_RPM}" -COPY ${BES_RPM} bes-devel-* bes-debuginfo-* / -RUN ls -l /bes-* >&2 - ARG OLFS_VERSION ENV OLFS_VERSION=${OLFS_VERSION:-"snapshot"} RUN echo "OLFS_VERSION: ${OLFS_VERSION}" @@ -74,7 +66,7 @@ LABEL org.opendap.hyrax.version=${HYRAX_VERSION} LABEL org.opendap.hyrax.release-date=${RELEASE_DATE} LABEL org.opendap.hyrax.version.is-production="false" -MAINTAINER support@opendap.org +LABEL maintainer=support@opendap.org USER root @@ -82,7 +74,7 @@ USER root # The --build-arg USE_NCWMS can be set to "true" in order to # add the ncWMS application to the build. ARG USE_NCWMS -ENV USE_NCWMS ${USE_NCWMS:-"false"} +ENV USE_NCWMS=${USE_NCWMS:-"false"} RUN if [ $USE_NCWMS = "true" ];then echo "NCWMS: ENABLED"; else echo "NCWMS: DISABLED"; fi # @@ -91,12 +83,12 @@ RUN if [ $USE_NCWMS = "true" ];then echo "NCWMS: ENABLED"; else echo "NCWMS: DIS # the URL: https://localhost:8080 if the environment variable NCWMS_BASE # is not in the shell from which the entrypoint.sh script is called. ARG NCWMS_BASE -ENV NCWMS_BASE ${NCWMS_BASE:-"https://localhost:8080"} +ENV NCWMS_BASE=${NCWMS_BASE:-"https://localhost:8080"} RUN if [ $USE_NCWMS = "true" ];then echo "NCWMS_BASE: {$NCWMS_BASE}"; fi ARG DEVELOPER_MODE -ENV DEVELOPER_MODE ${DEVELOPER_MODE:-"false"} +ENV DEVELOPER_MODE=${DEVELOPER_MODE:-"false"} RUN if [ $DEVELOPER_MODE = "true" ];then echo "DEVELOPER_MODE: ENABLED"; else echo "DEVELOPER_MODE: DISABLED"; fi #Get mirrorlist before running yum @@ -122,37 +114,9 @@ RUN set -e && dnf install -y make curl unzip which autoconf automake emacs vim j && dnf install -y java-11-openjdk-devel # Temporary Hack to fix broken OpenJDK-11.0.20.0.8-2 RUN set -e && dnf install -y tzdata-java -# -RUN set -e && curl -sS https://bootstrap.pypa.io/get-pip.py | python3 \ - && python3 -m pip install --upgrade pip \ - && python3 -m pip install --no-cache-dir awscli -# RUN set -e && dnf clean all RUN set -e && which diff -# - - - -################################################################ -# Install the latest libdap snapshot -# - - - - - - - - - - - - - - - - - - - - - -RUN set -e \ - && echo "Installing the libdap rpm: ${LIBDAP_RPM}" \ - && ls -l ./libdap* \ - && dnf -y install ./libdap-*.rpm \ - && rm -f ./${LIBDAP_RPM} - -RUN echo "libdap4 is installed." - -################################################################ -# Install the latest BES snapshot -# - - - - - - - - - - - - - - - - - - - - - -RUN set -e \ - && echo "Installing the latest BES rpm: ${BES_RPM}" \ - && ls -l ./bes* \ - && dnf -y install ./bes-*.rpm \ - && rm -f ./${BES_RPM} RUN echo "besdaemon is here: "`which besdaemon` @@ -178,8 +142,8 @@ RUN set -e && systemctl enable tomcat #RUN firewall-cmd --add-port 8080/tcp --permanent #RUN firewall-cmd --reload -ENV CATALINA_HOME /usr/share/tomcat -ENV PATH $CATALINA_HOME/bin:$PATH +ENV CATALINA_HOME=/usr/share/tomcat +ENV PATH=$CATALINA_HOME/bin:$PATH RUN set -e && echo "CATALINA_HOME: ${CATALINA_HOME}" >&2 # Install our modified server.xml so that the server compresses responses. @@ -228,7 +192,7 @@ RUN set -e \ ################################################################ # Clean up the Hyrax distribution binaries. # -RUN rm -vf /libdap*.rpm /bes*.rpm /olfs*.tgz /robots*.tgz /apache* +RUN rm -vf /olfs*.tgz /robots*.tgz /apache* # ################################################################ @@ -237,7 +201,7 @@ RUN rm -vf /libdap*.rpm /bes*.rpm /olfs*.tgz /robots*.tgz /apache* # - - - - - - - - - - - - - - - - - - - - - ARG NCWMS_VERSION -ENV NCWMS_VERSION ${NCWMS_VERSION:-"2.5.2"} +ENV NCWMS_VERSION=${NCWMS_VERSION:-"2.5.2"} RUN echo "NCWMS_VERSION: ${NCWMS_VERSION}" ENV NCWMS_WAR_URL="https://github.com/Reading-eScience-Centre/ncwms/releases/download/ncwms-${NCWMS_VERSION}/ncWMS2.war" RUN echo "NCWMS_WAR_URL: ${NCWMS_WAR_URL}" @@ -330,4 +294,3 @@ RUN chown -R bes /etc/bes USER root CMD ["-"] - diff --git a/builds/ngap/Dockerfile b/builds/ngap/Dockerfile index 4396fb79..0083af3c 100644 --- a/builds/ngap/Dockerfile +++ b/builds/ngap/Dockerfile @@ -114,9 +114,6 @@ RUN set -e && dnf install -y tzdata-java # RUN set -e && dnf clean all # -RUN set -e && curl -sS https://bootstrap.pypa.io/get-pip.py | python3 \ - && python3 -m pip install --upgrade pip \ - && python3 -m pip install awscli ################################################################ # Install the latest libdap snapshot diff --git a/builds/olfs/Dockerfile b/builds/olfs/Dockerfile index c639fedf..c635041e 100644 --- a/builds/olfs/Dockerfile +++ b/builds/olfs/Dockerfile @@ -75,10 +75,6 @@ RUN set -e && dnf install -y curl unzip which emacs vim \ && dnf install -y java-11-openjdk-devel \ && dnf install -y tzdata-java \ && dnf clean all -# -RUN set -e && curl -sS https://bootstrap.pypa.io/get-pip.py | python3 \ - && python3 -m pip install --upgrade pip \ - && python3 -m pip install awscli ################################################################ From 6616a690590309069ef7372abc203c61514b9ac4 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Fri, 19 Dec 2025 15:14:53 -0500 Subject: [PATCH 04/24] update bes image for debugging --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 03480711..3ff081cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -115,6 +115,8 @@ jobs: - show_version - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - BES_IMAGE_BUILD_NUMBER="$(echo ${BES_VERSION} | cut -d- -f2)" + # TODO: use versioned image! For testing, use the snapshot. + - BES_IMAGE_TAG="opendap/bes_rhel8:$snapshot" - BES_IMAGE_TAG="opendap/bes_rhel8:${BES_IMAGE_BUILD_NUMBER}" - docker image pull ${BES_IMAGE_TAG} - s3_get_olfs_distro From 03705379ba44a5547e292b9db5fac800a75b24b3 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Fri, 19 Dec 2025 15:41:49 -0500 Subject: [PATCH 05/24] actually export vars --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3ff081cf..2b240e79 100644 --- a/.travis.yml +++ b/.travis.yml @@ -114,10 +114,10 @@ jobs: - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - show_version - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - BES_IMAGE_BUILD_NUMBER="$(echo ${BES_VERSION} | cut -d- -f2)" + - export BES_IMAGE_BUILD_NUMBER="$(echo ${BES_VERSION} | cut -d- -f2)" # TODO: use versioned image! For testing, use the snapshot. - - BES_IMAGE_TAG="opendap/bes_rhel8:$snapshot" - - BES_IMAGE_TAG="opendap/bes_rhel8:${BES_IMAGE_BUILD_NUMBER}" + - export BES_IMAGE_TAG="opendap/bes_rhel8:$snapshot" + - export BES_IMAGE_TAG="opendap/bes_rhel8:${BES_IMAGE_BUILD_NUMBER}" - docker image pull ${BES_IMAGE_TAG} - s3_get_olfs_distro "${S3_BUILD_BUCKET}" From 03f622e705408bf4d7c8ca5ade3bd0c87e01ef22 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Fri, 19 Dec 2025 16:07:45 -0500 Subject: [PATCH 06/24] update version to include image --- .travis.yml | 8 ++++---- builds/build-rh8 | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2b240e79..b1f2a357 100644 --- a/.travis.yml +++ b/.travis.yml @@ -112,13 +112,13 @@ jobs: - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot" - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${HYRAX_VERSION}" - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - show_version - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - export BES_IMAGE_BUILD_NUMBER="$(echo ${BES_VERSION} | cut -d- -f2)" # TODO: use versioned image! For testing, use the snapshot. - - export BES_IMAGE_TAG="opendap/bes_rhel8:$snapshot" - - export BES_IMAGE_TAG="opendap/bes_rhel8:${BES_IMAGE_BUILD_NUMBER}" + - export BES_IMAGE_TAG="opendap/bes_rhel8:snapshot" + # - export BES_IMAGE_TAG="opendap/bes_rhel8:${BES_IMAGE_BUILD_NUMBER}" + - show_version - docker image pull ${BES_IMAGE_TAG} + - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - s3_get_olfs_distro "${S3_BUILD_BUCKET}" "${DOCKER_NAME}" diff --git a/builds/build-rh8 b/builds/build-rh8 index bd21d660..ae9f5d81 100755 --- a/builds/build-rh8 +++ b/builds/build-rh8 @@ -54,6 +54,7 @@ function show_version(){ loggy " HYRAX_VERSION: ${HYRAX_VERSION}" loggy " OLFS_VERSION: ${OLFS_VERSION}" loggy " BES_VERSION: ${BES_VERSION}" + loggy " BES_IMAGE_TAG: ${BES_IMAGE_TAG}" loggy " BUILD_DMRPP_VERSION: ${BUILD_DMRPP_VERSION}" loggy " LIBDAP_VERSION: ${LIBDAP_VERSION}" loggy " DOCKER_NAME: ${DOCKER_NAME}" From 65d05615850798d5f26761fbdbfa1c1d704f0ab8 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Fri, 19 Dec 2025 16:14:31 -0500 Subject: [PATCH 07/24] fail script if any one step fails --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index b1f2a357..0ccf0557 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,6 +106,7 @@ jobs: - stage: BUILD_AND_TEST name: "Build and Test opendap/hyrax:snapshot (RH8)" script: + - set -e - cd builds - export DOCKER_NAME="hyrax" - source ./build-rh8 From 377f005dd3075f829075178c201e0e21d1ed9dc3 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Fri, 19 Dec 2025 16:35:32 -0500 Subject: [PATCH 08/24] update to match bes version --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0ccf0557..aa8e1a5b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,17 +106,15 @@ jobs: - stage: BUILD_AND_TEST name: "Build and Test opendap/hyrax:snapshot (RH8)" script: - - set -e - cd builds - export DOCKER_NAME="hyrax" - source ./build-rh8 - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot" - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${HYRAX_VERSION}" - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - export BES_IMAGE_BUILD_NUMBER="$(echo ${BES_VERSION} | cut -d- -f2)" # TODO: use versioned image! For testing, use the snapshot. - export BES_IMAGE_TAG="opendap/bes_rhel8:snapshot" - # - export BES_IMAGE_TAG="opendap/bes_rhel8:${BES_IMAGE_BUILD_NUMBER}" + # - export BES_IMAGE_TAG="opendap/bes_rhel8:${BES_VERSION}" - show_version - docker image pull ${BES_IMAGE_TAG} - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" From 249181fa461e09bad00f3b8513c8959c10606f82 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 22 Dec 2025 15:36:01 -0500 Subject: [PATCH 09/24] fail fast --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index aa8e1a5b..9e98851a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,6 +106,7 @@ jobs: - stage: BUILD_AND_TEST name: "Build and Test opendap/hyrax:snapshot (RH8)" script: + - set -e # Fail fast - cd builds - export DOCKER_NAME="hyrax" - source ./build-rh8 From ce966aea708b1fc3f0543d65f59f51d8f4496bfe Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 22 Dec 2025 17:07:04 -0500 Subject: [PATCH 10/24] add additional installation steps from rpm --- .travis.yml | 2 +- builds/hyrax/Dockerfile | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9e98851a..9271a861 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,7 +106,6 @@ jobs: - stage: BUILD_AND_TEST name: "Build and Test opendap/hyrax:snapshot (RH8)" script: - - set -e # Fail fast - cd builds - export DOCKER_NAME="hyrax" - source ./build-rh8 @@ -123,6 +122,7 @@ jobs: "${S3_BUILD_BUCKET}" "${DOCKER_NAME}" "${OLFS_VERSION}" 2>&1 + - set -e # Don't keep going if the docker build fails.... - docker build --build-arg TOMCAT_VERSION --build-arg RELEASE_DATE diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 6de7c77b..c88e1082 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -118,8 +118,24 @@ RUN set -e && dnf install -y tzdata-java RUN set -e && dnf clean all RUN set -e && which diff + +################################################################ +# Set up BES +# +# BES is already installed by definition on the base image, but +# we need to do some final installation steps that would otherwise +# be handled by RPM installation + RUN echo "besdaemon is here: "`which besdaemon` +# Instead of rpm pre: +RUN getent group bes >/dev/null || groupadd -r bes +RUN getent passwd bes >/dev/null || \ + useradd -r -g bes -d /var/log/bes -s /sbin/nologin -c "BES daemon" bes + +# Instead of rpm post: +RUN cd bes && chkconfig --add besd + ################################################################ # Install and Setup Tomcat # From bce47cf311c7d9c07bc7c028011a120b6f9c5901 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 22 Dec 2025 17:15:57 -0500 Subject: [PATCH 11/24] fail faster --- .travis.yml | 10 +- builds/hyrax/Dockerfile | 338 ++++++++++++++++++++-------------------- 2 files changed, 174 insertions(+), 174 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9271a861..d9f6f9cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -117,11 +117,11 @@ jobs: # - export BES_IMAGE_TAG="opendap/bes_rhel8:${BES_VERSION}" - show_version - docker image pull ${BES_IMAGE_TAG} - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_olfs_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "${OLFS_VERSION}" 2>&1 + # - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" + # - s3_get_olfs_distro + # "${S3_BUILD_BUCKET}" + # "${DOCKER_NAME}" + # "${OLFS_VERSION}" 2>&1 - set -e # Don't keep going if the docker build fails.... - docker build --build-arg TOMCAT_VERSION diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index c88e1082..df607a28 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -133,176 +133,176 @@ RUN getent group bes >/dev/null || groupadd -r bes RUN getent passwd bes >/dev/null || \ useradd -r -g bes -d /var/log/bes -s /sbin/nologin -c "BES daemon" bes -# Instead of rpm post: -RUN cd bes && chkconfig --add besd - -################################################################ -# Install and Setup Tomcat -# -# Make tomcat user and group -# - - - - - - - - - - - - - - - - - - - - - -RUN set -e && useradd -m -U -d /home/tomcat -s /bin/false tomcat -# -# Install the Tomcat package that should have been copied into -# the root directory prior to this layer. -# -RUN set -e \ - && tar -xvf "/${TOMCAT_DISTRO}.tar.gz" -C /home/tomcat >&2 \ - && ln -s /home/tomcat/${TOMCAT_DISTRO} /usr/share/tomcat >&2 \ - && ln -s /home/tomcat/${TOMCAT_DISTRO} /tomcat >&2 \ - && rm -rvf /usr/share/tomcat/webapps/* >&2 \ - && mkdir -p /var/log/tomcat \ - && chown -R tomcat:tomcat /var/log/tomcat /home/tomcat -COPY tomcat.service /etc/systemd/system/tomcat.service -RUN set -e && systemctl enable tomcat -#RUN firewall-cmd --add-port 8080/tcp --permanent -#RUN firewall-cmd --reload - -ENV CATALINA_HOME=/usr/share/tomcat -ENV PATH=$CATALINA_HOME/bin:$PATH -RUN set -e && echo "CATALINA_HOME: ${CATALINA_HOME}" >&2 - -# Install our modified server.xml so that the server compresses responses. -COPY tomcat9-server.xml / -RUN set -e \ - && mv /tomcat9-server.xml ${CATALINA_HOME}/conf/server.xml \ - && chown -R tomcat:tomcat ${CATALINA_HOME}/conf/server.xml - -RUN set -e \ - && echo "Cleaning up Tomcat distribution files..." >&2 \ - && rm -fv "/${TOMCAT_DISTRO}.tar.gz" - -################################################################ -# Install the OLFS web application -# - - - - - - - - - - - - - - - - - - - - - -ENV ROOT=/dev/shm - -RUN echo "Installing the latest olfs distribution (${OLFS_VERSION})." >&2 -RUN set -e \ - && echo "working_dir: "`pwd` >&2 \ - && ls -l . \ - && tar -C ${ROOT} -xzvf ./${OLFS_DISTRO}.tgz \ - && ls -l ${ROOT} \ - && echo "Unpacking warfile..." >&2 \ - && mkdir -p $(readlink -f ${CATALINA_HOME})/webapps/${DEPLOYMENT_CONTEXT}/ \ - && unzip -o ${ROOT}/${OLFS_DISTRO}/opendap.war -d ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/ \ - && echo "Cleaning up." >&2 \ - && rm -rf ${ROOT}/${OLFS_DISTRO} ./${OLFS_DISTRO}.tgz - -RUN set -e \ - && echo "Installing the latest dynamic robots.txt distribution (${OLFS_VERSION})." >&2 \ - && ls -l ./robots* \ - && tar -C ${ROOT} -xzf ./${ROBOTS_DISTRO}.tgz \ - && ls -l ${ROOT}/${ROBOTS_DISTRO} \ - && echo "Unpacking dynamic robots.txt warfile..." >&2 \ - && unzip -o ${ROOT}/${ROBOTS_DISTRO}/ROOT.war -d ${CATALINA_HOME}/webapps/ROOT/ \ - && echo "Cleaning up dynamic robots.txt snapshot..." >&2 \ - && rm -rf ${ROOT}/${ROBOTS_DISTRO} ${ROBOTS_DISTRO}.tgz - -# Fix ownership and access permissions -RUN set -e \ - && mkdir -p ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ - && chown -R tomcat:tomcat ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ - && chmod 700 ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs - -################################################################ -# Clean up the Hyrax distribution binaries. -# -RUN rm -vf /olfs*.tgz /robots*.tgz /apache* -# -################################################################ - -################################################################ -# retrieve and install the ncWMS web application -# - - - - - - - - - - - - - - - - - - - - - - -ARG NCWMS_VERSION -ENV NCWMS_VERSION=${NCWMS_VERSION:-"2.5.2"} -RUN echo "NCWMS_VERSION: ${NCWMS_VERSION}" -ENV NCWMS_WAR_URL="https://github.com/Reading-eScience-Centre/ncwms/releases/download/ncwms-${NCWMS_VERSION}/ncWMS2.war" -RUN echo "NCWMS_WAR_URL: ${NCWMS_WAR_URL}" - -RUN if [ $USE_NCWMS = "true" ]; then \ - echo "Installing ncWMS..."; \ - curl -sfSL ${NCWMS_WAR_URL} -o /dev/shm/ncWMS.war; \ - unzip -o /dev/shm/ncWMS.war -d ${CATALINA_HOME}/webapps/ncWMS2/; \ - rm -rf /dev/shm/*; \ - else \ - echo "ncWMS will NOT be installed."; \ - fi - -# set a default ncWMS admin if DEVELOPER_MODE is enabled. -RUN if [ ${DEVELOPER_MODE} = "true" ] && [ $USE_NCWMS = "true" ]; then \ - echo "DEVELOPER MODE: Adding ncWMS admin credentials"; \ - sed -i 'sXX X' ${CATALINA_HOME}/conf/tomcat-users.xml; \ - else \ - echo "No ncWMS admin credentials installed."; \ - fi +# Instead of rpm post: #TODO-maybe: cd into bes dir first?? +RUN chkconfig --add besd + +# ################################################################ +# # Install and Setup Tomcat +# # +# # Make tomcat user and group +# # - - - - - - - - - - - - - - - - - - - - - +# RUN set -e && useradd -m -U -d /home/tomcat -s /bin/false tomcat +# # +# # Install the Tomcat package that should have been copied into +# # the root directory prior to this layer. +# # +# RUN set -e \ +# && tar -xvf "/${TOMCAT_DISTRO}.tar.gz" -C /home/tomcat >&2 \ +# && ln -s /home/tomcat/${TOMCAT_DISTRO} /usr/share/tomcat >&2 \ +# && ln -s /home/tomcat/${TOMCAT_DISTRO} /tomcat >&2 \ +# && rm -rvf /usr/share/tomcat/webapps/* >&2 \ +# && mkdir -p /var/log/tomcat \ +# && chown -R tomcat:tomcat /var/log/tomcat /home/tomcat +# COPY tomcat.service /etc/systemd/system/tomcat.service +# RUN set -e && systemctl enable tomcat +# #RUN firewall-cmd --add-port 8080/tcp --permanent +# #RUN firewall-cmd --reload + +# ENV CATALINA_HOME=/usr/share/tomcat +# ENV PATH=$CATALINA_HOME/bin:$PATH +# RUN set -e && echo "CATALINA_HOME: ${CATALINA_HOME}" >&2 + +# # Install our modified server.xml so that the server compresses responses. +# COPY tomcat9-server.xml / +# RUN set -e \ +# && mv /tomcat9-server.xml ${CATALINA_HOME}/conf/server.xml \ +# && chown -R tomcat:tomcat ${CATALINA_HOME}/conf/server.xml + +# RUN set -e \ +# && echo "Cleaning up Tomcat distribution files..." >&2 \ +# && rm -fv "/${TOMCAT_DISTRO}.tar.gz" + +# ################################################################ +# # Install the OLFS web application +# # - - - - - - - - - - - - - - - - - - - - - +# ENV ROOT=/dev/shm + +# RUN echo "Installing the latest olfs distribution (${OLFS_VERSION})." >&2 +# RUN set -e \ +# && echo "working_dir: "`pwd` >&2 \ +# && ls -l . \ +# && tar -C ${ROOT} -xzvf ./${OLFS_DISTRO}.tgz \ +# && ls -l ${ROOT} \ +# && echo "Unpacking warfile..." >&2 \ +# && mkdir -p $(readlink -f ${CATALINA_HOME})/webapps/${DEPLOYMENT_CONTEXT}/ \ +# && unzip -o ${ROOT}/${OLFS_DISTRO}/opendap.war -d ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/ \ +# && echo "Cleaning up." >&2 \ +# && rm -rf ${ROOT}/${OLFS_DISTRO} ./${OLFS_DISTRO}.tgz + +# RUN set -e \ +# && echo "Installing the latest dynamic robots.txt distribution (${OLFS_VERSION})." >&2 \ +# && ls -l ./robots* \ +# && tar -C ${ROOT} -xzf ./${ROBOTS_DISTRO}.tgz \ +# && ls -l ${ROOT}/${ROBOTS_DISTRO} \ +# && echo "Unpacking dynamic robots.txt warfile..." >&2 \ +# && unzip -o ${ROOT}/${ROBOTS_DISTRO}/ROOT.war -d ${CATALINA_HOME}/webapps/ROOT/ \ +# && echo "Cleaning up dynamic robots.txt snapshot..." >&2 \ +# && rm -rf ${ROOT}/${ROBOTS_DISTRO} ${ROBOTS_DISTRO}.tgz + +# # Fix ownership and access permissions +# RUN set -e \ +# && mkdir -p ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ +# && chown -R tomcat:tomcat ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ +# && chmod 700 ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs + +# ################################################################ +# # Clean up the Hyrax distribution binaries. +# # +# RUN rm -vf /olfs*.tgz /robots*.tgz /apache* +# # +# ################################################################ + +# ################################################################ +# # retrieve and install the ncWMS web application +# # - - - - - - - - - - - - - - - - - - - - - + +# ARG NCWMS_VERSION +# ENV NCWMS_VERSION=${NCWMS_VERSION:-"2.5.2"} +# RUN echo "NCWMS_VERSION: ${NCWMS_VERSION}" +# ENV NCWMS_WAR_URL="https://github.com/Reading-eScience-Centre/ncwms/releases/download/ncwms-${NCWMS_VERSION}/ncWMS2.war" +# RUN echo "NCWMS_WAR_URL: ${NCWMS_WAR_URL}" + +# RUN if [ $USE_NCWMS = "true" ]; then \ +# echo "Installing ncWMS..."; \ +# curl -sfSL ${NCWMS_WAR_URL} -o /dev/shm/ncWMS.war; \ +# unzip -o /dev/shm/ncWMS.war -d ${CATALINA_HOME}/webapps/ncWMS2/; \ +# rm -rf /dev/shm/*; \ +# else \ +# echo "ncWMS will NOT be installed."; \ +# fi + +# # set a default ncWMS admin if DEVELOPER_MODE is enabled. +# RUN if [ ${DEVELOPER_MODE} = "true" ] && [ $USE_NCWMS = "true" ]; then \ +# echo "DEVELOPER MODE: Adding ncWMS admin credentials"; \ +# sed -i 'sXX X' ${CATALINA_HOME}/conf/tomcat-users.xml; \ +# else \ +# echo "No ncWMS admin credentials installed."; \ +# fi -# -# make ncWMS work without further configuration -# We will need to adjust this target if we -# decide to run as a different (not root) user. -COPY ncWMS_config.xml /root/.ncWMS2/config.xml -RUN chmod +r /root/.ncWMS2/config.xml - -COPY olfs_viewers.xml /tmp/olfs_viewers.xml -RUN if [ $USE_NCWMS = "true" ]; then \ - # If we're installing ncWMS then we copy - # to the server a viewers.xml which has - # been templated so that the ncWMS host can be installed - # at startup. - mv /tmp/olfs_viewers.xml ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/viewers.xml; \ - else \ - echo "Skipping OLFS/ncWMS confguration installation."; \ - fi - -################################################################ -# -# Retrieve, verify, and install the hyrax_regression_tests -# project -# -# - - - - - - - - - - - - - - - - - - - - - -ENV TEST_INSTALL_DIR="/hyrax_regression_tests" -RUN set -e \ - && echo "Retrieving, and building hyrax regression tests." \ - && echo "h_r_t will be in: ${TEST_INSTALL_DIR}" \ - && mkdir -p ${TEST_INSTALL_DIR} \ - && git clone -v https://github.com/opendap/hyrax_regression_tests ${TEST_INSTALL_DIR} \ - && cd ${TEST_INSTALL_DIR} \ - && autoreconf -vif \ - && ./configure - -# In order to get the executable "testsuite" to build we have to run -# "make check" But that will fail at build time so the "make check" call -# ends up pretty tortured to avoid a build error. -RUN set -e \ - && cd ${TEST_INSTALL_DIR} \ - && make testsuite > mk.log 2>&1 \ - && echo "SUCCESS: hyrax_regression_tests ready!" -################################################################ - -RUN ls -l /usr/libexec/ - -################################################################ -# TEMPORARY -# Grab the cleanup files script for managing orphaned files -# from fileout_netcdf -COPY cleanup_files.sh / -RUN chmod +x /cleanup_files.sh -# TEMPORARY -################################################################ - - -COPY entrypoint.sh / -RUN chmod +x /entrypoint.sh -ENTRYPOINT [ "/entrypoint.sh" ] - -EXPOSE 8009 -EXPOSE 8080 -EXPOSE 8443 -EXPOSE 10022 -EXPOSE 11002 +# # +# # make ncWMS work without further configuration +# # We will need to adjust this target if we +# # decide to run as a different (not root) user. +# COPY ncWMS_config.xml /root/.ncWMS2/config.xml +# RUN chmod +r /root/.ncWMS2/config.xml + +# COPY olfs_viewers.xml /tmp/olfs_viewers.xml +# RUN if [ $USE_NCWMS = "true" ]; then \ +# # If we're installing ncWMS then we copy +# # to the server a viewers.xml which has +# # been templated so that the ncWMS host can be installed +# # at startup. +# mv /tmp/olfs_viewers.xml ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/viewers.xml; \ +# else \ +# echo "Skipping OLFS/ncWMS confguration installation."; \ +# fi + +# ################################################################ +# # +# # Retrieve, verify, and install the hyrax_regression_tests +# # project +# # +# # - - - - - - - - - - - - - - - - - - - - - +# ENV TEST_INSTALL_DIR="/hyrax_regression_tests" +# RUN set -e \ +# && echo "Retrieving, and building hyrax regression tests." \ +# && echo "h_r_t will be in: ${TEST_INSTALL_DIR}" \ +# && mkdir -p ${TEST_INSTALL_DIR} \ +# && git clone -v https://github.com/opendap/hyrax_regression_tests ${TEST_INSTALL_DIR} \ +# && cd ${TEST_INSTALL_DIR} \ +# && autoreconf -vif \ +# && ./configure + +# # In order to get the executable "testsuite" to build we have to run +# # "make check" But that will fail at build time so the "make check" call +# # ends up pretty tortured to avoid a build error. +# RUN set -e \ +# && cd ${TEST_INSTALL_DIR} \ +# && make testsuite > mk.log 2>&1 \ +# && echo "SUCCESS: hyrax_regression_tests ready!" +# ################################################################ + +# RUN ls -l /usr/libexec/ + +# ################################################################ +# # TEMPORARY +# # Grab the cleanup files script for managing orphaned files +# # from fileout_netcdf +# COPY cleanup_files.sh / +# RUN chmod +x /cleanup_files.sh +# # TEMPORARY +# ################################################################ + + +# COPY entrypoint.sh / +# RUN chmod +x /entrypoint.sh +# # ENTRYPOINT [ "/entrypoint.sh" ] + +# EXPOSE 8009 +# EXPOSE 8080 +# EXPOSE 8443 +# EXPOSE 10022 +# EXPOSE 11002 # can't use USER with entrypoint that needs root # use gosu or, as done, enable bes user write so the entrypoint does not need root From c702ac15c558543f79658ac793f35bedfb2502a0 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 22 Dec 2025 17:22:09 -0500 Subject: [PATCH 12/24] fail even faster --- .travis.yml | 1 - builds/hyrax/Dockerfile | 18 +++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index d9f6f9cf..e50d7f53 100644 --- a/.travis.yml +++ b/.travis.yml @@ -116,7 +116,6 @@ jobs: - export BES_IMAGE_TAG="opendap/bes_rhel8:snapshot" # - export BES_IMAGE_TAG="opendap/bes_rhel8:${BES_VERSION}" - show_version - - docker image pull ${BES_IMAGE_TAG} # - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" # - s3_get_olfs_distro # "${S3_BUILD_BUCKET}" diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index df607a28..3fc6d6ea 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -47,15 +47,15 @@ ARG OLFS_VERSION ENV OLFS_VERSION=${OLFS_VERSION:-"snapshot"} RUN echo "OLFS_VERSION: ${OLFS_VERSION}" -ARG OLFS_DISTRO -ENV OLFS_DISTRO=${OLFS_DISTRO:-"olfs-${OLFS_VERSION}-webapp"} -RUN echo "OLFS_DISTRO: ${OLFS_DISTRO}" -COPY ${OLFS_DISTRO}.tgz /${OLFS_DISTRO}.tgz - -ARG ROBOTS_DISTRO -ENV ROBOTS_DISTRO=${ROBOTS_DISTRO:-"robots-olfs-${OLFS_VERSION}-webapp"} -RUN echo "ROBOTS_DISTRO: ${ROBOTS_DISTRO}" -COPY ${ROBOTS_DISTRO}.tgz /${ROBOTS_DISTRO}.tgz +# ARG OLFS_DISTRO +# ENV OLFS_DISTRO=${OLFS_DISTRO:-"olfs-${OLFS_VERSION}-webapp"} +# RUN echo "OLFS_DISTRO: ${OLFS_DISTRO}" +# COPY ${OLFS_DISTRO}.tgz /${OLFS_DISTRO}.tgz + +# ARG ROBOTS_DISTRO +# ENV ROBOTS_DISTRO=${ROBOTS_DISTRO:-"robots-olfs-${OLFS_VERSION}-webapp"} +# RUN echo "ROBOTS_DISTRO: ${ROBOTS_DISTRO}" +# COPY ${ROBOTS_DISTRO}.tgz /${ROBOTS_DISTRO}.tgz ARG DEPLOYMENT_CONTEXT ENV DEPLOYMENT_CONTEXT=${DEPLOYMENT_CONTEXT:-"opendap"} From ac29a055f56447abbfd9d5b3cb96c5fbc06a1b65 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 22 Dec 2025 17:27:32 -0500 Subject: [PATCH 13/24] more fail --- builds/hyrax/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 3fc6d6ea..5c3c5b94 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -25,8 +25,8 @@ ARG TOMCAT_VERSION ENV TOMCAT_VERSION=${TOMCAT_VERSION:-"9.0.64"} RUN echo "TOMCAT_VERSION: ${TOMCAT_VERSION}" ENV TOMCAT_DISTRO="apache-tomcat-${TOMCAT_VERSION}" -COPY "${TOMCAT_DISTRO}.tar.gz" / -RUN ls -l /apache-tomcat-* >&2 +# COPY "${TOMCAT_DISTRO}.tar.gz" / +# RUN ls -l /apache-tomcat-* >&2 ARG HYRAX_VERSION ENV HYRAX_VERSION=${HYRAX_VERSION:-"snapshot"} From 3bfd7634f52354db8e2493b170b2e4594bb2106c Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Tue, 23 Dec 2025 10:36:07 -0500 Subject: [PATCH 14/24] fail fast - again --- .travis.yml | 238 ++++++++++++++++++++++++++-------------------------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/.travis.yml b/.travis.yml index e45830d0..ea151318 100644 --- a/.travis.yml +++ b/.travis.yml @@ -138,129 +138,129 @@ jobs: - echo "Running Test Script" - ./regression_test_script -i ${SNAPSHOT_IMAGE_TAG} - - stage: BUILD - name: "Build opendap/besd:snapshot (RH8)" - script: - - cd builds - - export DOCKER_NAME="besd" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot$TEST_DEPLOYMENT" - - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${BES_VERSION}$TEST_DEPLOYMENT" - - show_version - - s3_get_besd_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "el8" - "${LIBDAP_VERSION}" - "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 - - docker build - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg LIBDAP_VERSION - --build-arg BES_VERSION - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" - "${DOCKER_NAME}" - - docker image ls -a + # - stage: BUILD + # name: "Build opendap/besd:snapshot (RH8)" + # script: + # - cd builds + # - export DOCKER_NAME="besd" + # - source ./build-rh8 + # - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot$TEST_DEPLOYMENT" + # - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${BES_VERSION}$TEST_DEPLOYMENT" + # - show_version + # - s3_get_besd_distro + # "${S3_BUILD_BUCKET}" + # "${DOCKER_NAME}" + # "el8" + # "${LIBDAP_VERSION}" + # "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 + # - docker build + # --build-arg RELEASE_DATE + # --build-arg HYRAX_VERSION + # --build-arg LIBDAP_VERSION + # --build-arg BES_VERSION + # --tag "${SNAPSHOT_IMAGE_TAG}" + # --tag "${BUILD_VERSION_TAG}" + # "${DOCKER_NAME}" + # - docker image ls -a - - stage: BUILD - name: "Build opendap/hyrax_ncwms:snapshot (RH8)" - script: - - cd builds - - export DOCKER_NAME="hyrax" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}_ncwms:snapshot$TEST_DEPLOYMENT" - - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}_ncwms:${HYRAX_VERSION}$TEST_DEPLOYMENT" - - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - show_version - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_besd_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "el8" - "${LIBDAP_VERSION}" - "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 - - s3_get_olfs_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "${OLFS_VERSION}" 2>&1 - - docker build - --build-arg TOMCAT_VERSION - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg LIBDAP_VERSION - --build-arg BES_VERSION - --build-arg OLFS_VERSION - --build-arg USE_NCWMS=true - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" - "${DOCKER_NAME}" - - docker image ls -a + # - stage: BUILD + # name: "Build opendap/hyrax_ncwms:snapshot (RH8)" + # script: + # - cd builds + # - export DOCKER_NAME="hyrax" + # - source ./build-rh8 + # - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}_ncwms:snapshot$TEST_DEPLOYMENT" + # - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}_ncwms:${HYRAX_VERSION}$TEST_DEPLOYMENT" + # - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") + # - show_version + # - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" + # - s3_get_besd_distro + # "${S3_BUILD_BUCKET}" + # "${DOCKER_NAME}" + # "el8" + # "${LIBDAP_VERSION}" + # "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 + # - s3_get_olfs_distro + # "${S3_BUILD_BUCKET}" + # "${DOCKER_NAME}" + # "${OLFS_VERSION}" 2>&1 + # - docker build + # --build-arg TOMCAT_VERSION + # --build-arg RELEASE_DATE + # --build-arg HYRAX_VERSION + # --build-arg LIBDAP_VERSION + # --build-arg BES_VERSION + # --build-arg OLFS_VERSION + # --build-arg USE_NCWMS=true + # --tag "${SNAPSHOT_IMAGE_TAG}" + # --tag "${BUILD_VERSION_TAG}" + # "${DOCKER_NAME}" + # - docker image ls -a - - stage: BUILD - name: "Build opendap/hyrax:ngap-snapshot (RH8)" - script: - - cd builds - - export DOCKER_NAME="ngap" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/hyrax:${DOCKER_NAME}-snapshot$TEST_DEPLOYMENT" - - export BUILD_VERSION_TAG="opendap/hyrax:${DOCKER_NAME}-${HYRAX_VERSION}$TEST_DEPLOYMENT" - - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - show_version - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_besd_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "el8" - "${LIBDAP_VERSION}" - "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 - - get_ngap_olfs_distro - "${S3_BUILD_BUCKET}" - "${DOCKER_NAME}" - "${OLFS_VERSION}" 2>&1 - - docker build - --build-arg TOMCAT_VERSION - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg LIBDAP_VERSION - --build-arg BES_VERSION - --build-arg OLFS_VERSION - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" - "${DOCKER_NAME}" - - docker image ls -a + # - stage: BUILD + # name: "Build opendap/hyrax:ngap-snapshot (RH8)" + # script: + # - cd builds + # - export DOCKER_NAME="ngap" + # - source ./build-rh8 + # - export SNAPSHOT_IMAGE_TAG="opendap/hyrax:${DOCKER_NAME}-snapshot$TEST_DEPLOYMENT" + # - export BUILD_VERSION_TAG="opendap/hyrax:${DOCKER_NAME}-${HYRAX_VERSION}$TEST_DEPLOYMENT" + # - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") + # - show_version + # - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" + # - s3_get_besd_distro + # "${S3_BUILD_BUCKET}" + # "${DOCKER_NAME}" + # "el8" + # "${LIBDAP_VERSION}" + # "${BES_VERSION}" "${ADD_DEBUG_RPMS}" 2>&1 + # - get_ngap_olfs_distro + # "${S3_BUILD_BUCKET}" + # "${DOCKER_NAME}" + # "${OLFS_VERSION}" 2>&1 + # - docker build + # --build-arg TOMCAT_VERSION + # --build-arg RELEASE_DATE + # --build-arg HYRAX_VERSION + # --build-arg LIBDAP_VERSION + # --build-arg BES_VERSION + # --build-arg OLFS_VERSION + # --tag "${SNAPSHOT_IMAGE_TAG}" + # --tag "${BUILD_VERSION_TAG}" + # "${DOCKER_NAME}" + # - docker image ls -a - - stage: BUILD - name: "Build opendap/olfs:snapshot" - script: - - cd builds - - export DOCKER_NAME="olfs" - - source ./build-rh8 - - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot$TEST_DEPLOYMENT" - - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${OLFS_VERSION}$TEST_DEPLOYMENT" - - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") - - show_version - - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" - - s3_get_olfs_distro - "${S3_BUILD_BUCKET}" - "olfs" - "${OLFS_VERSION}" 2>&1 - - docker build - --build-arg TOMCAT_VERSION - --build-arg RELEASE_DATE - --build-arg HYRAX_VERSION - --build-arg OLFS_VERSION - --tag "${SNAPSHOT_IMAGE_TAG}" - --tag "${BUILD_VERSION_TAG}" olfs - - docker image ls -a + # - stage: BUILD + # name: "Build opendap/olfs:snapshot" + # script: + # - cd builds + # - export DOCKER_NAME="olfs" + # - source ./build-rh8 + # - export SNAPSHOT_IMAGE_TAG="opendap/${DOCKER_NAME}:snapshot$TEST_DEPLOYMENT" + # - export BUILD_VERSION_TAG="opendap/${DOCKER_NAME}:${OLFS_VERSION}$TEST_DEPLOYMENT" + # - export TOMCAT_VERSION=$(get_latest_tomcat_version_number "${TOMCAT_MAJOR_VERSION}") + # - show_version + # - get_tomcat_distro "${DOCKER_NAME}" "${TOMCAT_VERSION}" + # - s3_get_olfs_distro + # "${S3_BUILD_BUCKET}" + # "olfs" + # "${OLFS_VERSION}" 2>&1 + # - docker build + # --build-arg TOMCAT_VERSION + # --build-arg RELEASE_DATE + # --build-arg HYRAX_VERSION + # --build-arg OLFS_VERSION + # --tag "${SNAPSHOT_IMAGE_TAG}" + # --tag "${BUILD_VERSION_TAG}" olfs + # - docker image ls -a - - stage: TEST_DEPLOYED_IMAGE - name: "Test Deployed Image (RH8)" - script: - - export TEST_IMAGE="opendap/hyrax:${HYRAX_VERSION}$TEST_DEPLOYMENT" - - echo "Running Hyrax Regression Test Script on ${TEST_IMAGE}" - - ./regression_test_script -i "${TEST_IMAGE}" - - export DEPLOY_ME="false" + # - stage: TEST_DEPLOYED_IMAGE + # name: "Test Deployed Image (RH8)" + # script: + # - export TEST_IMAGE="opendap/hyrax:${HYRAX_VERSION}$TEST_DEPLOYMENT" + # - echo "Running Hyrax Regression Test Script on ${TEST_IMAGE}" + # - ./regression_test_script -i "${TEST_IMAGE}" + # - export DEPLOY_ME="false" # before_deploy: # - export DOCKER_LOGIN=`aws ecr get-login --region us-east-1 | sed "s/-e none //g"`; From d39500355d1c42d873c1b6176bc3894c4bba8464 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Fri, 2 Jan 2026 22:16:05 +0000 Subject: [PATCH 15/24] wip copy rpm install behavior, permissions not yet correct --- builds/hyrax/Dockerfile | 397 ++++++++++++++++++---------------- builds/hyrax/entrypoint.sh | 4 +- travis/regression_test_script | 2 +- 3 files changed, 214 insertions(+), 189 deletions(-) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 5c3c5b94..72dcf939 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -13,8 +13,12 @@ # it for debugging stuff. # # Set one or more individual labels + +# Add a default base image to keep docker from complaining, +# which is fine because if this ISN'T based on a given image tag, +# everything downstream will fail due to lack of bes, libdap, etc. ARG BES_IMAGE_TAG -FROM ${BES_IMAGE_TAG} +FROM ${BES_IMAGE_TAG:-"rockylinux:8"} ENV NOW="$(`date +%s`)" ARG RELEASE_DATE @@ -25,8 +29,8 @@ ARG TOMCAT_VERSION ENV TOMCAT_VERSION=${TOMCAT_VERSION:-"9.0.64"} RUN echo "TOMCAT_VERSION: ${TOMCAT_VERSION}" ENV TOMCAT_DISTRO="apache-tomcat-${TOMCAT_VERSION}" -# COPY "${TOMCAT_DISTRO}.tar.gz" / -# RUN ls -l /apache-tomcat-* >&2 +COPY "${TOMCAT_DISTRO}.tar.gz" / +RUN ls -l /apache-tomcat-* >&2 ARG HYRAX_VERSION ENV HYRAX_VERSION=${HYRAX_VERSION:-"snapshot"} @@ -47,15 +51,15 @@ ARG OLFS_VERSION ENV OLFS_VERSION=${OLFS_VERSION:-"snapshot"} RUN echo "OLFS_VERSION: ${OLFS_VERSION}" -# ARG OLFS_DISTRO -# ENV OLFS_DISTRO=${OLFS_DISTRO:-"olfs-${OLFS_VERSION}-webapp"} -# RUN echo "OLFS_DISTRO: ${OLFS_DISTRO}" -# COPY ${OLFS_DISTRO}.tgz /${OLFS_DISTRO}.tgz +ARG OLFS_DISTRO +ENV OLFS_DISTRO=${OLFS_DISTRO:-"olfs-${OLFS_VERSION}-webapp"} +RUN echo "OLFS_DISTRO: ${OLFS_DISTRO}" +COPY ${OLFS_DISTRO}.tgz /${OLFS_DISTRO}.tgz -# ARG ROBOTS_DISTRO -# ENV ROBOTS_DISTRO=${ROBOTS_DISTRO:-"robots-olfs-${OLFS_VERSION}-webapp"} -# RUN echo "ROBOTS_DISTRO: ${ROBOTS_DISTRO}" -# COPY ${ROBOTS_DISTRO}.tgz /${ROBOTS_DISTRO}.tgz +ARG ROBOTS_DISTRO +ENV ROBOTS_DISTRO=${ROBOTS_DISTRO:-"robots-olfs-${OLFS_VERSION}-webapp"} +RUN echo "ROBOTS_DISTRO: ${ROBOTS_DISTRO}" +COPY ${ROBOTS_DISTRO}.tgz /${ROBOTS_DISTRO}.tgz ARG DEPLOYMENT_CONTEXT ENV DEPLOYMENT_CONTEXT=${DEPLOYMENT_CONTEXT:-"opendap"} @@ -103,7 +107,7 @@ RUN if [ $DEVELOPER_MODE = "true" ];then echo "DEVELOPER_MODE: ENABLED"; else ec # are installed in the container but not run until a later stage of the # Travis build (or at a later time). They need to be part of the container, # however, to be run, so install them as part of this Dockerfile. -RUN set -e && dnf update -y +# RUN set -e && dnf update -y RUN set -e && dnf install -y python3.11 \ && python3 --version @@ -128,185 +132,206 @@ RUN set -e && which diff RUN echo "besdaemon is here: "`which besdaemon` -# Instead of rpm pre: +# Add bes group and user (previously constructed via rpm installation) RUN getent group bes >/dev/null || groupadd -r bes RUN getent passwd bes >/dev/null || \ useradd -r -g bes -d /var/log/bes -s /sbin/nologin -c "BES daemon" bes -# Instead of rpm post: #TODO-maybe: cd into bes dir first?? -RUN chkconfig --add besd - -# ################################################################ -# # Install and Setup Tomcat -# # -# # Make tomcat user and group -# # - - - - - - - - - - - - - - - - - - - - - -# RUN set -e && useradd -m -U -d /home/tomcat -s /bin/false tomcat -# # -# # Install the Tomcat package that should have been copied into -# # the root directory prior to this layer. -# # -# RUN set -e \ -# && tar -xvf "/${TOMCAT_DISTRO}.tar.gz" -C /home/tomcat >&2 \ -# && ln -s /home/tomcat/${TOMCAT_DISTRO} /usr/share/tomcat >&2 \ -# && ln -s /home/tomcat/${TOMCAT_DISTRO} /tomcat >&2 \ -# && rm -rvf /usr/share/tomcat/webapps/* >&2 \ -# && mkdir -p /var/log/tomcat \ -# && chown -R tomcat:tomcat /var/log/tomcat /home/tomcat -# COPY tomcat.service /etc/systemd/system/tomcat.service -# RUN set -e && systemctl enable tomcat -# #RUN firewall-cmd --add-port 8080/tcp --permanent -# #RUN firewall-cmd --reload - -# ENV CATALINA_HOME=/usr/share/tomcat -# ENV PATH=$CATALINA_HOME/bin:$PATH -# RUN set -e && echo "CATALINA_HOME: ${CATALINA_HOME}" >&2 - -# # Install our modified server.xml so that the server compresses responses. -# COPY tomcat9-server.xml / -# RUN set -e \ -# && mv /tomcat9-server.xml ${CATALINA_HOME}/conf/server.xml \ -# && chown -R tomcat:tomcat ${CATALINA_HOME}/conf/server.xml - -# RUN set -e \ -# && echo "Cleaning up Tomcat distribution files..." >&2 \ -# && rm -fv "/${TOMCAT_DISTRO}.tar.gz" - -# ################################################################ -# # Install the OLFS web application -# # - - - - - - - - - - - - - - - - - - - - - -# ENV ROOT=/dev/shm - -# RUN echo "Installing the latest olfs distribution (${OLFS_VERSION})." >&2 -# RUN set -e \ -# && echo "working_dir: "`pwd` >&2 \ -# && ls -l . \ -# && tar -C ${ROOT} -xzvf ./${OLFS_DISTRO}.tgz \ -# && ls -l ${ROOT} \ -# && echo "Unpacking warfile..." >&2 \ -# && mkdir -p $(readlink -f ${CATALINA_HOME})/webapps/${DEPLOYMENT_CONTEXT}/ \ -# && unzip -o ${ROOT}/${OLFS_DISTRO}/opendap.war -d ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/ \ -# && echo "Cleaning up." >&2 \ -# && rm -rf ${ROOT}/${OLFS_DISTRO} ./${OLFS_DISTRO}.tgz - -# RUN set -e \ -# && echo "Installing the latest dynamic robots.txt distribution (${OLFS_VERSION})." >&2 \ -# && ls -l ./robots* \ -# && tar -C ${ROOT} -xzf ./${ROBOTS_DISTRO}.tgz \ -# && ls -l ${ROOT}/${ROBOTS_DISTRO} \ -# && echo "Unpacking dynamic robots.txt warfile..." >&2 \ -# && unzip -o ${ROOT}/${ROBOTS_DISTRO}/ROOT.war -d ${CATALINA_HOME}/webapps/ROOT/ \ -# && echo "Cleaning up dynamic robots.txt snapshot..." >&2 \ -# && rm -rf ${ROOT}/${ROBOTS_DISTRO} ${ROBOTS_DISTRO}.tgz - -# # Fix ownership and access permissions -# RUN set -e \ -# && mkdir -p ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ -# && chown -R tomcat:tomcat ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ -# && chmod 700 ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs - -# ################################################################ -# # Clean up the Hyrax distribution binaries. -# # -# RUN rm -vf /olfs*.tgz /robots*.tgz /apache* -# # -# ################################################################ - -# ################################################################ -# # retrieve and install the ncWMS web application -# # - - - - - - - - - - - - - - - - - - - - - - -# ARG NCWMS_VERSION -# ENV NCWMS_VERSION=${NCWMS_VERSION:-"2.5.2"} -# RUN echo "NCWMS_VERSION: ${NCWMS_VERSION}" -# ENV NCWMS_WAR_URL="https://github.com/Reading-eScience-Centre/ncwms/releases/download/ncwms-${NCWMS_VERSION}/ncWMS2.war" -# RUN echo "NCWMS_WAR_URL: ${NCWMS_WAR_URL}" - -# RUN if [ $USE_NCWMS = "true" ]; then \ -# echo "Installing ncWMS..."; \ -# curl -sfSL ${NCWMS_WAR_URL} -o /dev/shm/ncWMS.war; \ -# unzip -o /dev/shm/ncWMS.war -d ${CATALINA_HOME}/webapps/ncWMS2/; \ -# rm -rf /dev/shm/*; \ -# else \ -# echo "ncWMS will NOT be installed."; \ -# fi - -# # set a default ncWMS admin if DEVELOPER_MODE is enabled. -# RUN if [ ${DEVELOPER_MODE} = "true" ] && [ $USE_NCWMS = "true" ]; then \ -# echo "DEVELOPER MODE: Adding ncWMS admin credentials"; \ -# sed -i 'sXX X' ${CATALINA_HOME}/conf/tomcat-users.xml; \ -# else \ -# echo "No ncWMS admin credentials installed."; \ -# fi +# Instead of rpm post: +RUN cp ./usr/local/etc/rc.d/init.d/besd /etc/rc.d/init.d/besd +RUN chkconfig --add besd \ + && ldconfig + +# More rpm-adapting hijinks +# Adapted from bes/spec.all_static.in +# Default macros: https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/ +RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ + -e 's:=.*/bes.log:=/var/log/bes/bes.log:' \ + -e 's:=.*/lib/bes:=/usr/lib/bes:' \ + -e 's:=.*/share/bes:=/usr/share/bes:' \ + -e 's:=.*/share/hyrax:=/usr/share/hyrax:' \ + -e 's:=/full/path/to/serverside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ + -e 's:=/full/path/to/serverside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ + -e 's:=/full/path/to/clientside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ + -e 's:=/full/path/to/clientside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ + -e 's:=user_name:=bes:' \ + -e 's:=group_name:=bes:' \ + /usr/local/etc/bes/bes.conf + +RUN chown -R bes /usr/local/etc/bes \ + /usr/local/share/bes \ + /usr/local/include/bes \ + /usr/local/lib/bes \ + /usr/local/var/run/bes + +################################################################ +# Install and Setup Tomcat +# +# Make tomcat user and group +# - - - - - - - - - - - - - - - - - - - - - +RUN set -e && useradd -m -U -d /home/tomcat -s /bin/false tomcat +# +# Install the Tomcat package that should have been copied into +# the root directory prior to this layer. +# +RUN set -e \ + && tar -xvf "/${TOMCAT_DISTRO}.tar.gz" -C /home/tomcat >&2 \ + && ln -s /home/tomcat/${TOMCAT_DISTRO} /usr/share/tomcat >&2 \ + && ln -s /home/tomcat/${TOMCAT_DISTRO} /tomcat >&2 \ + && rm -rvf /usr/share/tomcat/webapps/* >&2 \ + && mkdir -p /var/log/tomcat \ + && chown -R tomcat:tomcat /var/log/tomcat /home/tomcat +COPY tomcat.service /etc/systemd/system/tomcat.service +RUN set -e && systemctl enable tomcat +#RUN firewall-cmd --add-port 8080/tcp --permanent +#RUN firewall-cmd --reload + +ENV CATALINA_HOME=/usr/share/tomcat +ENV PATH=$CATALINA_HOME/bin:$PATH +RUN set -e && echo "CATALINA_HOME: ${CATALINA_HOME}" >&2 + +# Install our modified server.xml so that the server compresses responses. +COPY tomcat9-server.xml / +RUN set -e \ + && mv /tomcat9-server.xml ${CATALINA_HOME}/conf/server.xml \ + && chown -R tomcat:tomcat ${CATALINA_HOME}/conf/server.xml + +RUN set -e \ + && echo "Cleaning up Tomcat distribution files..." >&2 \ + && rm -fv "/${TOMCAT_DISTRO}.tar.gz" + +################################################################ +# Install the OLFS web application +# - - - - - - - - - - - - - - - - - - - - - +ENV ROOT=/dev/shm + +RUN echo "Installing the latest olfs distribution (${OLFS_VERSION})." >&2 +RUN set -e \ + && echo "working_dir: "`pwd` >&2 \ + && ls -l . \ + && tar -C ${ROOT} -xzvf ./${OLFS_DISTRO}.tgz \ + && ls -l ${ROOT} \ + && echo "Unpacking warfile..." >&2 \ + && mkdir -p $(readlink -f ${CATALINA_HOME})/webapps/${DEPLOYMENT_CONTEXT}/ \ + && unzip -o ${ROOT}/${OLFS_DISTRO}/opendap.war -d ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/ \ + && echo "Cleaning up." >&2 \ + && rm -rf ${ROOT}/${OLFS_DISTRO} ./${OLFS_DISTRO}.tgz + +RUN set -e \ + && echo "Installing the latest dynamic robots.txt distribution (${OLFS_VERSION})." >&2 \ + && ls -l ./robots* \ + && tar -C ${ROOT} -xzf ./${ROBOTS_DISTRO}.tgz \ + && ls -l ${ROOT}/${ROBOTS_DISTRO} \ + && echo "Unpacking dynamic robots.txt warfile..." >&2 \ + && unzip -o ${ROOT}/${ROBOTS_DISTRO}/ROOT.war -d ${CATALINA_HOME}/webapps/ROOT/ \ + && echo "Cleaning up dynamic robots.txt snapshot..." >&2 \ + && rm -rf ${ROOT}/${ROBOTS_DISTRO} ${ROBOTS_DISTRO}.tgz + +# Fix ownership and access permissions +RUN set -e \ + && mkdir -p ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ + && chown -R tomcat:tomcat ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ + && chmod 700 ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs + +################################################################ +# Clean up the Hyrax distribution binaries. +# +RUN rm -vf /olfs*.tgz /robots*.tgz /apache* +# +################################################################ + +################################################################ +# retrieve and install the ncWMS web application +# - - - - - - - - - - - - - - - - - - - - - + +ARG NCWMS_VERSION +ENV NCWMS_VERSION=${NCWMS_VERSION:-"2.5.2"} +RUN echo "NCWMS_VERSION: ${NCWMS_VERSION}" +ENV NCWMS_WAR_URL="https://github.com/Reading-eScience-Centre/ncwms/releases/download/ncwms-${NCWMS_VERSION}/ncWMS2.war" +RUN echo "NCWMS_WAR_URL: ${NCWMS_WAR_URL}" + +RUN if [ $USE_NCWMS = "true" ]; then \ + echo "Installing ncWMS..."; \ + curl -sfSL ${NCWMS_WAR_URL} -o /dev/shm/ncWMS.war; \ + unzip -o /dev/shm/ncWMS.war -d ${CATALINA_HOME}/webapps/ncWMS2/; \ + rm -rf /dev/shm/*; \ + else \ + echo "ncWMS will NOT be installed."; \ + fi + +# set a default ncWMS admin if DEVELOPER_MODE is enabled. +RUN if [ ${DEVELOPER_MODE} = "true" ] && [ $USE_NCWMS = "true" ]; then \ + echo "DEVELOPER MODE: Adding ncWMS admin credentials"; \ + sed -i 'sXX X' ${CATALINA_HOME}/conf/tomcat-users.xml; \ + else \ + echo "No ncWMS admin credentials installed."; \ + fi -# # -# # make ncWMS work without further configuration -# # We will need to adjust this target if we -# # decide to run as a different (not root) user. -# COPY ncWMS_config.xml /root/.ncWMS2/config.xml -# RUN chmod +r /root/.ncWMS2/config.xml - -# COPY olfs_viewers.xml /tmp/olfs_viewers.xml -# RUN if [ $USE_NCWMS = "true" ]; then \ -# # If we're installing ncWMS then we copy -# # to the server a viewers.xml which has -# # been templated so that the ncWMS host can be installed -# # at startup. -# mv /tmp/olfs_viewers.xml ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/viewers.xml; \ -# else \ -# echo "Skipping OLFS/ncWMS confguration installation."; \ -# fi - -# ################################################################ -# # -# # Retrieve, verify, and install the hyrax_regression_tests -# # project -# # -# # - - - - - - - - - - - - - - - - - - - - - -# ENV TEST_INSTALL_DIR="/hyrax_regression_tests" -# RUN set -e \ -# && echo "Retrieving, and building hyrax regression tests." \ -# && echo "h_r_t will be in: ${TEST_INSTALL_DIR}" \ -# && mkdir -p ${TEST_INSTALL_DIR} \ -# && git clone -v https://github.com/opendap/hyrax_regression_tests ${TEST_INSTALL_DIR} \ -# && cd ${TEST_INSTALL_DIR} \ -# && autoreconf -vif \ -# && ./configure - -# # In order to get the executable "testsuite" to build we have to run -# # "make check" But that will fail at build time so the "make check" call -# # ends up pretty tortured to avoid a build error. -# RUN set -e \ -# && cd ${TEST_INSTALL_DIR} \ -# && make testsuite > mk.log 2>&1 \ -# && echo "SUCCESS: hyrax_regression_tests ready!" -# ################################################################ - -# RUN ls -l /usr/libexec/ - -# ################################################################ -# # TEMPORARY -# # Grab the cleanup files script for managing orphaned files -# # from fileout_netcdf -# COPY cleanup_files.sh / -# RUN chmod +x /cleanup_files.sh -# # TEMPORARY -# ################################################################ - - -# COPY entrypoint.sh / -# RUN chmod +x /entrypoint.sh -# # ENTRYPOINT [ "/entrypoint.sh" ] - -# EXPOSE 8009 -# EXPOSE 8080 -# EXPOSE 8443 -# EXPOSE 10022 -# EXPOSE 11002 - -# can't use USER with entrypoint that needs root -# use gosu or, as done, enable bes user write so the entrypoint does not need root -RUN chown -R bes /etc/bes +# +# make ncWMS work without further configuration +# We will need to adjust this target if we +# decide to run as a different (not root) user. +COPY ncWMS_config.xml /root/.ncWMS2/config.xml +RUN chmod +r /root/.ncWMS2/config.xml + +COPY olfs_viewers.xml /tmp/olfs_viewers.xml +RUN if [ $USE_NCWMS = "true" ]; then \ + # If we're installing ncWMS then we copy + # to the server a viewers.xml which has + # been templated so that the ncWMS host can be installed + # at startup. + mv /tmp/olfs_viewers.xml ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/viewers.xml; \ + else \ + echo "Skipping OLFS/ncWMS confguration installation."; \ + fi + +################################################################ +# +# Retrieve, verify, and install the hyrax_regression_tests +# project +# +# - - - - - - - - - - - - - - - - - - - - - +ENV TEST_INSTALL_DIR="/hyrax_regression_tests" +RUN set -e \ + && echo "Retrieving, and building hyrax regression tests." \ + && echo "h_r_t will be in: ${TEST_INSTALL_DIR}" \ + && mkdir -p ${TEST_INSTALL_DIR} \ + && git clone -v https://github.com/opendap/hyrax_regression_tests ${TEST_INSTALL_DIR} \ + && cd ${TEST_INSTALL_DIR} \ + && autoreconf -vif \ + && ./configure + +# In order to get the executable "testsuite" to build we have to run +# "make check" But that will fail at build time so the "make check" call +# ends up pretty tortured to avoid a build error. +RUN set -e \ + && cd ${TEST_INSTALL_DIR} \ + && make testsuite > mk.log 2>&1 \ + && echo "SUCCESS: hyrax_regression_tests ready!" +################################################################ + +RUN ls -l /usr/libexec/ + +################################################################ +# TEMPORARY +# Grab the cleanup files script for managing orphaned files +# from fileout_netcdf +COPY cleanup_files.sh / +RUN chmod +x /cleanup_files.sh +# TEMPORARY +################################################################ + + +COPY entrypoint.sh / +RUN chmod +x /entrypoint.sh +ENTRYPOINT [ "/entrypoint.sh" ] + +EXPOSE 8009 +EXPOSE 8080 +EXPOSE 8443 +EXPOSE 10022 +EXPOSE 11002 + USER root CMD ["-"] diff --git a/builds/hyrax/entrypoint.sh b/builds/hyrax/entrypoint.sh index 897a0523..73f5094e 100755 --- a/builds/hyrax/entrypoint.sh +++ b/builds/hyrax/entrypoint.sh @@ -127,7 +127,7 @@ if test "${SERVER_HELP_EMAIL}" != "not_set" ; then fi if test "${FOLLOW_SYMLINKS}" != "not_set" ; then echo "Setting BES FollowSymLinks to YES." >&2 - sed -i "s/^BES.Catalog.catalog.FollowSymLinks=No/BES.Catalog.catalog.FollowSymLinks=Yes/" /etc/bes/bes.conf + sed -i "s/^BES.Catalog.catalog.FollowSymLinks=No/BES.Catalog.catalog.FollowSymLinks=Yes/" usr/local/etc/bes/bes.conf fi echo "JAVA VERSION: " @@ -149,7 +149,7 @@ bes_gid=$(id -g bes) echo "bes_gid: ${bes_gid}" >&2 echo "Launching besd..." >&2 -/usr/bin/besctl start +/usr/local/bin/besctl start status=$? if test $status -ne 0 ; then echo "ERROR: Failed to start BES: $status" >&2 diff --git a/travis/regression_test_script b/travis/regression_test_script index 9dcdff65..3348221c 100755 --- a/travis/regression_test_script +++ b/travis/regression_test_script @@ -3,7 +3,7 @@ set -e echo "Starting up ..." default_time_out=30 -default_image_name="opendap/hyrax:snapshot" +default_image_name="opendap/hyrax:snapshot-new" default_endpoint="http://localhost:8080/opendap" time_out="${default_time_out}" From 49fc3a2fc0a4e9410e10eb6f4a680681b8e3fd71 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 26 Jan 2026 23:54:49 +0000 Subject: [PATCH 16/24] comment stuff out --- builds/hyrax/Dockerfile | 68 +++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 72dcf939..38ad8d0f 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -108,8 +108,9 @@ RUN if [ $DEVELOPER_MODE = "true" ];then echo "DEVELOPER_MODE: ENABLED"; else ec # Travis build (or at a later time). They need to be part of the container, # however, to be run, so install them as part of this Dockerfile. # RUN set -e && dnf update -y +#TODO: prob don't need reinstallpython3.11 here, can use existing 3.12 in image RUN set -e && dnf install -y python3.11 \ - && python3 --version + && python3 --version RUN set -e && dnf install -y make curl unzip which autoconf automake emacs vim jq \ && dnf install -y diffutils \ @@ -131,38 +132,39 @@ RUN set -e && which diff # be handled by RPM installation RUN echo "besdaemon is here: "`which besdaemon` - -# Add bes group and user (previously constructed via rpm installation) -RUN getent group bes >/dev/null || groupadd -r bes -RUN getent passwd bes >/dev/null || \ - useradd -r -g bes -d /var/log/bes -s /sbin/nologin -c "BES daemon" bes - -# Instead of rpm post: -RUN cp ./usr/local/etc/rc.d/init.d/besd /etc/rc.d/init.d/besd -RUN chkconfig --add besd \ - && ldconfig - -# More rpm-adapting hijinks -# Adapted from bes/spec.all_static.in -# Default macros: https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/ -RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ - -e 's:=.*/bes.log:=/var/log/bes/bes.log:' \ - -e 's:=.*/lib/bes:=/usr/lib/bes:' \ - -e 's:=.*/share/bes:=/usr/share/bes:' \ - -e 's:=.*/share/hyrax:=/usr/share/hyrax:' \ - -e 's:=/full/path/to/serverside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ - -e 's:=/full/path/to/serverside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ - -e 's:=/full/path/to/clientside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ - -e 's:=/full/path/to/clientside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ - -e 's:=user_name:=bes:' \ - -e 's:=group_name:=bes:' \ - /usr/local/etc/bes/bes.conf - -RUN chown -R bes /usr/local/etc/bes \ - /usr/local/share/bes \ - /usr/local/include/bes \ - /usr/local/lib/bes \ - /usr/local/var/run/bes +RUN echo "chkconfig --list" | grep "besd" + +# # Add bes group and user (previously constructed via rpm installation) +# RUN getent group bes >/dev/null || groupadd -r bes +# RUN getent passwd bes >/dev/null || \ +# useradd -r -g bes -d /var/log/bes -s /sbin/nologin -c "BES daemon" bes + +# # Instead of rpm post: +# RUN cp ./usr/local/etc/rc.d/init.d/besd /etc/rc.d/init.d/besd +# RUN chkconfig --add besd \ +# && ldconfig + +# # More rpm-adapting hijinks +# # Adapted from bes/spec.all_static.in +# # Default macros: https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/ +# RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ +# -e 's:=.*/bes.log:=/var/log/bes/bes.log:' \ +# -e 's:=.*/lib/bes:=/usr/lib/bes:' \ +# -e 's:=.*/share/bes:=/usr/share/bes:' \ +# -e 's:=.*/share/hyrax:=/usr/share/hyrax:' \ +# -e 's:=/full/path/to/serverside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ +# -e 's:=/full/path/to/serverside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ +# -e 's:=/full/path/to/clientside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ +# -e 's:=/full/path/to/clientside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ +# -e 's:=user_name:=bes:' \ +# -e 's:=group_name:=bes:' \ +# /usr/local/etc/bes/bes.conf + +# RUN chown -R bes /usr/local/etc/bes \ +# /usr/local/share/bes \ +# /usr/local/include/bes \ +# /usr/local/lib/bes \ +# /usr/local/var/run/bes ################################################################ # Install and Setup Tomcat From 7383535a20495dc36868dd833c108bd70f74c8b7 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Tue, 27 Jan 2026 23:57:24 +0000 Subject: [PATCH 17/24] wip build from new rhel-bes image --- builds/hyrax/Dockerfile | 62 ++++++++++++++++++++------------------ builds/hyrax/entrypoint.sh | 7 +++-- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 38ad8d0f..7b59ed00 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -73,6 +73,7 @@ LABEL org.opendap.hyrax.version.is-production="false" LABEL maintainer=support@opendap.org USER root +WORKDIR / # # The --build-arg USE_NCWMS can be set to "true" in order to @@ -131,8 +132,15 @@ RUN set -e && which diff # we need to do some final installation steps that would otherwise # be handled by RPM installation -RUN echo "besdaemon is here: "`which besdaemon` -RUN echo "chkconfig --list" | grep "besd" +RUN echo "besdaemon is here: "`which besdaemon` \ + && echo "whoami: "`whoami` + +# Add besd service to start at boot +RUN cp ${PREFIX}/etc/rc.d/init.d/besd /etc/rc.d/init.d/besd \ + && chkconfig --add besd \ + && ldconfig +RUN chkconfig --list | grep besd \ + && echo "whoami: "`whoami` # # Add bes group and user (previously constructed via rpm installation) # RUN getent group bes >/dev/null || groupadd -r bes @@ -144,21 +152,22 @@ RUN echo "chkconfig --list" | grep "besd" # RUN chkconfig --add besd \ # && ldconfig -# # More rpm-adapting hijinks -# # Adapted from bes/spec.all_static.in -# # Default macros: https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/ -# RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ -# -e 's:=.*/bes.log:=/var/log/bes/bes.log:' \ -# -e 's:=.*/lib/bes:=/usr/lib/bes:' \ -# -e 's:=.*/share/bes:=/usr/share/bes:' \ -# -e 's:=.*/share/hyrax:=/usr/share/hyrax:' \ -# -e 's:=/full/path/to/serverside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ -# -e 's:=/full/path/to/serverside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ -# -e 's:=/full/path/to/clientside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ -# -e 's:=/full/path/to/clientside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ -# -e 's:=user_name:=bes:' \ -# -e 's:=group_name:=bes:' \ -# /usr/local/etc/bes/bes.conf +# More rpm-adapting hijinks +# Adapted from bes/spec.all_static.in +# Default macros: https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/ +RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ + -e 's:=.*/bes.log:=/var/log/bes/bes.log:' \ + -e 's:=.*/lib/bes:=$PREFIX/lib/bes:' \ + -e 's:=.*/share/bes:=$PREFIX/share/bes:' \ + # -e 's:=.*/share/hyrax:=/usr/share/hyrax:' \ + # -e 's:=/full/path/to/serverside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ + # -e 's:=/full/path/to/serverside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ + # -e 's:=/full/path/to/clientside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ + # -e 's:=/full/path/to/clientside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ + -e 's:=user_name:='"$BES_USER"':' \ + -e 's:=group_name:='"$BES_USER"':' \ + $PREFIX/etc/bes/bes.conf \ + && mkdir -p "/var/log/bes/" # RUN chown -R bes /usr/local/etc/bes \ # /usr/local/share/bes \ @@ -196,9 +205,7 @@ RUN set -e && echo "CATALINA_HOME: ${CATALINA_HOME}" >&2 COPY tomcat9-server.xml / RUN set -e \ && mv /tomcat9-server.xml ${CATALINA_HOME}/conf/server.xml \ - && chown -R tomcat:tomcat ${CATALINA_HOME}/conf/server.xml - -RUN set -e \ + && chown -R tomcat:tomcat ${CATALINA_HOME}/conf/server.xml \ && echo "Cleaning up Tomcat distribution files..." >&2 \ && rm -fv "/${TOMCAT_DISTRO}.tar.gz" @@ -211,7 +218,7 @@ RUN echo "Installing the latest olfs distribution (${OLFS_VERSION})." >&2 RUN set -e \ && echo "working_dir: "`pwd` >&2 \ && ls -l . \ - && tar -C ${ROOT} -xzvf ./${OLFS_DISTRO}.tgz \ + && tar -C ${ROOT} -xzvf /${OLFS_DISTRO}.tgz \ && ls -l ${ROOT} \ && echo "Unpacking warfile..." >&2 \ && mkdir -p $(readlink -f ${CATALINA_HOME})/webapps/${DEPLOYMENT_CONTEXT}/ \ @@ -227,7 +234,9 @@ RUN set -e \ && echo "Unpacking dynamic robots.txt warfile..." >&2 \ && unzip -o ${ROOT}/${ROBOTS_DISTRO}/ROOT.war -d ${CATALINA_HOME}/webapps/ROOT/ \ && echo "Cleaning up dynamic robots.txt snapshot..." >&2 \ - && rm -rf ${ROOT}/${ROBOTS_DISTRO} ${ROBOTS_DISTRO}.tgz + && rm -rf ${ROOT}/${ROBOTS_DISTRO} ${ROBOTS_DISTRO}.tgz \ + && echo "Cleaning up the Hyrax distribution binaries..." \ + && rm -vf /olfs*.tgz /robots*.tgz /apache* # Fix ownership and access permissions RUN set -e \ @@ -235,13 +244,6 @@ RUN set -e \ && chown -R tomcat:tomcat ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs \ && chmod 700 ${CATALINA_HOME}/webapps/${DEPLOYMENT_CONTEXT}/WEB-INF/conf/logs -################################################################ -# Clean up the Hyrax distribution binaries. -# -RUN rm -vf /olfs*.tgz /robots*.tgz /apache* -# -################################################################ - ################################################################ # retrieve and install the ncWMS web application # - - - - - - - - - - - - - - - - - - - - - @@ -326,7 +328,7 @@ RUN chmod +x /cleanup_files.sh COPY entrypoint.sh / RUN chmod +x /entrypoint.sh -ENTRYPOINT [ "/entrypoint.sh" ] +# ENTRYPOINT [ "/entrypoint.sh" ] EXPOSE 8009 EXPOSE 8080 diff --git a/builds/hyrax/entrypoint.sh b/builds/hyrax/entrypoint.sh index 73f5094e..84e7521c 100755 --- a/builds/hyrax/entrypoint.sh +++ b/builds/hyrax/entrypoint.sh @@ -143,13 +143,14 @@ echo "PythonVersion: "$(python3 --version) #------------------------------------------------------------------------------- # Start the BES daemon process # /usr/bin/besdaemon -i /usr -c /etc/bes/bes.conf -r /var/run/bes.pid -bes_uid=$(id -u bes) +bes_username=bes_user # As set in bes dockerfile; TODO make it bes again?? +bes_uid=$(id -u ${bes_username}) #TODO: can hardcode to 101 if we want... echo "bes_uid: ${bes_uid}" >&2 -bes_gid=$(id -g bes) +bes_gid=$(id -g ${bes_username}) # TODO: do we hardcode this in the docker image? we maybe should. echo "bes_gid: ${bes_gid}" >&2 echo "Launching besd..." >&2 -/usr/local/bin/besctl start +$PREFIX/bin/besctl start # TODO: do we want to install this in root in bes docker image? maybe... status=$? if test $status -ne 0 ; then echo "ERROR: Failed to start BES: $status" >&2 From 6bd198401b03c1d50a923a006673d511bf994cd6 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Wed, 28 Jan 2026 15:40:34 +0000 Subject: [PATCH 18/24] Get besctl running --- builds/hyrax/Dockerfile | 9 +++++---- builds/hyrax/entrypoint.sh | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 7b59ed00..c5143075 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -164,10 +164,11 @@ RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ # -e 's:=/full/path/to/serverside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ # -e 's:=/full/path/to/clientside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ # -e 's:=/full/path/to/clientside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ - -e 's:=user_name:='"$BES_USER"':' \ - -e 's:=group_name:='"$BES_USER"':' \ + -e 's:=user_name:='"$USER"':' \ + -e 's:=group_name:='"$USER"':' \ $PREFIX/etc/bes/bes.conf \ - && mkdir -p "/var/log/bes/" + && mkdir -p "/var/log/bes/" \ + && sudo chown -R $USER:$USER "/var/log/bes/" # RUN chown -R bes /usr/local/etc/bes \ # /usr/local/share/bes \ @@ -328,7 +329,7 @@ RUN chmod +x /cleanup_files.sh COPY entrypoint.sh / RUN chmod +x /entrypoint.sh -# ENTRYPOINT [ "/entrypoint.sh" ] +ENTRYPOINT [ "/entrypoint.sh" ] EXPOSE 8009 EXPOSE 8080 diff --git a/builds/hyrax/entrypoint.sh b/builds/hyrax/entrypoint.sh index 84e7521c..e9014137 100755 --- a/builds/hyrax/entrypoint.sh +++ b/builds/hyrax/entrypoint.sh @@ -143,7 +143,7 @@ echo "PythonVersion: "$(python3 --version) #------------------------------------------------------------------------------- # Start the BES daemon process # /usr/bin/besdaemon -i /usr -c /etc/bes/bes.conf -r /var/run/bes.pid -bes_username=bes_user # As set in bes dockerfile; TODO make it bes again?? +bes_username=$USER # As set in bes dockerfile; TODO make it bes again?? bes_uid=$(id -u ${bes_username}) #TODO: can hardcode to 101 if we want... echo "bes_uid: ${bes_uid}" >&2 bes_gid=$(id -g ${bes_username}) # TODO: do we hardcode this in the docker image? we maybe should. @@ -156,7 +156,7 @@ if test $status -ne 0 ; then echo "ERROR: Failed to start BES: $status" >&2 exit $status fi -besd_pid=`ps aux | grep /usr/bin/besdaemon | grep -v grep | awk '{print $2;}' - ` +besd_pid=`ps aux | grep $PREFIX/bin/besdaemon | grep -v grep | awk '{print $2;}' - ` echo "The besd is UP! [pid: ${besd_pid}]" >&2 #------------------------------------------------------------------------------- From 295db23c624633662f361491e9da4d3f35e74367 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Wed, 28 Jan 2026 19:33:29 +0000 Subject: [PATCH 19/24] update conf replacement --- builds/hyrax/Dockerfile | 2 +- builds/hyrax/entrypoint.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index c5143075..60fc0f0a 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -301,7 +301,7 @@ RUN set -e \ && echo "Retrieving, and building hyrax regression tests." \ && echo "h_r_t will be in: ${TEST_INSTALL_DIR}" \ && mkdir -p ${TEST_INSTALL_DIR} \ - && git clone -v https://github.com/opendap/hyrax_regression_tests ${TEST_INSTALL_DIR} \ + && git clone --depth 1 -v https://github.com/opendap/hyrax_regression_tests ${TEST_INSTALL_DIR} \ && cd ${TEST_INSTALL_DIR} \ && autoreconf -vif \ && ./configure diff --git a/builds/hyrax/entrypoint.sh b/builds/hyrax/entrypoint.sh index e9014137..5a61b959 100755 --- a/builds/hyrax/entrypoint.sh +++ b/builds/hyrax/entrypoint.sh @@ -123,11 +123,11 @@ fi # if test "${SERVER_HELP_EMAIL}" != "not_set" ; then echo "Setting Admin Contact To: $SERVER_HELP_EMAIL" - sed -i "s/admin.email.address@your.domain.name/$SERVER_HELP_EMAIL/" /etc/bes/bes.conf + sed -i "s/admin.email.address@your.domain.name/$SERVER_HELP_EMAIL/" $PREFIX/etc/bes/bes.conf fi if test "${FOLLOW_SYMLINKS}" != "not_set" ; then echo "Setting BES FollowSymLinks to YES." >&2 - sed -i "s/^BES.Catalog.catalog.FollowSymLinks=No/BES.Catalog.catalog.FollowSymLinks=Yes/" usr/local/etc/bes/bes.conf + sed -i "s/^BES.Catalog.catalog.FollowSymLinks=No/BES.Catalog.catalog.FollowSymLinks=Yes/" $PREFIX/etc/bes/bes.conf fi echo "JAVA VERSION: " From 87b3cb4c2d2b5913cbc1de54679854b4e2ab879d Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Thu, 29 Jan 2026 17:51:17 +0000 Subject: [PATCH 20/24] use installed java version --- builds/hyrax/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index 60fc0f0a..e2be3fa3 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -17,6 +17,7 @@ # Add a default base image to keep docker from complaining, # which is fine because if this ISN'T based on a given image tag, # everything downstream will fail due to lack of bes, libdap, etc. +# TODO: try FROM ${BES_IMAGE_TAG:-"$(some script that fails!)"} thanks ndp :) ARG BES_IMAGE_TAG FROM ${BES_IMAGE_TAG:-"rockylinux:8"} @@ -121,6 +122,8 @@ RUN set -e && dnf install -y make curl unzip which autoconf automake emacs vim j # Temporary Hack to fix broken OpenJDK-11.0.20.0.8-2 RUN set -e && dnf install -y tzdata-java +RUN update-alternatives --set java java-11-openjdk.x86_64 + RUN set -e && dnf clean all RUN set -e && which diff From ba424d4ba59991725c85932a12d145584558596c Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 2 Feb 2026 19:34:08 +0000 Subject: [PATCH 21/24] clean up --- builds/hyrax/Dockerfile | 56 +++++++++++------------------------ travis/regression_test_script | 5 +++- 2 files changed, 21 insertions(+), 40 deletions(-) diff --git a/builds/hyrax/Dockerfile b/builds/hyrax/Dockerfile index e2be3fa3..1cdb2f12 100644 --- a/builds/hyrax/Dockerfile +++ b/builds/hyrax/Dockerfile @@ -110,59 +110,42 @@ RUN if [ $DEVELOPER_MODE = "true" ];then echo "DEVELOPER_MODE: ENABLED"; else ec # Travis build (or at a later time). They need to be part of the container, # however, to be run, so install them as part of this Dockerfile. # RUN set -e && dnf update -y -#TODO: prob don't need reinstallpython3.11 here, can use existing 3.12 in image -RUN set -e && dnf install -y python3.11 \ - && python3 --version RUN set -e && dnf install -y make curl unzip which autoconf automake emacs vim jq \ && dnf install -y diffutils \ && dnf install -y procps \ && dnf install -y git bc valgrind gdb \ - && dnf install -y java-11-openjdk-devel -# Temporary Hack to fix broken OpenJDK-11.0.20.0.8-2 -RUN set -e && dnf install -y tzdata-java - -RUN update-alternatives --set java java-11-openjdk.x86_64 - -RUN set -e && dnf clean all -RUN set -e && which diff + && dnf install -y java-11-openjdk-devel \ + # Temporary Hack to fix broken OpenJDK-11.0.20.0.8-2 + && dnf install -y tzdata-java \ + # Actually *use* the newly-installed java 11 + && update-alternatives --set java java-11-openjdk.x86_64 \ + && dnf clean all +# RUN set -e && which diff ################################################################ # Set up BES # -# BES is already installed by definition on the base image, but -# we need to do some final installation steps that would otherwise -# be handled by RPM installation - -RUN echo "besdaemon is here: "`which besdaemon` \ - && echo "whoami: "`whoami` +# BES is already installed on the base image, but +# we need to do some additional configuration (to match what was +# previously handled by bes RPM installation) # Add besd service to start at boot RUN cp ${PREFIX}/etc/rc.d/init.d/besd /etc/rc.d/init.d/besd \ && chkconfig --add besd \ && ldconfig RUN chkconfig --list | grep besd \ - && echo "whoami: "`whoami` + && echo "whoami: "`whoami` \ + && echo "besdaemon is here: "`which besdaemon` -# # Add bes group and user (previously constructed via rpm installation) -# RUN getent group bes >/dev/null || groupadd -r bes -# RUN getent passwd bes >/dev/null || \ -# useradd -r -g bes -d /var/log/bes -s /sbin/nologin -c "BES daemon" bes - -# # Instead of rpm post: -# RUN cp ./usr/local/etc/rc.d/init.d/besd /etc/rc.d/init.d/besd -# RUN chkconfig --add besd \ -# && ldconfig - -# More rpm-adapting hijinks # Adapted from bes/spec.all_static.in # Default macros: https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/ -RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ +RUN sed -i.dist \ -e 's:=.*/bes.log:=/var/log/bes/bes.log:' \ - -e 's:=.*/lib/bes:=$PREFIX/lib/bes:' \ - -e 's:=.*/share/bes:=$PREFIX/share/bes:' \ - # -e 's:=.*/share/hyrax:=/usr/share/hyrax:' \ + -e 's:=.*/lib/bes:='"$PREFIX"'/lib/bes:' \ + -e 's:=.*/share/bes:='"$PREFIX"'/share/bes:' \ + -e 's:=.*/share/hyrax:='"$PREFIX"'/share/hyrax:' \ # -e 's:=/full/path/to/serverside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ # -e 's:=/full/path/to/serverside/key/file.pem:=/etc/pki/bes/public/file.pem:' \ # -e 's:=/full/path/to/clientside/certificate/file.pem:=/etc/pki/bes/cacerts/file.pem:' \ @@ -171,14 +154,9 @@ RUN sed -i.dist -e 's:=/tmp:=/var/cache/bes:' \ -e 's:=group_name:='"$USER"':' \ $PREFIX/etc/bes/bes.conf \ && mkdir -p "/var/log/bes/" \ + && touch "/var/log/bes/bes.log" \ && sudo chown -R $USER:$USER "/var/log/bes/" -# RUN chown -R bes /usr/local/etc/bes \ -# /usr/local/share/bes \ -# /usr/local/include/bes \ -# /usr/local/lib/bes \ -# /usr/local/var/run/bes - ################################################################ # Install and Setup Tomcat # diff --git a/travis/regression_test_script b/travis/regression_test_script index 3348221c..381b6bbb 100755 --- a/travis/regression_test_script +++ b/travis/regression_test_script @@ -12,6 +12,9 @@ end_point="${default_endpoint}" netrc_file="" tests="" +# As set in bes Dockerfile +BES_PREFIX="/root/install" + while getopts "ht:i:e:n:" OPTION; do case $OPTION in h) @@ -119,7 +122,7 @@ echo "# Python Version: '$(python3 --version)'" echo "# Acquiring bes.log from docker image." docker cp hyrax:/var/log/bes/bes.log . echo "# Acquiring beslog2json.py from docker image." -docker cp hyrax:/usr/bin/beslog2json.py $(pwd)/beslog2json.py +docker cp hyrax:$BES_PREFIX/bin/beslog2json.py $(pwd)/beslog2json.py ls -l ./beslog2json.py echo "############################################################################" echo "# head ./bes.log" From acd3b9fb69da25ea0ae58d55acb13b2ab1bba1f6 Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 2 Feb 2026 21:11:59 +0000 Subject: [PATCH 22/24] fix --- el8-builds/hyrax/Dockerfile | 2 +- travis/.gitignore | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 travis/.gitignore diff --git a/el8-builds/hyrax/Dockerfile b/el8-builds/hyrax/Dockerfile index c2210baa..d8a935fa 100644 --- a/el8-builds/hyrax/Dockerfile +++ b/el8-builds/hyrax/Dockerfile @@ -180,7 +180,7 @@ RUN set -e \ # Add besd service to start at boot RUN cp ${PREFIX}/etc/rc.d/init.d/besd /etc/rc.d/init.d/besd \ && chkconfig --add besd \ - && ldconfig + && ldconfig \ && chkconfig --list | grep besd \ && echo "whoami: "`whoami` \ && echo "besdaemon is here: "`which besdaemon` diff --git a/travis/.gitignore b/travis/.gitignore new file mode 100644 index 00000000..29ef7b17 --- /dev/null +++ b/travis/.gitignore @@ -0,0 +1,3 @@ +bes.json +beslog2json.py +cookies \ No newline at end of file From 1a64acc61fc74c08dda1cdb5ed71b8c016096aff Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 2 Feb 2026 21:14:23 +0000 Subject: [PATCH 23/24] undo non-hyrax change --- el8-builds/besd/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/el8-builds/besd/Dockerfile b/el8-builds/besd/Dockerfile index 84037637..cb6bf753 100644 --- a/el8-builds/besd/Dockerfile +++ b/el8-builds/besd/Dockerfile @@ -56,6 +56,10 @@ RUN set -e && dnf install -y which bc emacs vim \ && dnf update -y \ && dnf clean all +RUN set -e && curl -sS https://bootstrap.pypa.io/get-pip.py | python3 \ + && python3 -m pip install --upgrade pip \ + && python3 -m pip install --no-cache-dir awscli + ############################################################### # Retrieve and install the latest libdap snapshot RUN set -e \ From 63c7ad592adf623e3179eca05e8802a7047aed4a Mon Sep 17 00:00:00 2001 From: Hannah Robertson <1076701+hannahilea@users.noreply.github.com> Date: Mon, 2 Feb 2026 21:14:23 +0000 Subject: [PATCH 24/24] post-merge fix --- .gitignore | 8 ++++---- .travis.yml | 2 +- el8-builds/hyrax/Dockerfile | 10 ---------- travis/.gitignore | 3 --- 4 files changed, 5 insertions(+), 18 deletions(-) delete mode 100644 travis/.gitignore diff --git a/.gitignore b/.gitignore index 36128a2c..fd13538e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ logs *.rpm *.gz *tar.gz.asc -builds/cookies -builds/bes.json -builds/beslog2json.py -apache_tomcat_keys \ No newline at end of file +apache_tomcat_keys +travis/bes.json +travis/beslog2json.py +travis/cookies \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 02b4e472..1ec3f6d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -271,7 +271,7 @@ jobs: # deploy: # - provider: script -# script: bash ${TRAVIS_BUILD_DIR}/deploy_to_docker_hub.sh +# script: bash ${TRAVIS_BUILD_DIR}/travis/deploy_to_docker_hub.sh # on: # branch: master # condition: ${DEPLOY_ME} = "true" diff --git a/el8-builds/hyrax/Dockerfile b/el8-builds/hyrax/Dockerfile index d8a935fa..630ef7e4 100644 --- a/el8-builds/hyrax/Dockerfile +++ b/el8-builds/hyrax/Dockerfile @@ -160,16 +160,6 @@ RUN set -e \ && echo "# aws cli version: $(aws --version)" \ && dnf clean all -################################################################ -# Install the latest libdap snapshot -# - - - - - - - - - - - - - - - - - - - - - -RUN set -e \ - && echo "Installing the libdap rpm: ${LIBDAP_RPM}" \ - && ls -l ./libdap* \ - && dnf -y install ./libdap-*.rpm \ - && rm -f ./${LIBDAP_RPM} \ - && dnf clean all - ################################################################ # Set up BES # diff --git a/travis/.gitignore b/travis/.gitignore deleted file mode 100644 index 29ef7b17..00000000 --- a/travis/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -bes.json -beslog2json.py -cookies \ No newline at end of file