Fix: Use lf-activate-venv to install openstack dep
[releng/global-jjb.git] / shell / openstack-stack-delete.sh
index 79da58a..512ea99 100644 (file)
@@ -15,7 +15,19 @@ set -eufo pipefail
 # shellcheck disable=SC1090
 source ~/lf-env.sh
 
-lf-activate-venv lftools[openstack] python-openstackclient
+# Check if openstack venv was previously created
+if [ -f "/tmp/.os_lf_venv" ]; then
+    os_lf_venv=$(cat "/tmp/.os_lf_venv")
+fi
+
+if [ -d "${os_lf_venv}" ] && [ -f "${os_lf_venv}/bin/openstack" ]; then
+    echo "Re-use existing venv: ${os_lf_venv}"
+    PATH=$os_lf_venv/bin:$PATH
+else
+    lf-activate-venv --python python3 lftools[openstack] \
+        python-heatclient \
+        python-openstackclient
+fi
 
 echo "INFO: Retrieving stack cost for: $OS_STACK_NAME"
 if ! lftools openstack --os-cloud "$OS_CLOUD" stack cost "$OS_STACK_NAME" > stack-cost; then
@@ -28,4 +40,3 @@ fi
 # Delete the stack even if the stack-cost script fails
 lftools openstack --os-cloud "$OS_CLOUD" stack delete "$OS_STACK_NAME" \
     | echo "INFO: $(cat)"
-