Add common-functions.sh bash lib 43/67243/8
authorJamo Luhrsen <jluhrsen@redhat.com>
Wed, 17 Jan 2018 17:06:10 +0000 (09:06 -0800)
committerJamo Luhrsen <jluhrsen@redhat.com>
Thu, 18 Jan 2018 20:27:40 +0000 (20:27 +0000)
tired of looking at duplicated code and having to remember to
search for all instances of it. This can be the start of some
cleanup, if others agree it's a good idea.

first round:
  - move the Java vars setup code to a common function.
  - move some common vars to common location as well
  - added "export" to some vars to get around local tox
    shellcheck error

Change-Id: If03949e16aae3561ac8636bc4de0b1a17dad01ae
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
jjb/integration/common-functions.sh [new file with mode: 0644]
jjb/integration/integration-configure-clustering.sh
jjb/integration/integration-deploy-controller-run-test.sh
jjb/integration/integration-macros.yaml

diff --git a/jjb/integration/common-functions.sh b/jjb/integration/common-functions.sh
new file mode 100644 (file)
index 0000000..7e3b3b6
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# Basic controller configuration settings
+export MAVENCONF=/tmp/${BUNDLEFOLDER}/etc/org.ops4j.pax.url.mvn.cfg
+export FEATURESCONF=/tmp/${BUNDLEFOLDER}/etc/org.apache.karaf.features.cfg
+export CUSTOMPROP=/tmp/${BUNDLEFOLDER}/etc/custom.properties
+export LOGCONF=/tmp/${BUNDLEFOLDER}/etc/org.ops4j.pax.logging.cfg
+export MEMCONF=/tmp/${BUNDLEFOLDER}/bin/setenv
+export CONTROLLERMEM="2048m"
+
+# Cluster specific configuration settings
+export AKKACONF=/tmp/${BUNDLEFOLDER}/configuration/initial/akka.conf
+export MODULESCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/modules.conf
+export MODULESHARDSCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/module-shards.conf
+
+# Setup JAVA_HOME and MAX_MEM Value in ODL startup config file
+function set_java_vars() {
+
+    echo "Configure java home and max memory..."
+    sed -ie 's%^# export JAVA_HOME%export JAVA_HOME="\${JAVA_HOME:-${JAVA_HOME}}"%g' ${MEMCONF}
+    sed -ie 's/JAVA_MAX_MEM="2048m"/JAVA_MAX_MEM="${CONTROLLERMEM}"/g' ${MEMCONF}
+    cat ${MEMCONF}
+
+    echo "Set Java version"
+    sudo /usr/sbin/alternatives --install /usr/bin/java java ${JAVA_HOME}/bin/java 1
+    sudo /usr/sbin/alternatives --set java ${JAVA_HOME}/bin/java
+    echo "JDK default version ..."
+    java -version
+
+    echo "Set JAVA_HOME"
+    export JAVA_HOME="${JAVA_HOME}"
+    # shellcheck disable=SC2037
+    JAVA_RESOLVED=\`readlink -e "\${JAVA_HOME}/bin/java"\`
+    echo "Java binary pointed at by JAVA_HOME: \${JAVA_RESOLVED}"
+} # set_java_vars()
index 3c679d156c5e42a4c64012b44fa454651ea80883..89dd8e9aa1c239a4d40ee1a4872c50a3b4de6139 100644 (file)
@@ -9,20 +9,9 @@ echo "#################################################"
 echo "##         Configure Cluster and Start         ##"
 echo "#################################################"
 
-AKKACONF=/tmp/${BUNDLEFOLDER}/configuration/initial/akka.conf
-MODULESCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/modules.conf
-MODULESHARDSCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/module-shards.conf
-MAVENCONF=/tmp/${BUNDLEFOLDER}/etc/org.ops4j.pax.url.mvn.cfg
-FEATURESCONF=/tmp/${BUNDLEFOLDER}/etc/org.apache.karaf.features.cfg
-CUSTOMPROP=/tmp/${BUNDLEFOLDER}/etc/custom.properties
-LOGCONF=/tmp/${BUNDLEFOLDER}/etc/org.ops4j.pax.logging.cfg
-MEMCONF=/tmp/${BUNDLEFOLDER}/bin/setenv
-CONTROLLERMEM="2048m"
-
-
 if [ ${CONTROLLERSCOPE} == 'all' ]; then
     ACTUALFEATURES="odl-integration-compatible-with-all,${CONTROLLERFEATURES}"
-    CONTROLLERMEM="3072m"
+    export CONTROLLERMEM="3072m"
 else
     ACTUALFEATURES="odl-infrautils-ready,${CONTROLLERFEATURES}"
 fi
@@ -110,22 +99,7 @@ if [ "${ODL_ENABLE_L3_FWD}" == "yes" ]; then
   cat ${CUSTOMPROP}
 fi
 
-echo "Configure java home and max memory..."
-sed -ie 's%^# export JAVA_HOME%export JAVA_HOME="\${JAVA_HOME:-${JAVA_HOME}}"%g' ${MEMCONF}
-sed -ie 's/JAVA_MAX_MEM="2048m"/JAVA_MAX_MEM="${CONTROLLERMEM}"/g' ${MEMCONF}
-cat ${MEMCONF}
-
-echo "Set Java version"
-sudo /usr/sbin/alternatives --install /usr/bin/java java ${JAVA_HOME}/bin/java 1
-sudo /usr/sbin/alternatives --set java ${JAVA_HOME}/bin/java
-echo "JDK default version ..."
-java -version
-
-echo "Set JAVA_HOME"
-export JAVA_HOME="${JAVA_HOME}"
-# Did you know that in HERE documents, single quote is an ordinary character, but backticks are still executing?
-JAVA_RESOLVED=\`readlink -e "\${JAVA_HOME}/bin/java"\`
-echo "Java binary pointed at by JAVA_HOME: \${JAVA_RESOLVED}"
+set_java_vars
 
 # Copy shard file if exists
 if [ -f /tmp/custom_shard_config.txt ]; then
index a81b9aec446fdaef0a38c41d44aceab0304156d1..b56e4958afe3367712d7a923356757add7d19ee3 100644 (file)
@@ -5,12 +5,6 @@
 # shellcheck source=${ROBOT_VENV}/bin/activate disable=SC1091
 source ${ROBOT_VENV}/bin/activate
 
-MAVENCONF=/tmp/${BUNDLEFOLDER}/etc/org.ops4j.pax.url.mvn.cfg
-FEATURESCONF=/tmp/${BUNDLEFOLDER}/etc/org.apache.karaf.features.cfg
-CUSTOMPROP=/tmp/${BUNDLEFOLDER}/etc/custom.properties
-LOGCONF=/tmp/${BUNDLEFOLDER}/etc/org.ops4j.pax.logging.cfg
-MEMCONF=/tmp/${BUNDLEFOLDER}/bin/setenv
-CONTROLLERMEM="2048m"
 
 if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
     echo "Configure cluster"
@@ -21,7 +15,7 @@ fi
 
 if [ ${CONTROLLERSCOPE} == 'all' ]; then
     ACTUALFEATURES="odl-integration-compatible-with-all,${CONTROLLERFEATURES}"
-    CONTROLLERMEM="3072m"
+    export CONTROLLERMEM="3072m"
     COOLDOWN_PERIOD="180"
 else
     ACTUALFEATURES="odl-infrautils-ready,${CONTROLLERFEATURES}"
@@ -106,26 +100,11 @@ if [ -n "${CONTROLLERDEBUGMAP}" ]; then
 fi
 cat ${LOGCONF}
 
-echo "Configure java home and max memory..."
-sed -ie 's%^# export JAVA_HOME%export JAVA_HOME="\${JAVA_HOME:-${JAVA_HOME}}"%g' ${MEMCONF}
-sed -ie 's/JAVA_MAX_MEM="2048m"/JAVA_MAX_MEM="${CONTROLLERMEM}"/g' ${MEMCONF}
-cat ${MEMCONF}
+set_java_vars
 
 echo "Listing all open ports on controller system..."
 netstat -pnatu
 
-echo "Set Java version"
-sudo /usr/sbin/alternatives --install /usr/bin/java java ${JAVA_HOME}/bin/java 1
-sudo /usr/sbin/alternatives --set java ${JAVA_HOME}/bin/java
-echo "JDK default version..."
-java -version
-
-echo "Set JAVA_HOME"
-export JAVA_HOME="${JAVA_HOME}"
-# Did you know that in HERE documents, single quote is an ordinary character, but backticks are still executing?
-JAVA_RESOLVED=\`readlink -e "\${JAVA_HOME}/bin/java"\`
-echo "Java binary pointed at by JAVA_HOME: \${JAVA_RESOLVED}"
-
 if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then
 
     # Copy shard file if exists
index 7fa75f3c2237bc3ea33786be0c4d7db235754c1b..4e2ccf0de917121a68700a164963f25d0c4ba7d0 100644 (file)
 - builder:
     name: integration-deploy-controller-run-test
     builders:
-      - shell: !include-raw: integration-deploy-controller-run-test.sh
+      - shell: !include-raw:
+          - common-functions.sh
+          - integration-deploy-controller-run-test.sh
 
 # Macro: integration-configure-clustering
 # Operation: this macro configures the clustering
 - builder:
     name: integration-configure-clustering
     builders:
-      - shell: !include-raw: integration-configure-clustering.sh
+      - shell: !include-raw:
+          - common-functions.sh
+          - integration-configure-clustering.sh
 
 # Macro: integration-start-cluster-run-test
 # Operation: this macro starts the 3-node cluster and runs test