# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-if [ -z $WORKSPACE ]
+if [ -z "$WORKSPACE" ]
then
- cd `dirname $0`/..
- WORKSPACE=`pwd`
+ cd "$(dirname "$0")/.." || exit 1
+ WORKSPACE="$(pwd)"
fi
docker-compose --version
exit 1
fi
-git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/ci/job/releng
+rm -rf "${WORKSPACE}/ci/job/releng"
+git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng "${WORKSPACE}/ci/job/releng"
-virtualenv $WORKSPACE/ci/job/storperf_daily_venv
-source $WORKSPACE/ci/job/storperf_daily_venv/bin/activate
+virtualenv "${WORKSPACE}/ci/job/storperf_daily_venv"
+# shellcheck source=/dev/null
+source "${WORKSPACE}/ci/job/storperf_daily_venv/bin/activate"
pip install --upgrade setuptools==33.1.1
pip install functools32==3.2.3.post2
pip install python-openstackclient==3.7.0
pip install python-heatclient==1.7.0
-$WORKSPACE/ci/generate-admin-rc.sh
-echo "TEST_DB_URL=http://testresults.opnfv.org/test/api/v1" >> $WORKSPACE/ci/job/admin.rc
-$WORKSPACE/ci/generate-environment.sh
+"${WORKSPACE}/ci/generate-admin-rc.sh"
+echo "TEST_DB_URL=http://testresults.opnfv.org/test/api/v1" >> "${WORKSPACE}/ci/job/admin.rc"
+"${WORKSPACE}/ci/generate-environment.sh"
-. $WORKSPACE/ci/job/environment.rc
+# shellcheck source=/dev/null
+source "${WORKSPACE}/ci/job/environment.rc"
while read -r env
do
export "$env"
-done < $WORKSPACE/ci/job/admin.rc
+done < "${WORKSPACE}/ci/job/admin.rc"
export AGENT_COUNT=${AGENT_COUNT:-$CINDER_NODES}
export BLOCK_SIZES=${BLOCK_SIZES:-16384}
export STEADY_STATE_SAMPLES=${STEADY_STATE_SAMPLES:-10}
-export DEADLINE=${DEADLINE:-`expr $STEADY_STATE_SAMPLES \* 3`}
+export DEADLINE=${DEADLINE:-$((STEADY_STATE_SAMPLES * 3))}
export DISK_TYPE=${DISK_TYPE:-unspecified}
export QUEUE_DEPTHS=${QUEUE_DEPTHS:-4}
-export POD_NAME=${NODE_NAME:-`hostname`}
+export POD_NAME=${NODE_NAME:-$(hostname)}
export SCENARIO_NAME=${DEPLOY_SCENARIO:-none}
export TEST_CASE=${TEST_CASE:-snia_steady_state}
-export VERSION=`echo ${BUILD_TAG#*daily-} | cut -d- -f1`
+export VERSION=$(echo ${BUILD_TAG#*daily-} | cut -d- -f1)
export VOLUME_SIZE=${VOLUME_SIZE:-2}
export WORKLOADS=${WORKLOADS:-ws,rs,rw}
+ARCH="${ARCH:-$(uname -m)}"
+IMAGE_NAME="Ubuntu 16.04 ${ARCH}"
+
echo ==========================================================================
echo Environment
env | sort
echo ==========================================================================
-$WORKSPACE/ci/remove_docker_container.sh
-$WORKSPACE/ci/delete_stack.sh
-$WORKSPACE/ci/create_glance_image.sh
-$WORKSPACE/ci/create_storperf_flavor.sh
-$WORKSPACE/ci/launch_docker_container.sh
-$WORKSPACE/ci/create_stack.sh $AGENT_COUNT $VOLUME_SIZE "Ubuntu 16.04 x86_64" $NETWORK
+"$WORKSPACE/ci/remove_docker_container.sh"
+"$WORKSPACE/ci/delete_stack.sh"
+"$WORKSPACE/ci/create_glance_image.sh"
+"$WORKSPACE/ci/create_storperf_flavor.sh"
+"$WORKSPACE/ci/launch_docker_container.sh"
+"$WORKSPACE/ci/create_stack.sh" "${AGENT_COUNT}" "${VOLUME_SIZE}" "${IMAGE_NAME}" "${NETWORK}"
-export WORKLOAD=_warm_up,$WORKLOADS
-export BLOCK_SIZE=$BLOCK_SIZES
-export QUEUE_DEPTH=$QUEUE_DEPTHS
+export WORKLOAD="_warm_up,${WORKLOADS}"
+export BLOCK_SIZE="${BLOCK_SIZES}"
+export QUEUE_DEPTH="${QUEUE_DEPTHS}"
-echo ==========================================================================
-echo Starting run of $WORKLOAD $BLOCK_SIZE $QUEUE_DEPTH
-echo ==========================================================================
+echo "=========================================================================="
+echo "Starting run of ${WORKLOAD} ${BLOCK_SIZE} ${QUEUE_DEPTH}"
+echo "=========================================================================="
-JOB=`$WORKSPACE/ci/start_job.sh \
- | awk '/job_id/ {print $2}' | sed 's/"//g'`
-curl -s -X GET "http://127.0.0.1:5000/api/v1.0/jobs?id=$JOB&type=status" \
- -o $WORKSPACE/ci/job/status.json
+JOB=$("${WORKSPACE}/ci/start_job.sh" \
+ | awk '/job_id/ {print $2}' | sed 's/"//g')
+curl -s -X GET "http://127.0.0.1:5000/api/v1.0/jobs?id=${JOB}&type=status" \
+ -o "${WORKSPACE}/ci/job/status.json"
-JOB_STATUS=`cat $WORKSPACE/ci/job/status.json | awk '/Status/ {print $2}' | cut -d\" -f2`
-while [ "$JOB_STATUS" != "Completed" ]
+JOB_STATUS=$(awk '/Status/ {print $2}' "${WORKSPACE}/ci/job/status.json" | cut -d\" -f2)
+while [ "${JOB_STATUS}" != "Completed" ]
do
sleep 600
- mv $WORKSPACE/ci/job/status.json $WORKSPACE/ci/job/old-status.json
- curl -s -X GET "http://127.0.0.1:5000/api/v1.0/jobs?id=$JOB&type=status" \
- -o $WORKSPACE/ci/job/status.json
- JOB_STATUS=`cat $WORKSPACE/ci/job/status.json | awk '/Status/ {print $2}' | cut -d\" -f2`
- if diff $WORKSPACE/ci/job/status.json $WORKSPACE/ci/job/old-status.json >/dev/null
+ mv "${WORKSPACE}/ci/job/status.json" "${WORKSPACE}/ci/job/old-status.json"
+ curl -s -X GET "http://127.0.0.1:5000/api/v1.0/jobs?id=${JOB}&type=status" \
+ -o "${WORKSPACE}/ci/job/status.json"
+ JOB_STATUS=$(awk '/Status/ {print $2}' "${WORKSPACE}/ci/job/status.json" | cut -d\" -f2)
+ if diff "${WORKSPACE}/ci/job/status.json" "${WORKSPACE}/ci/job/old-status.json" >/dev/null
then
- cat $WORKSPACE/ci/job/status.json
+ cat "${WORKSPACE}/ci/job/status.json"
fi
done
set +e
echo "Deleting stack for cleanup"
-curl -s -X DELETE --header 'Accept: application/json' 'http://127.0.0.1:5000/api/v1.0/configurations'
+curl -s -X DELETE --header 'Accept: application/json' \
+ 'http://127.0.0.1:5000/api/v1.0/configurations'
-curl -s -X GET "http://127.0.0.1:5000/api/v1.0/jobs?id=$JOB&type=metadata" \
- -o $WORKSPACE/ci/job/report.json
+curl -s -X GET "http://127.0.0.1:5000/api/v1.0/jobs?id=${JOB&}type=metadata" \
+ -o "${WORKSPACE}/ci/job/report.json"
-$WORKSPACE/ci/remove_docker_container.sh
+"${WORKSPACE}/ci/remove_docker_container.sh"
-sudo rm -rf $WORKSPACE/ci/job/carbon
-sudo find $WORKSPACE/docker --name '*.db' -exec rm -fv {} \;
+sudo rm -rf "${WORKSPACE}/ci/job/carbon"
+sudo find "${WORKSPACE}/docker" -name '*.db' -exec rm -fv {} \;
echo ==========================================================================
echo Final report
echo ==========================================================================
-cat $WORKSPACE/ci/job/report.json
+cat "${WORKSPACE}/ci/job/report.json"
exit 0
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-cd `dirname $0`
-
-# TODO: Switch based on installer type, for now this is hard coded to JOID only
+cd $(dirname "$0")
if [ ! -d job ]
then
mkdir job
fi
-export INSTALLER=`./detect_installer.sh`
+SSH_KEY=""
+INSTALLER="$(./detect_installer.sh)"
case $INSTALLER in
joid)
- export OS_AUTH_URL=http://`juju status keystone | grep public | awk '{print $2}'`:5000/v2.0
- export OS_USERNAME=admin
- export OS_PASSWORD=openstack
+ OS_AUTH_URL=http://`juju status keystone | grep public | awk '{print $2}'`:5000/v2.0
+ OS_USERNAME=admin
+ OS_PASSWORD=openstack
cat << EOF > job/openstack.rc
export OS_AUTH_URL=$OS_AUTH_URL
export OS_USERNAME=$OS_USERNAME
export OS_PROJECT_NAME=admin
EOF
;;
+ fuel)
+ INSTALLER_IP=$(sudo virsh domifaddr cfg01 | grep ipv4 | awk '{print $4}' | cut -d/ -f1)
+ export BRANCH="${BRANCH:-master}"
+ SSH_KEY="-s /var/lib/opnfv/mcp.rsa"
+ ;;
apex)
- INSTALLER_IP=`sudo virsh domifaddr undercloud | grep ipv4 | awk '{print $4}' | cut -d/ -f1`
+ INSTALLER_IP=$(sudo virsh domifaddr undercloud | grep ipv4 | awk '{print $4}' | cut -d/ -f1)
;;
+ *)
+ echo "Unknown installer ${INSTALLER}"
+ exit 1
esac
-if [ ! -z $INSTALLER_IP ]
+if [ ! -z "${INSTALLER_IP}" ]
then
- ./job/releng/utils/fetch_os_creds.sh -i $INSTALLER -a $INSTALLER_IP -d job/openstack.rc
+ CMD="./job/releng/utils/fetch_os_creds.sh -i $INSTALLER -a $INSTALLER_IP $SSH_KEY -d job/openstack.rc"
+ echo $CMD
+ $CMD
+
echo export OS_PROJECT_NAME=admin >> job/openstack.rc
fi