Use lf-update-java-alternatives for distribution templates 18/102418/2
authorSangwook Ha <sangwook.ha@verizon.com>
Tue, 20 Sep 2022 21:49:36 +0000 (14:49 -0700)
committerSangwook Ha <sangwook.ha@verizon.com>
Tue, 20 Sep 2022 23:59:45 +0000 (16:59 -0700)
distribution-check-bootup.sh sets JAVA_HOME based on JDKVERSION defined
with 'integration-jdk-version' parameter set from 'jre'. But it's not
used consistently - some templates do not define the parameter. And
often 'jre' is not updated as required.

Use 'lf-update-java-alternative' to set JAVA_HOME environment in a more
consistent manner and remove duplicate code used to set the Java
environment.

Also, address some shellcheck warnings in distribution-check-bootup.sh.

Change-Id: I78398734628e3ac0a53417b484bee3a9168672d9
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
jjb/integration/distribution/distribution-check-bootup.sh
jjb/integration/distribution/distribution-templates.yaml

index 36553c33abf70178bb64592d0fe50dde25763e0a..2ae9b890593cf839effc2a6814babb200b9d4809 100644 (file)
@@ -48,13 +48,13 @@ if [ "$KARAF_PROJECT" = "integration" ]; then
 
     if [ -n "${REPO_URL}" ]; then
        # sed below will fail if it finds space between feature repos.
-       REPO_URL_NO_SPACE="$(echo -e "${REPO_URL}" | tr -d '[:space:]')"
+       REPO_URL_NO_SPACE="$(echo "${REPO_URL}" | tr -d '[:space:]')"
        sed -ie "s%featuresRepositories = %featuresRepositories = ${REPO_URL_NO_SPACE},%g" "${FEATURESCONF}"
     fi
 
     # Add actual boot features.
     # sed below will fail if it finds space between feature repos.
-    FEATURES_NO_SPACE="$(echo -e "${ACTUALFEATURES}" | tr -d '[:space:]')"
+    FEATURES_NO_SPACE="$(echo "${ACTUALFEATURES}" | tr -d '[:space:]')"
     sed -ie "s/\(featuresBoot= \|featuresBoot = \)/featuresBoot = ${FEATURES_NO_SPACE},/g" "${FEATURESCONF}"
     cat "${FEATURESCONF}"
 fi
@@ -72,21 +72,12 @@ cat "${MEMCONF}"
 echo "Listing all open ports on controller system"
 netstat -pnatu
 
-if [ "$JDKVERSION" = 'openjdk17' ]; then
-    echo "Preparing for JRE Version 17"
-    JAVA_HOME="/usr/lib/jvm/java-17-openjdk"
-elif [ "$JDKVERSION" = 'openjdk11' ]; then
-    echo "Preparing for JRE Version 11"
-    JAVA_HOME="/usr/lib/jvm/java-11-openjdk"
-elif [ "${JDKVERSION}" = 'openjdk8' ]; then
-    echo "Setting the JRE Version to 8"
-    # dynamic_verify does not allow sudo, JAVA_HOME should be enough for karaf start.
-    # sudo /usr/sbin/alternatives --set java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.60-2.b27.el7_1.x86_64/jre/bin/java
-    export JAVA_HOME='/usr/lib/jvm/java-1.8.0'
-fi
-readlink -e "${JAVA_HOME}/bin/java"
-echo "JDK Version should be overriden by JAVA_HOME"
+echo "Sourcing Java environment variable .."
+# shellcheck disable=SC1091
+. /tmp/java.env
+
 java -version
+echo JAVA_HOME="${JAVA_HOME}"
 
 echo "Redirecting karaf console output to karaf_console.log"
 export KARAF_REDIRECT="${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log"
@@ -155,10 +146,10 @@ echo "Kill controller"
 ps axf | grep karaf | grep -v grep | awk '{print "kill -9 " $1}' | sh
 
 echo "Bug 4628: Detecting misplaced config files"
-initdir = $(pwd)
+initdir=$(pwd)
 cd "${WORKSPACE}/${BUNDLEFOLDER}" || exit
 XMLS_FOUND="$(echo -- *.xml)"
-cd $initdir || exit
+cd "$initdir" || exit
 if [ "$XMLS_FOUND" != "*.xml" ]; then
     echo "Bug 4628 confirmed."
     ## TODO: Uncomment the following when ODL is fixed, to guard against regression.
index 3218d5075d7d1bdc790a71e33d72e393d77e0ae9..507752b48697bed0d7ad166171f95390e2539753 100644 (file)
           controller-scope: ""
           controller-use-features-boot: ""
           feature-elasticsearch-attribute: "{elasticsearch-attribute}"
-      - integration-jdk-version:
-          jdkversion: "{jre}"
       - distribution-karaf-version:
           karaf-version: "{karaf-version}"
 
 
     builders:
       - integration-detect-variables
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
       - distribution-check-bootup
 
     publishers:
           branch: "{branch}"
       - integration-bundle-url:
           bundle-url: "{bundle-url}"
-      - integration-jdk-version:
-          jdkversion: "{jre}"
       - distribution-karaf-version:
           karaf-version: "karaf4"
 
 
     builders:
       - integration-detect-variables
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
       - distribution-check-bootup
 
     publishers: