diff --git a/jjb/cloud-infra/scripts/cleanup-heat-stacks.sh b/jjb/cloud-infra/scripts/cleanup-heat-stacks.sh
new file mode 100644
index 0000000..d9e49b9
--- /dev/null
+++ b/jjb/cloud-infra/scripts/cleanup-heat-stacks.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2020 The Nordix Foundation. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+# prepare venv for openstack cli
+/bin/rm -rf $WORKSPACE/.venv
+virtualenv --python python3 --never-download $WORKSPACE/.venv
+set +u
+source $WORKSPACE/.venv
+set -u
+pip install --quiet --upgrade pip
+pip install --quiet python-cinderclient==6.0.0
+pip install --quiet python-glanceclient==3.0.0
+pip install --quiet python-heatclient==2.0.0
+pip install --quiet python-ironic-inspector-client==4.0.0
+pip install --quiet python-ironicclient==4.0.0
+pip install --quiet python-keystoneclient==3.22.0
+pip install --quiet python-neutronclient==7.1.0
+pip install --quiet python-novaclient==16.0.0
+pip install --quiet python-openstackclient==5.1.0
+pip install --quiet python-swiftclient==3.9.0
+
+echo "Info: Find Stacks $STACK_START_STR and keypair keypair-$STACK_START_STR"
+echo "-------------------------------------------------------------------------"
+source $OPENRC_FILE
+STACKS=$(openstack stack list -c "Stack Name" -c "Creation Time" -c ID -f value)
+KEYPAIRS=$(openstack keypair list -c "Name" -f value)
+# iternate of all the stacks
+while IFS= read -r stackline
+do
+  # split line which comes in order ID,"Stack Name","Creation Time"
+  stackdetails=($stackline)
+  # find stacks starting with the search string
+  if [[ ${stackdetails[1]} =~ ^$STACK_START_STR.* ]]
+  then
+    whenstackcreated=$(date -d ${stackdetails[2]} +%s)
+    nowinsecond=$(date +%s)
+    ageofstack=$(($nowinsecond-$whenstackcreated))
+    # find stacks older than the allowed time
+    if [[ $ageofstack > $TIMETOLIVE*60 ]]
+    then
+      echo "Info: Going to delete stack " ${stackdetails[1]} " ID " ${stackdetails[0]}
+      openstack stack delete ${stackdetails[0]} --wait --yes
+      echo "Info: Deleted stack " ${stackdetails[1]} " ID " ${stackdetails[0]}
+      # check keypair is there before trying to delete
+      if [[ "${KEYPAIRS[@]}" =~ "keypair-${stackdetails[1]}" ]]; then
+         echo "Info: Going to delete keypair " keypair-${stackdetails[1]}
+         openstack keypair delete keypair-${stackdetails[1]}
+         echo "Info: Deleted keypair " keypair-${stackdetails[1]}
+      fi
+    fi
+  fi
+done <<< $(echo "$STACKS")
+
+echo "-------------------------------------------------------------------------"
+echo "Info: Finished deleting stacks and keypairs"
+
+deactivate
+# vim: set ts=2 sw=2 expandtab:
