From a1b89db0abe289bd61a970370f325d56d1091f21 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 11 Feb 2025 14:52:53 +0100 Subject: [PATCH 1/4] Addapted dockerfile to TFO --- java/Dockerfile-jar.template | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/java/Dockerfile-jar.template b/java/Dockerfile-jar.template index 130244b..31b9ab2 100644 --- a/java/Dockerfile-jar.template +++ b/java/Dockerfile-jar.template @@ -3,9 +3,16 @@ # dockerfile for running the application from JAR FROM container-registry.oracle.com/java/jdk-no-fee-term:17 +ENV LD_PRELOAD=/opt/app/lib/libtfojdbc1.so +ENV LD_LIBRARY_PATH=extracted_binaries_path:/usr/java/jdk-17/lib; + +# TCP fastopen +RUN sysctl -w net.ipv4.tcp_fastopen=5 +RUN sysctl -w net.ipv4.tcp_fastopen_blackhole_timeout_sec=0 RUN useradd -U -d /home/appuser appuser && \ mkdir /opt/app && \ + mkdir /opt/app/lib && \ mkdir /opt/apm && \ mkdir /opt/apm-agent && \ chown appuser:appuser /opt/app /opt/apm /opt/apm-agent @@ -28,4 +35,9 @@ COPY --chown=appuser:appuser self.keystore . COPY --chown=appuser:appuser app.jar ./app.jar COPY --chown=appuser:appuser wallet ./wallet +# Download the Oracle JDBC TCP Fast Open (TFO) Library File +WORKDIR /opt/app/lib +RUN curl https://download.oracle.com/otn-pub/otn_software/jdbc/tfo-lib/v1/libtfojdbc1.so_aarch64.zip -o libtfojdbc1.so_aarch64.zip +RUN unzip libtfojdbc1.so_aarch64.zip + CMD ["java", "-javaagent:/opt/apm-agent/oracle-apm-agent/bootstrap/ApmAgent.jar", "-jar", ${vm_options} "-Dspring.jmx.enabled=true", "-Dserver.tomcat.mbeanregistry.enabled=true", "-Doracle.jdbc.fanEnabled=false", "-Dserver.ssl.enabled=true", "-D${port_property}=${exposed_port}", "-D${key_alias_property}=self_signed", "-D${keystore_property}=self.keystore", "-D${keystore_type_property}=jks", "-D${keystore_password_property}=${keystore_password}", "app.jar" ${program_arguments}] \ No newline at end of file From 39bf8192f2432292a69aa8faad1a65669480c334 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 11 Feb 2025 18:10:51 +0100 Subject: [PATCH 2/4] Updated Dockerfile --- java/Dockerfile-jar.template | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/java/Dockerfile-jar.template b/java/Dockerfile-jar.template index 31b9ab2..6ce8194 100644 --- a/java/Dockerfile-jar.template +++ b/java/Dockerfile-jar.template @@ -2,13 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # dockerfile for running the application from JAR -FROM container-registry.oracle.com/java/jdk-no-fee-term:17 -ENV LD_PRELOAD=/opt/app/lib/libtfojdbc1.so -ENV LD_LIBRARY_PATH=extracted_binaries_path:/usr/java/jdk-17/lib; - -# TCP fastopen -RUN sysctl -w net.ipv4.tcp_fastopen=5 -RUN sysctl -w net.ipv4.tcp_fastopen_blackhole_timeout_sec=0 +FROM container-registry.oracle.com/java/jdk-no-fee-term:23-oraclelinux9 RUN useradd -U -d /home/appuser appuser && \ mkdir /opt/app && \ @@ -17,6 +11,17 @@ RUN useradd -U -d /home/appuser appuser && \ mkdir /opt/apm-agent && \ chown appuser:appuser /opt/app /opt/apm /opt/apm-agent +# Download the Oracle JDBC TCP Fast Open (TFO) Library File +WORKDIR /opt/app/lib +RUN dnf install wget +RUN curl https://oss.oracle.com/el4/unzip/unzip.tar -o unzip.tar +RUN wget https://download.oracle.com/otn-pub/otn_software/jdbc/tfo-lib/v1/libtfojdbc1.so_aarch64.zip +RUN tar -xf unzip.tar +RUN ./unzip libtfojdbc1.so_aarch64.zip + +ENV LD_PRELOAD=/opt/app/lib/libtfojdbc1.so +ENV LD_LIBRARY_PATH=extracted_binaries_path:/usr/java/jdk-23/lib; + USER appuser WORKDIR /home/appuser # COPY --chown=appuser:appuser .oci . From 86e0e44ad3779b8d1cc90ea330dd0b0de318b546 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 11 Feb 2025 18:13:20 +0100 Subject: [PATCH 3/4] Increased timeouts --- devops.tf | 4 ++-- java/build-artifact.yaml.template | 2 +- java/build-repo.yaml.template | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/devops.tf b/devops.tf index a314392..b37f678 100644 --- a/devops.tf +++ b/devops.tf @@ -138,7 +138,7 @@ resource "oci_devops_build_pipeline_stage" "repo_build_pipeline_stage" { image = var.devops_pipeline_image is_pass_all_parameters_enabled = false primary_build_source = oci_devops_repository.config_repo[0].name - stage_execution_timeout_in_seconds = 300 + stage_execution_timeout_in_seconds = 600 count = local.use-repository ? 1 : 0 } @@ -173,7 +173,7 @@ resource "oci_devops_build_pipeline_stage" "art_build_pipeline_stage" { image = var.devops_pipeline_image is_pass_all_parameters_enabled = false primary_build_source = oci_devops_repository.config_repo[0].name - stage_execution_timeout_in_seconds = 300 + stage_execution_timeout_in_seconds = 600 count = local.use-artifact ? 1 : 0 } diff --git a/java/build-artifact.yaml.template b/java/build-artifact.yaml.template index dc25aff..904709b 100644 --- a/java/build-artifact.yaml.template +++ b/java/build-artifact.yaml.template @@ -36,7 +36,7 @@ steps: sh add-credential-wallet.sh - type: Command name: Build Docker image - timeoutInSeconds: 600 + timeoutInSeconds: 900 failImmediatelyOnError: true command: | docker build . --file Dockerfile --tag ${image_remote_tag}:${image_tag}-$${artifact_version} --tag ${image_latest_tag} diff --git a/java/build-repo.yaml.template b/java/build-repo.yaml.template index e73c542..eabbd37 100644 --- a/java/build-repo.yaml.template +++ b/java/build-repo.yaml.template @@ -76,7 +76,7 @@ steps: cp $${OCI_WORKSPACE_DIR}/${repo_name}/${artifact_location} ./${fileName} - type: Command name: Build Docker image - timeoutInSeconds: 600 + timeoutInSeconds: 900 failImmediatelyOnError: true command: | cd $${OCI_WORKSPACE_DIR}/${repo_name} From 80cd674d783d869e7fa487517b9c4b9bd3bf7206 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 11 Feb 2025 18:30:41 +0100 Subject: [PATCH 4/4] Error in dockerfile --- java/Dockerfile-jar.template | 5 ----- 1 file changed, 5 deletions(-) diff --git a/java/Dockerfile-jar.template b/java/Dockerfile-jar.template index 6ce8194..4ff9277 100644 --- a/java/Dockerfile-jar.template +++ b/java/Dockerfile-jar.template @@ -40,9 +40,4 @@ COPY --chown=appuser:appuser self.keystore . COPY --chown=appuser:appuser app.jar ./app.jar COPY --chown=appuser:appuser wallet ./wallet -# Download the Oracle JDBC TCP Fast Open (TFO) Library File -WORKDIR /opt/app/lib -RUN curl https://download.oracle.com/otn-pub/otn_software/jdbc/tfo-lib/v1/libtfojdbc1.so_aarch64.zip -o libtfojdbc1.so_aarch64.zip -RUN unzip libtfojdbc1.so_aarch64.zip - CMD ["java", "-javaagent:/opt/apm-agent/oracle-apm-agent/bootstrap/ApmAgent.jar", "-jar", ${vm_options} "-Dspring.jmx.enabled=true", "-Dserver.tomcat.mbeanregistry.enabled=true", "-Doracle.jdbc.fanEnabled=false", "-Dserver.ssl.enabled=true", "-D${port_property}=${exposed_port}", "-D${key_alias_property}=self_signed", "-D${keystore_property}=self.keystore", "-D${keystore_type_property}=jks", "-D${keystore_password_property}=${keystore_password}", "app.jar" ${program_arguments}] \ No newline at end of file