diff --git a/.travis.yml b/.travis.yml index 17b2b5c17..5b396a8c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ before_install: env: - RELEASE=../ga/23.0.0.9 - RELEASE=../ga/23.0.0.12 - - RELEASE=../ga/24.0.0.1 + - RELEASE=../ga/24.0.0.2 - RELEASE=../ga/latest script: diff --git a/README.md b/README.md index d66285a5b..d17f1333c 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,12 @@ This feature can be controlled via the following variables: * `SCC_SIZE` (environment variable) * Description: The size of the application-specific SCC layer in the image. This value is only used if `TRIM_SCC` is set to `"false"`. * Default: `"80m"`. +* `WARM_ENDPOINT` (environment variable) + * Description: If `"true"`, curl will be used to access the WARM_ENDPOINT_URL (see below) during the population of the SCC. This will increase the amount of information in the SCC and improve first request time in subsequent starts of the image. + * Default: `"true"`. +* `WARM_ENDPOINT_URL` (enviornment variable) + * Description: The URL to access during SCC population if WARM_ENDPOINT is true. + * Default: `"localhost:9080/"`. ## Logging diff --git a/ga/23.0.0.12/kernel/helpers/build/configure.sh b/ga/23.0.0.12/kernel/helpers/build/configure.sh index a13d4d8a2..7a9f03b16 100755 --- a/ga/23.0.0.12/kernel/helpers/build/configure.sh +++ b/ga/23.0.0.12/kernel/helpers/build/configure.sh @@ -179,6 +179,12 @@ function main() { if [ ! "$SCC_SIZE" = "" ]; then cmd+=" -s $SCC_SIZE" fi + if [ "$WARM_ENDPOINT" = "false" ]; then + cmd+=" -c" + fi + if [ ! "$WARM_ENDPOINT_URL" = "" ]; then + cmd+=" -u $WARM_ENDPOINT_URL" + fi eval $cmd fi } diff --git a/ga/23.0.0.12/kernel/helpers/build/populate_scc.sh b/ga/23.0.0.12/kernel/helpers/build/populate_scc.sh index 3c07a4e92..ea255eef9 100755 --- a/ga/23.0.0.12/kernel/helpers/build/populate_scc.sh +++ b/ga/23.0.0.12/kernel/helpers/build/populate_scc.sh @@ -1,5 +1,5 @@ #!/bin/bash -# (C) Copyright IBM Corporation 2020. +# (C) Copyright IBM Corporation 2020, 2024 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,6 +24,8 @@ set -Eeox pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. +WARM_ENDPOINT=true +WARM_ENDPOINT_URL=localhost:9080/ # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -48,7 +50,7 @@ CREATE_LAYER="$OPENJ9_JAVA_OPTIONS,createLayer,groupAccess" DESTROY_LAYER="$OPENJ9_JAVA_OPTIONS,destroy" PRINT_LAYER_STATS="$OPENJ9_JAVA_OPTIONS,printTopLayerStats" -while getopts ":i:s:tdh" OPT +while getopts ":i:s:u:tdhwc" OPT do case "$OPT" in i) @@ -64,13 +66,24 @@ do d) TRIM_SCC=no ;; + w) + WARM_ENDPOINT=true + ;; + c) + WARM_ENDPOINT=false + ;; + u) + WARM_ENDPOINT_URL="${OPTARG}" + ;; h) echo \ -"Usage: $0 [-i iterations] [-s size] [-t] [-d] +"Usage: $0 [-i iterations] [-s size] [-t] [-d] [-w] [-u url] -i Number of iterations to run to populate the SCC. (Default: $ITERATIONS) -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. + -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) Trimming enabled=$TRIM_SCC" exit 1 @@ -98,7 +111,14 @@ then echo "Calculating SCC layer upper bound, starting with initial size $SCC_SIZE." # Populate the newly created class cache layer. /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop + # Find out how full it is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full. Destroying layer." @@ -122,6 +142,12 @@ fi for ((i=0; i<$ITERATIONS; i++)) do /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop done @@ -135,6 +161,7 @@ then chmod -R g+rwx /output/resources fi + # Tell the user how full the final layer is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full." diff --git a/ga/23.0.0.9/kernel/helpers/build/configure.sh b/ga/23.0.0.9/kernel/helpers/build/configure.sh index b2480a5cd..2f2a29cfb 100755 --- a/ga/23.0.0.9/kernel/helpers/build/configure.sh +++ b/ga/23.0.0.9/kernel/helpers/build/configure.sh @@ -176,6 +176,12 @@ function main() { if [ ! "$SCC_SIZE" = "" ]; then cmd+=" -s $SCC_SIZE" fi + if [ "$WARM_ENDPOINT" = "false" ]; then + cmd+=" -c" + fi + if [ ! "$WARM_ENDPOINT_URL" = "" ]; then + cmd+=" -u $WARM_ENDPOINT_URL" + fi eval $cmd fi } diff --git a/ga/23.0.0.9/kernel/helpers/build/populate_scc.sh b/ga/23.0.0.9/kernel/helpers/build/populate_scc.sh index 3c07a4e92..ea255eef9 100755 --- a/ga/23.0.0.9/kernel/helpers/build/populate_scc.sh +++ b/ga/23.0.0.9/kernel/helpers/build/populate_scc.sh @@ -1,5 +1,5 @@ #!/bin/bash -# (C) Copyright IBM Corporation 2020. +# (C) Copyright IBM Corporation 2020, 2024 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,6 +24,8 @@ set -Eeox pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. +WARM_ENDPOINT=true +WARM_ENDPOINT_URL=localhost:9080/ # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -48,7 +50,7 @@ CREATE_LAYER="$OPENJ9_JAVA_OPTIONS,createLayer,groupAccess" DESTROY_LAYER="$OPENJ9_JAVA_OPTIONS,destroy" PRINT_LAYER_STATS="$OPENJ9_JAVA_OPTIONS,printTopLayerStats" -while getopts ":i:s:tdh" OPT +while getopts ":i:s:u:tdhwc" OPT do case "$OPT" in i) @@ -64,13 +66,24 @@ do d) TRIM_SCC=no ;; + w) + WARM_ENDPOINT=true + ;; + c) + WARM_ENDPOINT=false + ;; + u) + WARM_ENDPOINT_URL="${OPTARG}" + ;; h) echo \ -"Usage: $0 [-i iterations] [-s size] [-t] [-d] +"Usage: $0 [-i iterations] [-s size] [-t] [-d] [-w] [-u url] -i Number of iterations to run to populate the SCC. (Default: $ITERATIONS) -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. + -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) Trimming enabled=$TRIM_SCC" exit 1 @@ -98,7 +111,14 @@ then echo "Calculating SCC layer upper bound, starting with initial size $SCC_SIZE." # Populate the newly created class cache layer. /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop + # Find out how full it is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full. Destroying layer." @@ -122,6 +142,12 @@ fi for ((i=0; i<$ITERATIONS; i++)) do /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop done @@ -135,6 +161,7 @@ then chmod -R g+rwx /output/resources fi + # Tell the user how full the final layer is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full." diff --git a/ga/24.0.0.1/images.txt b/ga/24.0.0.1/images.txt deleted file mode 100644 index 82a8b529e..000000000 --- a/ga/24.0.0.1/images.txt +++ /dev/null @@ -1,18 +0,0 @@ -websphere-liberty:24.0.0.1-kernel ../ga/24.0.0.1/kernel ../ga/24.0.0.1/kernel/Dockerfile.ubuntu.ibmjava8 -websphere-liberty:24.0.0.1-kernel-java11-openj9 ../ga/24.0.0.1/kernel ../ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk11 -websphere-liberty:24.0.0.1-kernel-java17-openj9 ../ga/24.0.0.1/kernel ../ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk17 -websphere-liberty:24.0.0.1-kernel-java8-ibmjava-ubi ../ga/24.0.0.1/kernel ../ga/24.0.0.1/kernel/Dockerfile.ubi.ibmjava8 -websphere-liberty:24.0.0.1-kernel-java8-openj9-ubi ../ga/24.0.0.1/kernel ../ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk8 -websphere-liberty:24.0.0.1-kernel-java11-openj9-ubi ../ga/24.0.0.1/kernel ../ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk11 -websphere-liberty:24.0.0.1-kernel-java17-openj9-ubi ../ga/24.0.0.1/kernel ../ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk17 -websphere-liberty:24.0.0.1-full ../ga/24.0.0.1/full ../ga/24.0.0.1/full/Dockerfile.ubuntu.ibmjava8 -websphere-liberty:24.0.0.1-full-java11-openj9 ../ga/24.0.0.1/full ../ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk11 -websphere-liberty:24.0.0.1-full-java17-openj9 ../ga/24.0.0.1/full ../ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk17 -websphere-liberty:24.0.0.1-full-java8-ibmjava-ubi ../ga/24.0.0.1/full ../ga/24.0.0.1/full/Dockerfile.ubi.ibmjava8 -websphere-liberty:24.0.0.1-full-java8-openj9-ubi ../ga/24.0.0.1/full ../ga/24.0.0.1/full/Dockerfile.ubi.openjdk8 -websphere-liberty:24.0.0.1-full-java11-openj9-ubi ../ga/24.0.0.1/full ../ga/24.0.0.1/full/Dockerfile.ubi.openjdk11 -websphere-liberty:24.0.0.1-full-java17-openj9-ubi ../ga/24.0.0.1/full ../ga/24.0.0.1/full/Dockerfile.ubi.openjdk17 -websphere-liberty:beta ../beta -websphere-liberty:test-stock-quote test-stock-quote -websphere-liberty:test-stock-trader test-stock-trader -websphere-liberty:test-pet-clinic test-pet-clinic diff --git a/ga/24.0.0.1/README.md b/ga/24.0.0.2/README.md similarity index 100% rename from ga/24.0.0.1/README.md rename to ga/24.0.0.2/README.md diff --git a/ga/24.0.0.1/full/Dockerfile.ubi.ibmjava8 b/ga/24.0.0.2/full/Dockerfile.ubi.ibmjava8 similarity index 93% rename from ga/24.0.0.1/full/Dockerfile.ubi.ibmjava8 rename to ga/24.0.0.2/full/Dockerfile.ubi.ibmjava8 index da2ef46bc..f052cddc8 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubi.ibmjava8 +++ b/ga/24.0.0.2/full/Dockerfile.ubi.ibmjava8 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java8-ibmjava-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java8-ibmjava-ubi FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -36,7 +36,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java8-ibmjava-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java8-ibmjava-ubi FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk11 b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk11 similarity index 93% rename from ga/24.0.0.1/full/Dockerfile.ubi.openjdk11 rename to ga/24.0.0.2/full/Dockerfile.ubi.openjdk11 index a299dab68..121c394f7 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk11 +++ b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk11 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java11-openj9-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java11-openj9-ubi FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -36,7 +36,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java11-openj9-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java11-openj9-ubi FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk17 b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk17 similarity index 93% rename from ga/24.0.0.1/full/Dockerfile.ubi.openjdk17 rename to ga/24.0.0.2/full/Dockerfile.ubi.openjdk17 index 369a2ecf2..775532568 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk17 +++ b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk17 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java17-openj9-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java17-openj9-ubi FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -36,7 +36,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java17-openj9-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java17-openj9-ubi FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk21 b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk21 similarity index 93% rename from ga/24.0.0.1/full/Dockerfile.ubi.openjdk21 rename to ga/24.0.0.2/full/Dockerfile.ubi.openjdk21 index bf874f6e5..34b085330 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk21 +++ b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk21 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java21-openj9-ubi9-minimal +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java21-openj9-ubi9-minimal FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -36,7 +36,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java21-openj9-ubi9-minimal +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java21-openj9-ubi9-minimal FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk8 b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk8 similarity index 93% rename from ga/24.0.0.1/full/Dockerfile.ubi.openjdk8 rename to ga/24.0.0.2/full/Dockerfile.ubi.openjdk8 index 7744481d1..02359a944 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubi.openjdk8 +++ b/ga/24.0.0.2/full/Dockerfile.ubi.openjdk8 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java8-openj9-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java8-openj9-ubi FROM $PARENT_IMAGE AS installBundle ARG VERBOSE=false @@ -36,7 +36,7 @@ RUN set -eux; \ rm -rf /output/workarea /output/logs; \ find /opt/ibm/wlp ! -perm -g=rw -print0 | xargs -r -0 chmod g+rw; -ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.1-kernel-java8-openj9-ubi +ARG PARENT_IMAGE=icr.io/appcafe/websphere-liberty:24.0.0.2-kernel-java8-openj9-ubi FROM $PARENT_IMAGE ARG VERBOSE=false diff --git a/ga/24.0.0.1/full/Dockerfile.ubuntu.ibmjava8 b/ga/24.0.0.2/full/Dockerfile.ubuntu.ibmjava8 similarity index 96% rename from ga/24.0.0.1/full/Dockerfile.ubuntu.ibmjava8 rename to ga/24.0.0.2/full/Dockerfile.ubuntu.ibmjava8 index f64d6d421..1dd60f872 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubuntu.ibmjava8 +++ b/ga/24.0.0.2/full/Dockerfile.ubuntu.ibmjava8 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM websphere-liberty:24.0.0.1-kernel-java8-ibmjava +FROM websphere-liberty:24.0.0.2-kernel-java8-ibmjava ARG VERBOSE=false ARG REPOSITORIES_PROPERTIES="" diff --git a/ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk11 b/ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk11 similarity index 96% rename from ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk11 rename to ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk11 index f492f2a3b..d18f02d35 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk11 +++ b/ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk11 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM websphere-liberty:24.0.0.1-kernel-java11-openj9 +FROM websphere-liberty:24.0.0.2-kernel-java11-openj9 ARG VERBOSE=false ARG REPOSITORIES_PROPERTIES="" diff --git a/ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk17 b/ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk17 similarity index 96% rename from ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk17 rename to ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk17 index c413085c3..b921d43f6 100644 --- a/ga/24.0.0.1/full/Dockerfile.ubuntu.openjdk17 +++ b/ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk17 @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM websphere-liberty:24.0.0.1-kernel-java17-openj9 +FROM websphere-liberty:24.0.0.2-kernel-java17-openj9 ARG VERBOSE=false ARG REPOSITORIES_PROPERTIES="" diff --git a/ga/24.0.0.1/full/README.md b/ga/24.0.0.2/full/README.md similarity index 100% rename from ga/24.0.0.1/full/README.md rename to ga/24.0.0.2/full/README.md diff --git a/ga/24.0.0.1/full/resources/.gitkeep b/ga/24.0.0.2/full/resources/.gitkeep similarity index 100% rename from ga/24.0.0.1/full/resources/.gitkeep rename to ga/24.0.0.2/full/resources/.gitkeep diff --git a/ga/24.0.0.1/full/server.xml b/ga/24.0.0.2/full/server.xml similarity index 100% rename from ga/24.0.0.1/full/server.xml rename to ga/24.0.0.2/full/server.xml diff --git a/ga/24.0.0.2/images.txt b/ga/24.0.0.2/images.txt new file mode 100644 index 000000000..eb845ec65 --- /dev/null +++ b/ga/24.0.0.2/images.txt @@ -0,0 +1,18 @@ +websphere-liberty:24.0.0.2-kernel ../ga/24.0.0.2/kernel ../ga/24.0.0.2/kernel/Dockerfile.ubuntu.ibmjava8 +websphere-liberty:24.0.0.2-kernel-java11-openj9 ../ga/24.0.0.2/kernel ../ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk11 +websphere-liberty:24.0.0.2-kernel-java17-openj9 ../ga/24.0.0.2/kernel ../ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk17 +websphere-liberty:24.0.0.2-kernel-java8-ibmjava-ubi ../ga/24.0.0.2/kernel ../ga/24.0.0.2/kernel/Dockerfile.ubi.ibmjava8 +websphere-liberty:24.0.0.2-kernel-java8-openj9-ubi ../ga/24.0.0.2/kernel ../ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk8 +websphere-liberty:24.0.0.2-kernel-java11-openj9-ubi ../ga/24.0.0.2/kernel ../ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk11 +websphere-liberty:24.0.0.2-kernel-java17-openj9-ubi ../ga/24.0.0.2/kernel ../ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk17 +websphere-liberty:24.0.0.2-full ../ga/24.0.0.2/full ../ga/24.0.0.2/full/Dockerfile.ubuntu.ibmjava8 +websphere-liberty:24.0.0.2-full-java11-openj9 ../ga/24.0.0.2/full ../ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk11 +websphere-liberty:24.0.0.2-full-java17-openj9 ../ga/24.0.0.2/full ../ga/24.0.0.2/full/Dockerfile.ubuntu.openjdk17 +websphere-liberty:24.0.0.2-full-java8-ibmjava-ubi ../ga/24.0.0.2/full ../ga/24.0.0.2/full/Dockerfile.ubi.ibmjava8 +websphere-liberty:24.0.0.2-full-java8-openj9-ubi ../ga/24.0.0.2/full ../ga/24.0.0.2/full/Dockerfile.ubi.openjdk8 +websphere-liberty:24.0.0.2-full-java11-openj9-ubi ../ga/24.0.0.2/full ../ga/24.0.0.2/full/Dockerfile.ubi.openjdk11 +websphere-liberty:24.0.0.2-full-java17-openj9-ubi ../ga/24.0.0.2/full ../ga/24.0.0.2/full/Dockerfile.ubi.openjdk17 +websphere-liberty:beta ../beta +websphere-liberty:test-stock-quote test-stock-quote +websphere-liberty:test-stock-trader test-stock-trader +websphere-liberty:test-pet-clinic test-pet-clinic diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubi.ibmjava8 b/ga/24.0.0.2/kernel/Dockerfile.ubi.ibmjava8 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubi.ibmjava8 rename to ga/24.0.0.2/kernel/Dockerfile.ubi.ibmjava8 index a744846d5..e4a70d41c 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubi.ibmjava8 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +33,8 @@ RUN yum -y install unzip wget openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk11 b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk11 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk11 rename to ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk11 index 6493637dc..6a3d0620b 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk11 @@ -19,9 +19,11 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a + # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +34,8 @@ RUN yum -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +49,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk17 b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk17 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk17 rename to ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk17 index 2510e4b90..65ac56401 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk17 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +33,8 @@ RUN yum -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk21 b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk21 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk21 rename to ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk21 index c2eccfb6e..b48eadd51 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk21 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk21 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -31,6 +32,8 @@ RUN microdnf -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -44,8 +47,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk8 b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk8 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk8 rename to ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk8 index 8ad691e71..87634a152 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubi.openjdk8 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +33,8 @@ RUN yum -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/24.0.0.2/kernel/Dockerfile.ubuntu.ibmjava8 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubuntu.ibmjava8 rename to ga/24.0.0.2/kernel/Dockerfile.ubuntu.ibmjava8 index b013026f2..e4b57c646 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubuntu.ibmjava8 @@ -19,8 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ @@ -83,6 +84,8 @@ RUN apt-get update \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && rm /tmp/wlp.zip \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk11 b/ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk11 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk11 rename to ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk11 index 990c6cd21..36323590a 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk11 @@ -19,8 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ @@ -78,6 +79,8 @@ RUN apt-get update \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && rm /tmp/wlp.zip \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk17 b/ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk17 similarity index 96% rename from ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk17 rename to ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk17 index daef2db82..fd91b408f 100644 --- a/ga/24.0.0.1/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/24.0.0.2/kernel/Dockerfile.ubuntu.openjdk17 @@ -19,8 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ @@ -78,6 +79,8 @@ RUN apt-get update \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && rm /tmp/wlp.zip \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/24.0.0.1/kernel/NOTICES b/ga/24.0.0.2/kernel/NOTICES similarity index 100% rename from ga/24.0.0.1/kernel/NOTICES rename to ga/24.0.0.2/kernel/NOTICES diff --git a/ga/24.0.0.1/kernel/README.md b/ga/24.0.0.2/kernel/README.md similarity index 100% rename from ga/24.0.0.1/kernel/README.md rename to ga/24.0.0.2/kernel/README.md diff --git a/ga/24.0.0.1/kernel/fixes/.gitkeep b/ga/24.0.0.2/kernel/fixes/.gitkeep similarity index 100% rename from ga/24.0.0.1/kernel/fixes/.gitkeep rename to ga/24.0.0.2/kernel/fixes/.gitkeep diff --git a/ga/24.0.0.1/kernel/helpers/build/checkpoint.sh b/ga/24.0.0.2/kernel/helpers/build/checkpoint.sh similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/checkpoint.sh rename to ga/24.0.0.2/kernel/helpers/build/checkpoint.sh diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-client.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-client.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-client.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-client.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-embedded.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache-config.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/hazelcast-sessioncache.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/http-endpoint.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/http-endpoint.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/http-endpoint.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/http-endpoint.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/http-ssl-endpoint.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/iiop-endpoint.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/iiop-ssl-endpoint.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache-config.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/infinispan-client-sessioncache.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/jms-endpoint.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/jms-endpoint.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/jms-endpoint.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/jms-endpoint.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/jms-ssl-endpoint.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/keystore.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/keystore.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/keystore.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/keystore.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/mp-health-check.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/mp-health-check.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/mp-health-check.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/mp-health-check.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/mp-monitoring.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/mp-monitoring.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/mp-monitoring.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/mp-monitoring.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/oidc-config.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/oidc-config.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/oidc-config.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/oidc-config.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/oidc.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/oidc.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/oidc.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/oidc.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sessioncache-features.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sessioncache-features.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sessioncache-features.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sessioncache-features.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-facebook.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-facebook.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-facebook.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-facebook.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-features.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-features.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-features.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-features.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-github.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-github.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-github.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-github.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-google.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-google.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-google.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-google.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-linkedin.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-linkedin.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-linkedin.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-linkedin.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-oauth2.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-oauth2.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-oauth2.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-oauth2.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-oidc.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-oidc.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-oidc.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-oidc.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-twitter.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-twitter.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/sso-twitter.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/sso-twitter.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/tls.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/tls.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/tls.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/tls.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/trustDefault.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/trustDefault.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/trustDefault.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/trustDefault.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configuration_snippets/truststore.xml b/ga/24.0.0.2/kernel/helpers/build/configuration_snippets/truststore.xml similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/configuration_snippets/truststore.xml rename to ga/24.0.0.2/kernel/helpers/build/configuration_snippets/truststore.xml diff --git a/ga/24.0.0.1/kernel/helpers/build/configure.sh b/ga/24.0.0.2/kernel/helpers/build/configure.sh similarity index 98% rename from ga/24.0.0.1/kernel/helpers/build/configure.sh rename to ga/24.0.0.2/kernel/helpers/build/configure.sh index a13d4d8a2..7a9f03b16 100755 --- a/ga/24.0.0.1/kernel/helpers/build/configure.sh +++ b/ga/24.0.0.2/kernel/helpers/build/configure.sh @@ -179,6 +179,12 @@ function main() { if [ ! "$SCC_SIZE" = "" ]; then cmd+=" -s $SCC_SIZE" fi + if [ "$WARM_ENDPOINT" = "false" ]; then + cmd+=" -c" + fi + if [ ! "$WARM_ENDPOINT_URL" = "" ]; then + cmd+=" -u $WARM_ENDPOINT_URL" + fi eval $cmd fi } diff --git a/ga/24.0.0.1/kernel/helpers/build/features.sh b/ga/24.0.0.2/kernel/helpers/build/features.sh similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/features.sh rename to ga/24.0.0.2/kernel/helpers/build/features.sh diff --git a/ga/24.0.0.1/kernel/helpers/build/infinispan-client-setup.sh b/ga/24.0.0.2/kernel/helpers/build/infinispan-client-setup.sh similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/infinispan-client-setup.sh rename to ga/24.0.0.2/kernel/helpers/build/infinispan-client-setup.sh diff --git a/ga/24.0.0.1/kernel/helpers/build/internal/features-installed.sh b/ga/24.0.0.2/kernel/helpers/build/internal/features-installed.sh similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/internal/features-installed.sh rename to ga/24.0.0.2/kernel/helpers/build/internal/features-installed.sh diff --git a/ga/24.0.0.1/kernel/helpers/build/pidplus.sh b/ga/24.0.0.2/kernel/helpers/build/pidplus.sh similarity index 100% rename from ga/24.0.0.1/kernel/helpers/build/pidplus.sh rename to ga/24.0.0.2/kernel/helpers/build/pidplus.sh diff --git a/ga/24.0.0.1/kernel/helpers/build/populate_scc.sh b/ga/24.0.0.2/kernel/helpers/build/populate_scc.sh similarity index 85% rename from ga/24.0.0.1/kernel/helpers/build/populate_scc.sh rename to ga/24.0.0.2/kernel/helpers/build/populate_scc.sh index 675415f29..19e4974c8 100755 --- a/ga/24.0.0.1/kernel/helpers/build/populate_scc.sh +++ b/ga/24.0.0.2/kernel/helpers/build/populate_scc.sh @@ -1,5 +1,5 @@ #!/bin/bash -# (C) Copyright IBM Corporation 2020. +# (C) Copyright IBM Corporation 2020, 2024 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,6 +24,8 @@ set -Eeox pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. +WARM_ENDPOINT=true +WARM_ENDPOINT_URL=localhost:9080/ # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -49,7 +51,7 @@ CREATE_LAYER="$OPENJ9_JAVA_OPTIONS,createLayer,groupAccess" DESTROY_LAYER="$OPENJ9_JAVA_OPTIONS,destroy" PRINT_LAYER_STATS="$OPENJ9_JAVA_OPTIONS,printTopLayerStats" -while getopts ":i:s:tdh" OPT +while getopts ":i:s:u:tdhwc" OPT do case "$OPT" in i) @@ -65,13 +67,24 @@ do d) TRIM_SCC=no ;; + w) + WARM_ENDPOINT=true + ;; + c) + WARM_ENDPOINT=false + ;; + u) + WARM_ENDPOINT_URL="${OPTARG}" + ;; h) echo \ -"Usage: $0 [-i iterations] [-s size] [-t] [-d] +"Usage: $0 [-i iterations] [-s size] [-t] [-d] [-w] [-u url] -i Number of iterations to run to populate the SCC. (Default: $ITERATIONS) -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. + -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) Trimming enabled=$TRIM_SCC" exit 1 @@ -99,7 +112,14 @@ then echo "Calculating SCC layer upper bound, starting with initial size $SCC_SIZE." # Populate the newly created class cache layer. /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop + # Find out how full it is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full. Destroying layer." @@ -123,6 +143,12 @@ fi for ((i=0; i<$ITERATIONS; i++)) do /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop done @@ -136,6 +162,7 @@ then chmod -R g+rwx /output/resources fi + # Tell the user how full the final layer is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full." diff --git a/ga/24.0.0.1/kernel/helpers/runtime/docker-server.sh b/ga/24.0.0.2/kernel/helpers/runtime/docker-server.sh similarity index 100% rename from ga/24.0.0.1/kernel/helpers/runtime/docker-server.sh rename to ga/24.0.0.2/kernel/helpers/runtime/docker-server.sh diff --git a/ga/24.0.0.1/kernel/helpers/runtime/restore-server.sh b/ga/24.0.0.2/kernel/helpers/runtime/restore-server.sh similarity index 100% rename from ga/24.0.0.1/kernel/helpers/runtime/restore-server.sh rename to ga/24.0.0.2/kernel/helpers/runtime/restore-server.sh diff --git a/ga/24.0.0.1/kernel/resources/.gitkeep b/ga/24.0.0.2/kernel/resources/.gitkeep similarity index 100% rename from ga/24.0.0.1/kernel/resources/.gitkeep rename to ga/24.0.0.2/kernel/resources/.gitkeep diff --git a/ga/24.0.0.1/oidcProvider/Dockerfile b/ga/24.0.0.2/oidcProvider/Dockerfile similarity index 100% rename from ga/24.0.0.1/oidcProvider/Dockerfile rename to ga/24.0.0.2/oidcProvider/Dockerfile diff --git a/ga/24.0.0.1/oidcProvider/Dockerfile.java11 b/ga/24.0.0.2/oidcProvider/Dockerfile.java11 similarity index 100% rename from ga/24.0.0.1/oidcProvider/Dockerfile.java11 rename to ga/24.0.0.2/oidcProvider/Dockerfile.java11 diff --git a/ga/24.0.0.1/oidcProvider/README.md b/ga/24.0.0.2/oidcProvider/README.md similarity index 100% rename from ga/24.0.0.1/oidcProvider/README.md rename to ga/24.0.0.2/oidcProvider/README.md diff --git a/ga/24.0.0.1/oidcProvider/server.xml b/ga/24.0.0.2/oidcProvider/server.xml similarity index 100% rename from ga/24.0.0.1/oidcProvider/server.xml rename to ga/24.0.0.2/oidcProvider/server.xml diff --git a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 index a744846d5..e4a70d41c 100644 --- a/ga/latest/kernel/Dockerfile.ubi.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubi.ibmjava8 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +33,8 @@ RUN yum -y install unzip wget openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk11 b/ga/latest/kernel/Dockerfile.ubi.openjdk11 index 6493637dc..6a3d0620b 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk11 @@ -19,9 +19,11 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a + # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +34,8 @@ RUN yum -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +49,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk17 b/ga/latest/kernel/Dockerfile.ubi.openjdk17 index 2510e4b90..65ac56401 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk17 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +33,8 @@ RUN yum -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk21 b/ga/latest/kernel/Dockerfile.ubi.openjdk21 index c2eccfb6e..b48eadd51 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk21 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk21 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -31,6 +32,8 @@ RUN microdnf -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -44,8 +47,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubi.openjdk8 b/ga/latest/kernel/Dockerfile.ubi.openjdk8 index 8ad691e71..87634a152 100644 --- a/ga/latest/kernel/Dockerfile.ubi.openjdk8 +++ b/ga/latest/kernel/Dockerfile.ubi.openjdk8 @@ -19,9 +19,10 @@ USER root ARG VERBOSE=false # Install WebSphere Liberty -ARG LIBERTY_VERSION=24.0.0.1 +ARG LIBERTY_VERSION=24.0.0.2 ARG LIBERTY_URL ARG DOWNLOAD_OPTIONS="" +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a # If there is a local copy of the image use that instead COPY resources/ /tmp/ @@ -32,6 +33,8 @@ RUN yum -y install shadow-utils unzip wget findutils openssl \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && if [ ! -f /tmp/wlp.zip ]; then wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip; fi \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && chmod -R g+x /usr/bin \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && chown -R 1001:0 /opt/ibm/wlp \ @@ -45,8 +48,8 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 index b013026f2..e4b57c646 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 +++ b/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8 @@ -19,8 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ @@ -83,6 +84,8 @@ RUN apt-get update \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && rm /tmp/wlp.zip \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 index 990c6cd21..36323590a 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk11 @@ -19,8 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ @@ -78,6 +79,8 @@ RUN apt-get update \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && rm /tmp/wlp.zip \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 index daef2db82..fd91b408f 100644 --- a/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 +++ b/ga/latest/kernel/Dockerfile.ubuntu.openjdk17 @@ -19,8 +19,9 @@ USER root ARG VERBOSE=false ARG OPENJ9_SCC=true -ARG LIBERTY_VERSION=24.0.0.1 -ARG LIBERTY_BUILD_LABEL=cl240120240115-2042 +ARG LIBERTY_VERSION=24.0.0.2 +ARG LIBERTY_BUILD_LABEL=cl240220240212-1928 +ARG LIBERTY_SHA=bd9c64cbf086f03e81ee50e4a44acc6f05af191a LABEL org.opencontainers.image.authors="Leo Christy Jesuraj, Thomas Watson, Wendy Raschke, Michal Broz" \ org.opencontainers.image.vendor="IBM" \ @@ -78,6 +79,8 @@ RUN apt-get update \ && useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default \ && LIBERTY_URL=${LIBERTY_URL:-$(wget -q -O - https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/downloads/wlp/index.yml | grep -E "^\s*kernel:.*${LIBERTY_VERSION}\.zip" | sed -n 's/\s*kernel:\s//p' | tr -d '\r' )} \ && wget $DOWNLOAD_OPTIONS $LIBERTY_URL -U UA-IBM-WebSphere-Liberty-Docker -O /tmp/wlp.zip \ + && echo "$LIBERTY_SHA /tmp/wlp.zip" > /tmp/wlp.zip.sha1 \ + && sha1sum -c /tmp/wlp.zip.sha1 \ && unzip -q /tmp/wlp.zip -d /opt/ibm \ && rm /tmp/wlp.zip \ && chown -R 1001:0 /opt/ibm/wlp \ diff --git a/ga/latest/kernel/helpers/build/configure.sh b/ga/latest/kernel/helpers/build/configure.sh index a13d4d8a2..7a9f03b16 100755 --- a/ga/latest/kernel/helpers/build/configure.sh +++ b/ga/latest/kernel/helpers/build/configure.sh @@ -179,6 +179,12 @@ function main() { if [ ! "$SCC_SIZE" = "" ]; then cmd+=" -s $SCC_SIZE" fi + if [ "$WARM_ENDPOINT" = "false" ]; then + cmd+=" -c" + fi + if [ ! "$WARM_ENDPOINT_URL" = "" ]; then + cmd+=" -u $WARM_ENDPOINT_URL" + fi eval $cmd fi } diff --git a/ga/latest/kernel/helpers/build/populate_scc.sh b/ga/latest/kernel/helpers/build/populate_scc.sh index 675415f29..19e4974c8 100755 --- a/ga/latest/kernel/helpers/build/populate_scc.sh +++ b/ga/latest/kernel/helpers/build/populate_scc.sh @@ -1,5 +1,5 @@ #!/bin/bash -# (C) Copyright IBM Corporation 2020. +# (C) Copyright IBM Corporation 2020, 2024 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,6 +24,8 @@ set -Eeox pipefail SCC_SIZE="80m" # Default size of the SCC layer. ITERATIONS=2 # Number of iterations to run to populate it. TRIM_SCC=yes # Trim the SCC to eliminate any wasted space. +WARM_ENDPOINT=true +WARM_ENDPOINT_URL=localhost:9080/ # If this directory exists and has at least ug=rwx permissions, assume the base image includes an SCC called 'openj9_system_scc' and build on it. # If not, build on our own SCC. @@ -49,7 +51,7 @@ CREATE_LAYER="$OPENJ9_JAVA_OPTIONS,createLayer,groupAccess" DESTROY_LAYER="$OPENJ9_JAVA_OPTIONS,destroy" PRINT_LAYER_STATS="$OPENJ9_JAVA_OPTIONS,printTopLayerStats" -while getopts ":i:s:tdh" OPT +while getopts ":i:s:u:tdhwc" OPT do case "$OPT" in i) @@ -65,13 +67,24 @@ do d) TRIM_SCC=no ;; + w) + WARM_ENDPOINT=true + ;; + c) + WARM_ENDPOINT=false + ;; + u) + WARM_ENDPOINT_URL="${OPTARG}" + ;; h) echo \ -"Usage: $0 [-i iterations] [-s size] [-t] [-d] +"Usage: $0 [-i iterations] [-s size] [-t] [-d] [-w] [-u url] -i Number of iterations to run to populate the SCC. (Default: $ITERATIONS) -s Size of the SCC in megabytes (m suffix required). (Default: $SCC_SIZE) -t Trim the SCC to eliminate most of the free space, if any. -d Don't trim the SCC. + -w Use curl to warm an endpoint during SCC creation. (Default: $WARM_ENDPOINT) + -u The URL endpoint to warm during SCC creation. (Default: $WARM_ENDPOINT_URL) Trimming enabled=$TRIM_SCC" exit 1 @@ -99,7 +112,14 @@ then echo "Calculating SCC layer upper bound, starting with initial size $SCC_SIZE." # Populate the newly created class cache layer. /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop + # Find out how full it is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full. Destroying layer." @@ -123,6 +143,12 @@ fi for ((i=0; i<$ITERATIONS; i++)) do /opt/ibm/wlp/bin/server start + + if [ ${WARM_ENDPOINT} == true ] + then + curl --silent --output /dev/null --show-error --fail --max-time 5 ${WARM_ENDPOINT_URL} 2>&1 || echo "WARM_ENDPOINT call failed, continuing" + fi + /opt/ibm/wlp/bin/server stop done @@ -136,6 +162,7 @@ then chmod -R g+rwx /output/resources fi + # Tell the user how full the final layer is. FULL=`( java $PRINT_LAYER_STATS || true ) 2>&1 | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'` echo "SCC layer is $FULL% full."