39 lines
1.4 KiB
Bash
39 lines
1.4 KiB
Bash
#! bin/bash
|
|
|
|
while read PROJECT_NAME; do
|
|
PROJECT_ID=$(openstack project show "$PROJECT_NAME" -f value -c id 2>/dev/null)
|
|
|
|
if [ -z "$PROJECT_ID" ]; then
|
|
echo "Project not found: $PROJECT_NAME"
|
|
continue
|
|
fi
|
|
|
|
echo "Cleaning project: $PROJECT_NAME ($PROJECT_ID)"
|
|
|
|
openstack server list --project $PROJECT_ID -f value -c ID | xargs -r openstack server delete
|
|
|
|
openstack floating ip list --project $PROJECT_ID -f value -c ID | xargs -r openstack floating ip delete
|
|
|
|
RID=$(openstack router list --project $PROJECT_ID -f value -c ID)
|
|
subnet=$(openstack subnet list --project $PROJECT_ID -f value -c ID)
|
|
|
|
openstack router remove subnet "$RID" "$subnet"
|
|
|
|
openstack router list --project $PROJECT_ID -f value -c ID | xargs -r openstack router unset --external-gateway
|
|
|
|
openstack router list --project $PROJECT_ID -f value -c ID | xargs -r openstack router delete
|
|
|
|
openstack port list --project $PROJECT_ID -f value -c ID | xargs -r openstack port delete
|
|
|
|
openstack subnet list --project $PROJECT_ID -f value -c ID | xargs -r openstack subnet delete
|
|
|
|
openstack network list --project $PROJECT_ID -f value -c ID | xargs -r openstack network delete
|
|
|
|
openstack volume list --project $PROJECT_ID -f value -c ID | xargs -r openstack volume delete
|
|
|
|
openstack security group list --project $PROJECT_ID -f value -c ID | xargs -r openstack security group delete
|
|
|
|
done < project_list.txt
|
|
|
|
|