Merge "Stop attempting share type deletions that'd fail"
diff --git a/manila_tempest_tests/tests/api/base.py b/manila_tempest_tests/tests/api/base.py
index c23e3be..d811ce0 100644
--- a/manila_tempest_tests/tests/api/base.py
+++ b/manila_tempest_tests/tests/api/base.py
@@ -930,6 +930,25 @@
client.delete_security_service(res_id)
client.wait_for_resource_deletion(ss_id=res_id)
elif res["type"] == "share_type":
+ # Check if there are still shares using this
+ # share type before attempting deletion to avoid
+ # cascading cleanup issues
+ shares_using_type = []
+ try:
+ shares_using_type = client.list_shares(
+ params={'share_type_id': res_id}
+ )['shares']
+ except Exception:
+ pass
+ if shares_using_type:
+ # Skip deletion if any shares exist
+ LOG.warning("Skipping share type deletion "
+ "for %s , still has %d shares "
+ "using it.",
+ res_id,
+ len(shares_using_type))
+ res["deleted"] = True
+ continue
client.delete_share_type(res_id)
client.wait_for_resource_deletion(st_id=res_id)
elif res["type"] == "share_group":