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)
+ }
}
}