X-Git-Url: https://gerrit.nordix.org/gitweb?a=blobdiff_plain;f=jjb%2Fnolabs%2Fhandle-booking.sh;fp=jjb%2Fnolabs%2Fhandle-booking.sh;h=0000000000000000000000000000000000000000;hb=3fa424ba400bbb0dc2de702b8da49e14e3b913fe;hp=fe5d29f48ba6f29a2ec055d2b0ed9616884e529c;hpb=3b5d5d8f359a4207872edf32773fdb72c3193eb7;p=infra%2Fcicd.git diff --git a/jjb/nolabs/handle-booking.sh b/jjb/nolabs/handle-booking.sh deleted file mode 100644 index fe5d29f4..00000000 --- a/jjb/nolabs/handle-booking.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash -set -o errexit -set -o nounset -set -o pipefail - -cd $WORKSPACE - -# install dependencies -sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse" > /dev/null -sudo apt install -y virtualenv jq > /dev/null -/bin/rm -rf /opt/engine $NOLABS_VENV -mkdir -p $NOLABS_VENV -virtualenv -p python3 $NOLABS_VENV > /dev/null -set +u -source $NOLABS_VENV/bin/activate > /dev/null -set -u -pip install httpie > /dev/null - -# check if the booking is cancelled or not -echo "API Request: http --ignore-stdin GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.status_text'" -BOOKING_STATUS=$(http --ignore-stdin GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.status_text') -if [[ $BOOKING_STATUS != 'new' ]]; then - echo "Info: Booking is either cancelled or not valid! Exiting!" - exit 0; -fi - -# get authentication token -echo "API Request: http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth dummy@dummy.com:dummy | jq -r '.token'" -NOLABS_TOKEN=$(http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth $NOLABS_API_USERNAME:$NOLABS_API_PASSWORD | jq -r '.token') -echo "API Request: http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \"status_text=deploying\" \"Authorization:Bearer DUMMY_TOKEN\"" -http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID "status_text=deploying" \ - "Authorization:Bearer $NOLABS_TOKEN" - -# get ssh public key of the user -echo "API Request: http GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.user_id'" -NOLABS_USER_ID=$(http GET $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID | jq -r '.user_id') -echo "API Request: http --ignore-stdin GET $NOLABS_API_USERS_ENDPOINT/$NOLABS_USER_ID \"Authorization:Bearer DUMMY_TOKEN\" | jq -r '.ssh_public_key'" -http --ignore-stdin GET $NOLABS_API_USERS_ENDPOINT/$NOLABS_USER_ID "Authorization:Bearer $NOLABS_TOKEN" | jq -r '.ssh_public_key' > $NOLABS_USER_SSHPUBKEY - -set +u -deactivate -set -u -# get the specific patch -cd $WORKSPACE -git fetch "https://gerrit.nordix.org/infra/engine" $GERRIT_REFSPEC && git checkout FETCH_HEAD - -export STACK_NAME="nordix-nolabs-booking${BOOKING_ID}-${DEPLOY_SCENARIO}" -echo "Info: STACK_NAME is set to $STACK_NAME" -cd engine -./deploy.sh -c -r heat -u /tmp/openrc -s $DEPLOY_SCENARIO -e "$HEAT_ENVIRONMENT_FILE" - -cd $WORKSPACE - -set +u -source $NOLABS_VENV/bin/activate > /dev/null -set -u -ENGINE_VERSION=$(git rev-parse HEAD) -cd /opt/engine/.cache/repos/swconfig -SCENARIO_VERSION=$(git rev-parse HEAD) -cd $WORKSPACE -FLOATING_IP=$(cat /opt/engine/.cache/config/inventory.ini | grep 'jumphost ansible_host' | awk '{print $2}' | cut -d'=' -f2) - -# get authentication token -echo "API Request: http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth dummy@dummy.com:dummy | jq -r '.token'" -NOLABS_TOKEN=$(http --ignore-stdin POST $NOLABS_API_TOKENS_ENDPOINT --auth $NOLABS_API_USERNAME:$NOLABS_API_PASSWORD | jq -r '.token') - -# update booking -echo "API Request: http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \ - \"Authorization:Bearer DUMMY_TOKEN\" \ - status_text=active \ - floating_ip=$FLOATING_IP \ - heat_stack_name=$STACK_NAME \ - scenario_deploy_log_url=${BUILD_URL}consoleFull \ - engine_version=$ENGINE_VERSION \ - scenario_version=$SCENARIO_VERSION" -http --ignore-stdin PUT $NOLABS_API_BOOKINGS_ENDPOINT/$BOOKING_ID \ - "Authorization:Bearer $NOLABS_TOKEN" \ - status_text=active \ - floating_ip=$FLOATING_IP \ - heat_stack_name=$STACK_NAME \ - scenario_deploy_log_url=${BUILD_URL}consoleFull \ - engine_version=$ENGINE_VERSION \ - scenario_version=$SCENARIO_VERSION