75 lines
2.5 KiB
Bash
Raw Normal View History

#
# 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"