cloud-infra: Adapt delete-stack script according to deps 20/6220/1
authorFatih Degirmenci <fatih.degirmenci@est.tech>
Fri, 9 Oct 2020 07:05:56 +0000 (07:05 +0000)
committerFatih Degirmenci <fatih.degirmenci@est.tech>
Fri, 9 Oct 2020 07:05:56 +0000 (07:05 +0000)
Work to distribute engine dependencies across stacks started.

This change will move dependencies from engine core to stacks,
including openstack client. This requires cloud infra jobs'
delete-stack.sh script to be updated to install openstack clients
without using requirements file since the file will not contain
openstack clients anymore. This is also required to verify changes
coming to engine. Without it, stack deletion fails and change gets -1.

https: //jenkins.nordix.org/job/engine-verify-offline-deploy-test-ubuntu1804-city-cloud-master/50/console
Change-Id: Ic54b1b61047e833e2ee40f9eb860ab43115d73ad

jjb/cloud-infra/scripts/delete-heat-stack.sh

index 5a9f8d5fcb20a6134501db8756dc146e96dcbbb4..6bbe9d35c08dc852295f131c90b6d942959301b1 100755 (executable)
@@ -27,27 +27,23 @@ if [[ "$DELETE_STACK" != "true" || "$HW_TYPE" != "cloud" ]]; then
   exit 0
 fi
 
-# NOTE (fdegir): offline installer removes /opt/engine so we prepare venv ourselves for openstack cli
-if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
-  sudo /bin/rm -rf /opt/engine/.venv
-  virtualenv --python python3 --never-download /opt/engine/.venv
-  /bin/cp -f /opt/engine/offline/pip/pip.conf /opt/engine/.venv/
-  set +u
-  source /opt/engine/.venv/bin/activate
-  set -u
-  pip install --quiet --upgrade pip
-  pip install --quiet -r /opt/engine/offline/git/engine/requirements.txt
-  deactivate
-fi
-
+# NOTE (fdegir): install openstack clients
+sudo /bin/rm -rf /tmp/.engine_venv
+virtualenv --python python3 --never-download /tmp/.engine_venv
+# NOTE (fdegir): we need to use pip.conf pointing to local packages
+[[ "$EXECUTION_MODE" == "offline-deployment" ]] && /bin/cp -f /opt/engine/offline/pip/pip.conf /tmp/.engine_venv
 set +u
-source /opt/engine/.venv/bin/activate
+source /tmp/.engine_venv/bin/activate
 set -u
+pip install --quiet --upgrade pip
+# NOTE (fdegir): we only install what is needed rather than all dependencies
+pip install --quiet openstacksdk python-openstackclient python-heatclient
 
+# NOTE (fdegir): delete stack
 echo "Info: Deleting stack $HEAT_STACK_NAME and keypair $KEYPAIR_NAME"
 echo "-------------------------------------------------------------------------"
 source /tmp/openrc && /bin/rm -f /tmp/openrc
-openstack stack delete $HEAT_STACK_NAME --wait --yes
+openstack stack delete  --wait --yes $HEAT_STACK_NAME
 openstack keypair delete $KEYPAIR_NAME
 echo "-------------------------------------------------------------------------"
 echo "Info: Stack $HEAT_STACK_NAME and keypair $KEYPAIR_NAME have been deleted!"