Merge "Extended possibilities of delete broken heat stacks pipeline"
diff --git a/delete-broken-stacks-pipeline.groovy b/delete-broken-stacks-pipeline.groovy
index df938ed..25f2e12 100644
--- a/delete-broken-stacks-pipeline.groovy
+++ b/delete-broken-stacks-pipeline.groovy
@@ -29,19 +29,22 @@
             openstack.setupOpenstackVirtualenv(openstackEnv, openstackVersion)
         }
 
-        stage('Connect to OpenStack cloud') {
-            openstackCloud = openstack.createOpenstackEnv(openstackEnv, OPENSTACK_API_URL, OPENSTACK_API_CREDENTIALS, OPENSTACK_API_PROJECT)
-            openstack.getKeystoneToken(openstackCloud, openstackEnv)
-        }
 
         stage('Delete broken Heat stacks') {
-            // get failed stacks
-            def brokenStacks = []
-            brokenStacks.addAll(openstack.getStacksWithStatus(openstackCloud, "CREATE_FAILED", openstackEnv))
-            brokenStacks.addAll(openstack.getStacksWithStatus(openstackCloud, "DELETE_FAILED", openstackEnv))
-            for(int i=0;i<brokenStacks.size();i++){
-                common.infoMsg("Deleting Heat stack " + brokenStacks[i])
-                openstack.deleteHeatStack(openstackCloud, brokenStacks[i], openstackEnv)
+            def tenants = OPENSTACK_API_PROJECT.tokenize(",").collect{it.trim()}
+            for(tenant in tenants){
+                 common.infoMsg("Cleaning broken heat stacks in tenant ${tenant}")
+                 // connect to openstack
+                 openstackCloud = openstack.createOpenstackEnv(openstackEnv, OPENSTACK_API_URL, OPENSTACK_API_CREDENTIALS, tenant)
+                 openstack.getKeystoneToken(openstackCloud, openstackEnv)
+                 // get failed stacks
+                 def brokenStacks = []
+                 brokenStacks.addAll(openstack.getStacksWithStatus(openstackCloud, "CREATE_FAILED", openstackEnv))
+                 brokenStacks.addAll(openstack.getStacksWithStatus(openstackCloud, "DELETE_FAILED", openstackEnv))
+                 for(int i=0;i<brokenStacks.size();i++){
+                     common.infoMsg("Deleting Heat stack " + brokenStacks[i])
+                     openstack.deleteHeatStack(openstackCloud, brokenStacks[i], openstackEnv)
+                 }
             }
         }