# # This script cleans up any remaining resource created by RBAC test scenarios # # Usage example: # bash run-cleanup-all.sh # printf "WARNING: This script might DELETE some existing configuration if not \ used carefully, do you want to continue? \ ('yes' to continue, anything else to cancel): " read CONFIRMATION if [[ ${CONFIRMATION^^} != 'YES' ]]; then echo "Script execution cancelled." exit 0 fi printf "Cleaning up test resources...\n" if [[ -z "${OS_CLOUD}" ]]; then echo "\$OS_CLOUD needs to be set before running this script" exit else echo "Running cleanup script using OS_CLOUD=$OS_CLOUD" fi echo "removing security groups" openstack security group list | grep "sg" | \ awk '{ system("openstack security group delete " $2) }' echo "removing floating ips" FIPS=$(openstack floating ip list | grep -vE "ID|---" | awk '{ print $2 }') for FIP in $FIPS; do FIP_PFS=$(openstack floating ip port forwarding list $FIP |\ grep -vE "ID|---" | awk '{ print $2 }') for FIP_PF in $FIP_PFS; do openstack floating ip port forwarding delete $FIP $FIP_PF done openstack floating ip delete $FIP done echo "removing routers" ROUTERS=$(openstack router list | grep "vr" | awk '{ print $2 }') for ROUTER in $ROUTERS; do SUBNET=$(openstack router show $ROUTER | grep interfaces_info | \ awk '{ print $5 }' | sed 's/[",]//g') openstack router remove subnet $ROUTER $SUBNET openstack router delete $ROUTER done echo "removing servers" openstack server list --all-projects | grep -E "vm[12]" | \ awk '{ system("openstack server delete " $2 " --wait") }' echo "removing trunks" openstack network trunk list | grep -E "trunk" | \ awk '{ system("openstack network trunk delete " $2) }' echo "removing ports" openstack port list | grep -E "port[12]" | \ awk '{ system("openstack port delete " $2) }' echo "removing subnets" openstack subnet list | grep -E "[^-]subnet[12]" | \ awk '{ system("openstack subnet delete " $2) }' echo "removing networks" openstack network list | grep -E "network[12]|extnet[12]" | \ awk '{ system("openstack network delete " $2) }' echo "removing subnet pools" openstack subnet pool list | grep "subnetpool" | \ awk '{ system("openstack subnet pool delete " $2) }' echo "removing address scopes" openstack address scope list | grep "addrscope" | \ awk '{ system("openstack address scope delete " $2) }' openstack user delete user11 user12 user13 user21 user22 user23 openstack project delete project1 project2 openstack image delete cirros printf "Cleanup finished.\n"