A future commit will enable to deploy physical simulators via docker. Hence: - Move the script to run out of deploy_oc_physim(), to make it more generic (later commits will introduce other scripts) - pass the working directory (the function will be moved into cls_oaicitest, as it fits neither cls_containerize nor cls_cluster when deploying the tests from source) - not using ci-scripts: don't hardcode a specific path, just use the working directory - avoid helm-specific pods summary, and put it into the general "physim logs" - remove helm-specific "release", and use a generic name for results - always log pod logs and status to debug, even if deployment was not successful or tests did not finish.
35 lines
1.4 KiB
Bash
Executable File
35 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
function die() { echo $@; exit 1; }
|
|
[ $# -eq 4 ] || die "usage: $0 <namespace> <release> <image tag> <oai directory>"
|
|
|
|
OC_NS=${1}
|
|
OC_RELEASE=${2}
|
|
IMG_TAG=${3}
|
|
OAI_DIR=${4}
|
|
|
|
cat /opt/oc-password | oc login -u oaicicd --server https://api.oai.cs.eurecom.fr:6443 > /dev/null
|
|
oc project ${OC_NS} > /dev/null
|
|
oc tag oaicicd-ran/oai-physim:${IMG_TAG} ${OC_NS}/oai-physim:${IMG_TAG}
|
|
helm install ${OC_RELEASE} ${OAI_DIR}/charts/${OC_RELEASE} --set global.image.version=${IMG_TAG} --wait
|
|
POD_ID=$(oc get pods | grep oai-${OC_RELEASE} | awk '{print $1}')
|
|
sleep 10
|
|
echo "Monitoring logs for 'FINISHED' in pod '$POD_ID'"
|
|
oc logs -f -n ${OC_NS} "$POD_ID" | while read -r line; do
|
|
if [[ "$line" == *"FINISHED"* ]]; then
|
|
echo "'FINISHED' detected in logs. Copying logs..."
|
|
oc cp "$POD_ID":/opt/oai-physim/Testing/Temporary/LastTestsFailed.log ${OAI_DIR}/LastTestsFailed.log
|
|
oc cp "$POD_ID":/opt/oai-physim/Testing/Temporary/LastTest.log ${OAI_DIR}/LastTest.log
|
|
oc cp "$POD_ID":/opt/oai-physim/${OC_RELEASE}-tests.json ${OAI_DIR}/desc-tests.json
|
|
oc cp "$POD_ID":/opt/oai-physim/${OC_RELEASE}-run.xml ${OAI_DIR}/results-run.xml
|
|
break
|
|
fi
|
|
done
|
|
oc logs -n ${OC_NS} "$POD_ID" >> ${OAI_DIR}/physim_log.txt
|
|
oc describe pod $POD_ID >> ${OAI_DIR}/physim_log.txt
|
|
helm uninstall ${OC_RELEASE} --wait
|
|
oc delete istag oai-physim:${IMG_TAG} -n ${OC_NS}
|
|
oc logout > /dev/null
|