Here is the script From what I can tell you are correct this is probably a keystone token issue. However, the credentials are generated fresh for each test iteration. The only resources created and which may be dangling are the floating IPs. #!/bin/bash -xve export network_flavors="LSEC" export DOMAIN_ID=$(openstack domain show admin_domain -c id -f value) export OS_REGION_NAME=RegionOne export OS_AUTH_URL=":5000/v3" export OS_IDENTITY_API_VERSION=3 for try in {0..3} do echo "Test iteration # $try" for network_flavor in $network_flavors do source ./novarc export WORKLOAD_PROJECT_NAME=project_${network_flavor}-bugtest export PROJECT_ADMIN_NAME=project_admin_${network_flavor}-bugtest export PROJECT_MEMBER_NAME=project_member_${network_flavor}-bugtest export EXTERNAL_NETWORK=${network_flavor} export VM_ID=vm_${network_flavor}-bugtest export INTERNAL_NETWORK=${EXTERNAL_NETWORK}-TENANT export INTERNAL_ROUTER=internal_router_${network_flavor}-bugtest export INTERNAL_SUBNET=internal_subnet_${network_flavor}-bugtest export KEY_PAIR=key_pair_${network_flavor}-bugtest ADMIN_ROLE_ID=$(openstack role show -c id -f value Admin) MEMBER_ROLE_ID=$(openstack role show -c id -f value Member)