X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Fcommon-functions.sh;h=c3fdb54a800c99ed8f358dd5fbf1c8ff07a3fa77;hb=6b87d4dde1886655d8ecacd5f1bc4809d8639106;hp=5866c72fe4c8c28f5f1ed066f4a854a59e79b4a6;hpb=fb8aea9c9c29651f761019b325dee04957b3d293;p=releng%2Fbuilder.git diff --git a/jjb/integration/common-functions.sh b/jjb/integration/common-functions.sh index 5866c72fe..c3fdb54a8 100644 --- a/jjb/integration/common-functions.sh +++ b/jjb/integration/common-functions.sh @@ -21,6 +21,7 @@ function print_common_env() { cat << EOF common-functions environment: MAVENCONF: ${MAVENCONF} +ACTUALFEATURES: ${ACTUALFEATURES} FEATURESCONF: ${FEATURESCONF} CUSTOMPROP: ${CUSTOMPROP} LOGCONF: ${LOGCONF} @@ -78,6 +79,9 @@ function configure_karaf_log() { echo "Configuring the karaf log... karaf_version: ${karaf_version}, logapi: ${logapi}" if [ "${logapi}" == "log4j2" ]; then # FIXME: Make log size limit configurable from build parameter. + # From Neon the default karaf file size is 64 MB + sed -ie 's/log4j2.appender.rolling.policies.size.size = 64MB/log4j2.appender.rolling.policies.size.size = 1GB/g' ${LOGCONF} + # Flourine still uses 16 MB sed -ie 's/log4j2.appender.rolling.policies.size.size = 16MB/log4j2.appender.rolling.policies.size.size = 1GB/g' ${LOGCONF} orgmodule="org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver" orgmodule_="${orgmodule//./_}" @@ -158,6 +162,34 @@ function configure_karaf_log_for_apex() { fi } # function configure_karaf_log_for_apex() +function configure_odl_features_for_apex() { + + # if the environment variable $ACTUALFEATURES is not null, then rewrite + # the puppet config file with the features given in that variable, otherwise + # this function is a noop + + local -r controller_ip=$1 + local -r config_file=/etc/puppet/hieradata/service_configs.json + +cat > /tmp/set_odl_features.sh << EOF +sudo jq '.["opendaylight::extra_features"] |= []' $config_file > tmp.json && mv tmp.json $config_file +for feature in $(echo $ACTUALFEATURES | sed "s/,/ /g"); do + sudo jq --arg jq_arg \$feature '.["opendaylight::extra_features"] |= . + [\$jq_arg]' $config_file > tmp && mv tmp $config_file; +done +echo "Modified puppet-opendaylight service_configs.json..." +cat $config_file +EOF + + echo "Feature configuration script..." + cat /tmp/set_odl_features.sh + + if [ -n "${ACTUALFEATURES}" ]; then + scp /tmp/set_odl_features.sh $controller_ip:/tmp/set_odl_features.sh + ssh $controller_ip "sudo bash /tmp/set_odl_features.sh" + fi + +} # function configure_odl_features_for_apex() + function get_os_deploy() { local -r num_systems=${1:-$NUM_OPENSTACK_SYSTEM} case ${num_systems} in @@ -191,7 +223,7 @@ function get_test_suites() { # Use the testplan if specific SUITES are not defined. if [ -z "${SUITES}" ]; then - suite_list=`egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' '` + suite_list=$(egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' ') else suite_list="" workpath="${WORKSPACE}/test/csit/suites" @@ -501,7 +533,7 @@ EOF sleep 5 # FIXME: Do not create .tar and gzip before copying. - for i in `seq 1 ${NUM_ODL_SYSTEM}`; do + for i in $(seq 1 "${NUM_ODL_SYSTEM}"); do CONTROLLERIP=ODL_SYSTEM_${i}_IP echo "collect_logs: for opendaylight controller ip: ${!CONTROLLERIP}" NODE_FOLDER="odl_${i}" @@ -540,7 +572,7 @@ EOF print_job_parameters > ${WORKSPACE}/archives/params.txt # Control Node - for i in `seq 1 ${NUM_OPENSTACK_CONTROL_NODES}`; do + for i in $(seq 1 "${NUM_OPENSTACK_CONTROL_NODES}"); do OSIP=OPENSTACK_CONTROL_NODE_${i}_IP if [ "$(is_openstack_feature_enabled n-cpu)" == "1" ]; then echo "collect_logs: for openstack combo node ip: ${!OSIP}" @@ -610,7 +642,7 @@ EOF done # Compute Nodes - for i in `seq 1 ${NUM_OPENSTACK_COMPUTE_NODES}`; do + for i in $(seq 1 "${NUM_OPENSTACK_COMPUTE_NODES}"); do OSIP=OPENSTACK_COMPUTE_NODE_${i}_IP echo "collect_logs: for openstack compute node ip: ${!OSIP}" NODE_FOLDER="compute_${i}" @@ -677,7 +709,7 @@ function join() { function get_nodes_list() { # Create the string for nodes - for i in `seq 1 ${NUM_ODL_SYSTEM}` ; do + for i in $(seq 1 "${NUM_ODL_SYSTEM}") ; do CONTROLLERIP=ODL_SYSTEM_${i}_IP nodes[$i]=${!CONTROLLERIP} done @@ -696,7 +728,7 @@ function get_features() { # Some versions of jenkins job builder result in feature list containing spaces # and ending in newline. Remove all that. - ACTUALFEATURES=`echo "${ACTUALFEATURES}" | tr -d '\n \r'` + ACTUALFEATURES=$(echo "${ACTUALFEATURES}" | tr -d '\n \r') echo "ACTUALFEATURES: ${ACTUALFEATURES}" # In the case that we want to install features via karaf shell, a space separated list of @@ -862,7 +894,7 @@ EOF # Copy over the configuration script and configuration files to each controller # Execute the configuration script on each controller. function copy_and_run_configuration_script() { - for i in `seq 1 ${NUM_ODL_SYSTEM}`; do + for i in $(seq 1 "${NUM_ODL_SYSTEM}"); do CONTROLLERIP=ODL_SYSTEM_${i}_IP echo "Configuring member-${i} with IP address ${!CONTROLLERIP}" scp ${WORKSPACE}/configuration-script.sh ${!CONTROLLERIP}:/tmp/ @@ -872,7 +904,7 @@ function copy_and_run_configuration_script() { # Copy over the startup script to each controller and execute it. function copy_and_run_startup_script() { - for i in `seq 1 ${NUM_ODL_SYSTEM}`; do + for i in $(seq 1 "${NUM_ODL_SYSTEM}"); do CONTROLLERIP=ODL_SYSTEM_${i}_IP echo "Starting member-${i} with IP address ${!CONTROLLERIP}" scp ${WORKSPACE}/startup-script.sh ${!CONTROLLERIP}:/tmp/ @@ -882,12 +914,12 @@ function copy_and_run_startup_script() { function copy_and_run_post_startup_script() { seed_index=1 - for i in `seq 1 ${NUM_ODL_SYSTEM}`; do + for i in $(seq 1 "${NUM_ODL_SYSTEM}"); do CONTROLLERIP=ODL_SYSTEM_${i}_IP echo "Execute the post startup script on controller ${!CONTROLLERIP}" scp ${WORKSPACE}/post-startup-script.sh ${!CONTROLLERIP}:/tmp ssh ${!CONTROLLERIP} "bash /tmp/post-startup-script.sh $(( seed_index++ ))" - if [ $(( $i % ${NUM_ODL_SYSTEM} )) == 0 ]; then + if [ $(( i % NUM_ODL_SYSTEM )) == 0 ]; then seed_index=1 fi done @@ -895,7 +927,7 @@ function copy_and_run_post_startup_script() { function create_controller_variables() { echo "Generating controller variables..." - for i in `seq 1 ${NUM_ODL_SYSTEM}`; do + for i in $(seq 1 "${NUM_ODL_SYSTEM}"); do CONTROLLERIP=ODL_SYSTEM_${i}_IP odl_variables=${odl_variables}" -v ${CONTROLLERIP}:${!CONTROLLERIP}" echo "Lets's take the karaf thread dump" @@ -913,7 +945,7 @@ function build_ovs() { local -r rpm_path="$3" echo "Building OVS ${version} on ${ip} ..." - cat > ${WORKSPACE}/build_ovs.sh << EOF + cat > "${WORKSPACE}"/build_ovs.sh << EOF set -ex -o pipefail echo '---> Building openvswitch version ${version}' @@ -968,10 +1000,10 @@ popd rm -rf \${TMP} EOF - scp ${WORKSPACE}/build_ovs.sh ${ip}:/tmp - ${SSH} ${ip} " bash /tmp/build_ovs.sh >> /tmp/install_ovs.txt 2>&1" - scp -r ${ip}:/tmp/ovs_rpms/* "${rpm_path}/" - ${SSH} ${ip} "rm -rf /tmp/ovs_rpms" + scp "${WORKSPACE}"/build_ovs.sh "${ip}":/tmp + ${SSH} "${ip}" " bash /tmp/build_ovs.sh >> /tmp/install_ovs.txt 2>&1" + scp -r "${ip}":/tmp/ovs_rpms/* "${rpm_path}/" + ${SSH} "${ip}" "rm -rf /tmp/ovs_rpms" } # Install OVS RPMs from yum repo @@ -980,7 +1012,7 @@ function install_ovs_from_repo() { local -r rpm_repo="$2" echo "Installing OVS from repo ${rpm_repo} on ${ip} ..." - cat > ${WORKSPACE}/install_ovs.sh << EOF + cat > "${WORKSPACE}"/install_ovs.sh << EOF set -ex -o pipefail echo '---> Installing openvswitch from ${rpm_repo}' @@ -1038,8 +1070,8 @@ NEW_MOD=\$(sudo modinfo -n openvswitch || echo '') [ "\${PREV_MOD}" != "\${NEW_MOD}" ] || (echo "Kernel module was not updated" && exit 1) EOF - scp ${WORKSPACE}/install_ovs.sh ${ip}:/tmp - ${SSH} ${ip} "bash /tmp/install_ovs.sh >> /tmp/install_ovs.txt 2>&1" + scp "${WORKSPACE}"/install_ovs.sh "${ip}":/tmp + ${SSH} "${ip}" "bash /tmp/install_ovs.sh >> /tmp/install_ovs.txt 2>&1" } # Install OVS RPMS from path @@ -1048,10 +1080,10 @@ function install_ovs_from_path() { local -r rpm_path="$2" echo "Creating OVS RPM repo on ${ip} ..." - ${SSH} ${ip} "mkdir -p /tmp/ovs_rpms" - scp -r "${rpm_path}"/* ${ip}:/tmp/ovs_rpms - ${SSH} ${ip} "sudo yum -y install createrepo && createrepo --database /tmp/ovs_rpms" - install_ovs_from_repo ${ip} file:/tmp/ovs_rpms + ${SSH} "${ip}" "mkdir -p /tmp/ovs_rpms" + scp -r "${rpm_path}"/* "${ip}":/tmp/ovs_rpms + ${SSH} "${ip}" "sudo yum -y install createrepo && createrepo --database /tmp/ovs_rpms" + install_ovs_from_repo "${ip}" file:/tmp/ovs_rpms }