From 3e3aa063ba4912bca06187b4e3f61e845946ba0b Mon Sep 17 00:00:00 2001
From: Bo-Chun Louis Chen <louistw@uab.edu>
Date: Thu, 14 Nov 2024 16:20:54 -0600
Subject: [PATCH] feat: remove auto create internal net port

---
 .gitlab-ci.yml | 52 ++++++++++++++++++++------------------------------
 1 file changed, 21 insertions(+), 31 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 72218d1..993cc48 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -153,22 +153,17 @@ deploy_http_proxy_node:
       ansible-playbook -c local -i 127.0.0.1, --extra-vars="$EXTRA_VARS" ansible/cluster.yml | tee -a /tmp/ansible.log
       rm -rf /tmp/${CI_PROJECT_NAME}
       EOF
-    - >
-      export HTTP_PROXY_INSTANCE_PORT=$(openstack port create
-      -c id -f value --network $INTERNALNET
-      --disable-port-security
-      ${HTTP_PROXY_INSTANCE_NAME}_internal_port)
-    - >
-      export HTTP_PROXY_INSTANCE_ID=$(openstack server create
-      -c id -f value --image $HTTP_PROXY_IMAGE_ID
-      --network $PROXY_NETWORK
-      --port $HTTP_PROXY_INSTANCE_PORT
-      --security-group webserver_sec_group
-      --security-group allow-ssh
-      --user-data user_data.txt
-      --flavor $INSTANCE_FLAVOR
-      --wait
-      $HTTP_PROXY_INSTANCE_NAME)
+    - |
+      export cmd="openstack server create"
+      cmd+=" -c id -f value --image $HTTP_PROXY_IMAGE_ID"
+      cmd+=" --flavor $INSTANCE_FLAVOR"
+      cmd+=" --network $PROXY_NETWORK"
+      cmd+=" --security-group webserver_sec_group"
+      cmd+=" --security-group allow-ssh"
+      cmd+=" --user-data user_data.txt"
+      if [ -n $HTTP_PROXY_PORT ];then cmd+=" --port $HTTP_PROXY_PORT" fi
+      cmd+=" --wait $HTTP_PROXY_INSTANCE_NAME"
+    - export HTTP_PROXY_INSTANCE_ID=$(bash -c "$cmd")
     - |
       # Associate the floating IP with the HTTP Proxy instance
       openstack server add floating ip $HTTP_PROXY_INSTANCE_ID $HTTP_PROXY_FLOATING_IP
@@ -197,21 +192,16 @@ deploy_ssh_proxy_node:
       ansible-playbook -c local -i 127.0.0.1, --extra-vars="$EXTRA_VARS" ansible/cheaha.yml | tee -a /tmp/ansible.log
       rm -rf /tmp/${CI_PROJECT_NAME}
       EOF
-    - >
-      export SSH_PROXY_INSTANCE_PORT=$(openstack port create
-      -c id -f value --network $INTERNALNET
-      --disable-port-security
-      ${SSH_PROXY_INSTANCE_NAME}_internal_port)
-    - >
-      export SSH_PROXY_INSTANCE_ID=$(openstack server create
-      -c id -f value --image $SSH_PROXY_IMAGE_ID
-      --network $PROXY_NETWORK
-      --port $SSH_PROXY_INSTANCE_PORT
-      --security-group allow-ssh
-      --user-data user_data.txt
-      --flavor $INSTANCE_FLAVOR
-      --wait
-      $SSH_PROXY_INSTANCE_NAME)
+    - |
+      export cmd="openstack server create"
+      cmd+=" -c id -f value --image $SSH_PROXY_IMAGE_ID"
+      cmd+=" --flavor $INSTANCE_FLAVOR"
+      cmd+=" --network $PROXY_NETWORK"
+      cmd+=" --security-group allow-ssh"
+      cmd+=" --user-data user_data.txt"
+      if [ -n $SSH_PROXY_PORT ];then cmd+=" --port $SSH_PROXY_PORT" fi
+      cmd+=" --wait $SSH_PROXY_INSTANCE_NAME"
+    - export SSH_PROXY_INSTANCE_ID=$(bash -c "$cmd")
     - |
       # Associate the floating IP with the SSH Proxy instance
       openstack server add floating ip $SSH_PROXY_INSTANCE_ID $SSH_PROXY_FLOATING_IP
-- 
GitLab