I think what I would want is for the region to be deleted when the associated neutron controller goes away. Here we're doing it when there are no tenants associated with the controller, which is not the same thing. i guess if we assume that you first delete all tenants before removing a neutron controller, then this would work. I'm not sure how useful this is in practice, my comment was more on how this made _run_openstack_cmd a bit more complicated.