From afe9ee93242703b6d6dca9ee077fb54ae3913bb1 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri <krish94@uab.edu> Date: Wed, 2 Oct 2024 11:19:37 -0500 Subject: [PATCH] add floating IP validation and error handling - Added validation to check if `PROXY_IP` is set before attempting to assign it --- .gitlab-ci.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cadedd5..086851b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -60,11 +60,25 @@ deploy_ood_proxy_node: --column id \ $OOD_PROXY_NAME) - # Log the created instance ID for debugging echo "Created PROXY_INSTANCE_ID: $PROXY_INSTANCE_ID" - # Add a floating IP to the created server - openstack server add floating ip $OOD_PROXY_NAME $PROXY_IP + # Check if the PROXY_IP is set and exists + if [ -z "$PROXY_IP" ]; then + echo "ERROR: PROXY_IP variable is not set" + exit 1 + fi + + # Check if the floating IP is available + FLOATING_IP=$(openstack floating ip list --format value --column Floating_IP_Address | grep -w "$PROXY_IP") + + if [ -z "$FLOATING_IP" ]; then + echo "ERROR: No Floating IP found for ${PROXY_IP}" + exit 1 + else + # Add the floating IP to the created server + openstack server add floating ip $OOD_PROXY_NAME $PROXY_IP + echo "Successfully assigned Floating IP: $PROXY_IP to the server" + fi # Store the instance ID in variables.env for later use echo "PROXY_INSTANCE_ID=$PROXY_INSTANCE_ID" >> $CI_PROJECT_DIR/variables.env @@ -72,3 +86,4 @@ deploy_ood_proxy_node: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' - if: $CI_PIPELINE_SOURCE == 'schedule' - when: manual + -- GitLab