From e7f7f87d7af4d2063306f01dc005c065f61b7ee9 Mon Sep 17 00:00:00 2001 From: Rakshitha Kamath Date: Mon, 19 Jun 2023 12:39:59 +0530 Subject: [PATCH] Update the job code_compilation Signed-off-by: Rakshitha Kamath --- ...e_compilation.yml => code_compilation.yml} | 4 +- jobs/macros.yml | 2 +- .../code_compilation/basic-gluster-duffy.sh | 57 +++++++++++++++++++ jobs/scripts/common.sh | 13 +++-- jobs/scripts/common/get-node.sh | 48 ++++++++++++++++ jobs/scripts/common/return-node.sh | 8 +++ 6 files changed, 126 insertions(+), 6 deletions(-) rename jobs/{nfs-ganesha_code_compilation.yml => code_compilation.yml} (91%) create mode 100644 jobs/scripts/code_compilation/basic-gluster-duffy.sh create mode 100644 jobs/scripts/common/get-node.sh create mode 100644 jobs/scripts/common/return-node.sh diff --git a/jobs/nfs-ganesha_code_compilation.yml b/jobs/code_compilation.yml similarity index 91% rename from jobs/nfs-ganesha_code_compilation.yml rename to jobs/code_compilation.yml index 7bcbad0f..cd8f39e6 100644 --- a/jobs/nfs-ganesha_code_compilation.yml +++ b/jobs/code_compilation.yml @@ -3,7 +3,7 @@ node: cico-workspace description: 'Run code compilation for nfs-ganesha against the latest build of Ganesha with FSAL_GLUSTER.' project-type: freestyle - concurrent: false + concurrent: false allow-manual-triggers: true scm: @@ -31,9 +31,11 @@ option: 'code_compilation' builders: + - shell: !include-raw: scripts/common/get-node.sh - shell: !include-raw: scripts/common.sh wrappers: + - gerrithub_key - cleanup-ws publishers: diff --git a/jobs/macros.yml b/jobs/macros.yml index 8f75130a..d9d7ce0c 100644 --- a/jobs/macros.yml +++ b/jobs/macros.yml @@ -104,8 +104,8 @@ parameters: - choice: choices: + - "8" - "7" - - "6" description: 'CentOS version to run the tests on (server + client)' name: CENTOS_VERSION - choice: diff --git a/jobs/scripts/code_compilation/basic-gluster-duffy.sh b/jobs/scripts/code_compilation/basic-gluster-duffy.sh new file mode 100644 index 00000000..e74b2f69 --- /dev/null +++ b/jobs/scripts/code_compilation/basic-gluster-duffy.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +SERVER_TEST_SCRIPT=${SERVER_TEST_SCRIPT} +CLIENT_TEST_SCRIPT=${CLIENT_TEST_SCRIPT} + +server_env="export GERRIT_HOST='${GERRIT_HOST}'" +server_env+=" GERRIT_PROJECT='${GERRIT_PROJECT}'" +server_env+=" GERRIT_REFSPEC='${GERRIT_REFSPEC}'" +server_env+=" YUM_REPO='${YUM_REPO}'" + +if [ $CENTOS_VERSION ]; then + server_env+=" CENTOS_VERSION='${CENTOS_VERSION}'"; +fi + +if [ "$JOB_NAME" == "nfs_ganesha_iozone_vfs" ] || [ "$JOB_NAME" == "nfs_ganesha_iozone_vfs_minmdcache" ]; then + server_env+=" VFS_VOLUME='${EXPORT}'" +else + server_env+=" GLUSTER_VOLUME='${EXPORT}'" +fi + +SERVER_IP=$(cat $WORKSPACE/hosts | sed -n '1p') +CLIENT_IP=$(cat $WORKSPACE/hosts | sed -n '2p') + +echo $server_env > $WORKSPACE/SERVER_ENV.txt +pwd +ls -ltr + +#add the export with environment to ~/.bashrc +scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$WORKSPACE/SERVER_ENV.txt" "root@${SERVER_IP}:./SERVER_ENV.txt" + +ssh -t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@${SERVER_IP} "tee -a ~/.bashrc < ./SERVER_ENV.txt" + +scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ${SERVER_TEST_SCRIPT} root@${SERVER_IP}:./$(basename ${SERVER_TEST_SCRIPT}) + +ssh -t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@${SERVER_IP} "ls -ltr" + +ssh -t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@${SERVER_IP} "bash ./$(basename ${SERVER_TEST_SCRIPT})" +RETURN_CODE=$? + +if [ $RETURN_CODE == 0 ]; then + client_env="export SERVER='${SERVER_IP}'" + client_env+=" EXPORT='${EXPORT}'" + + echo $client_env > $WORKSPACE/CLIENT_ENV.txt + + scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$WORKSPACE/CLIENT_ENV.txt" "root@${CLIENT_IP}:./CLIENT_ENV.txt" + + ssh -t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@$CLIENT_IP 'tee -a ~/.bashrc < ./CLIENT_ENV.txt' + + scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ${CLIENT_TEST_SCRIPT} root@${CLIENT_IP}:./$(basename ${CLIENT_TEST_SCRIPT}) + + ssh -t -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@${CLIENT_IP} "bash ./$(basename ${CLIENT_TEST_SCRIPT})" + RETURN_CODE_CLIENT=$? + +fi + +exit $RETURN_CODE_CLIENT diff --git a/jobs/scripts/common.sh b/jobs/scripts/common.sh index a43cc3d1..5284602d 100644 --- a/jobs/scripts/common.sh +++ b/jobs/scripts/common.sh @@ -1,13 +1,18 @@ -export CENTOS_VERSION=7 -export CENTOS_ARCH=x86_64 +export CENTOS_VERSION=${CENTOS_VERSION} +export CENTOS_ARCH=${CENTOS_ARCH} export GERRIT_HOST=${GERRIT_HOST} export GERRIT_PROJECT=${GERRIT_PROJECT} export GERRIT_REFSPEC=${GERRIT_REFSPEC} export LAST_TRIGGERED_JOB_NAME=$JOB_NAME export BUILD_NUMBER=${BUILD_NUMBER} -python $WORKSPACE/ci-tests/build_scripts/common/basic-gluster-duffy.py -RET=$? +if [ "$JOB_NAME" == "nfs_ganesha_dbench" ]; then + bash $WORKSPACE/ci-tests/jobs/scripts/dbench/basic-gluster-duffy.sh + RET=$? +elif [ "$JOB_NAME" == "nfs_ganesha_code_compilation" ]; then + bash $WORKSPACE/ci-tests/jobs/scripts/code_compilation/basic-gluster-duffy.sh + RET=$? +fi JOB_OUTPUT="${JENKINS_URL}/job/${LAST_TRIGGERED_JOB_NAME}/${BUILD_NUMBER}/console" diff --git a/jobs/scripts/common/get-node.sh b/jobs/scripts/common/get-node.sh new file mode 100644 index 00000000..f1131cd3 --- /dev/null +++ b/jobs/scripts/common/get-node.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +set +x + +mkdir -p ~/.config + +cat > ~/.config/duffy < "${WORKSPACE}"/hosts + echo "${SESSION}" | jq -r '.session.id' > "${WORKSPACE}"/session_id + break + fi + + sleep 60 + echo -n "." +done + +if [ -z "${SESSION}" ]; then + echo "Failed to reserve node" + exit 1 +fi diff --git a/jobs/scripts/common/return-node.sh b/jobs/scripts/common/return-node.sh new file mode 100644 index 00000000..9a2abfe8 --- /dev/null +++ b/jobs/scripts/common/return-node.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# A script that releases nodes from session ids + +set +x + +SESSION_ID=$(cat "${WORKSPACE}"/session_id) + +duffy client retire-session "${SESSION_ID}" > /dev/null