Comment 4 for bug 1282089

Revision history for this message
David Stanek (dstanek) wrote :

In looking into this a little deeper I found that keystoneclient was not behaving as I would have expected. In my mind this should release connections:

  >>> c = keystoneclient.client.Client(...)
  >>> del c

It appears that the client implementation uses a significant amount of circular references. This means that reference counting is not able to clean up the resources. Once the garbage collector runs these resources are cleaned up. This can be manually tested by running:

  >>> import gc
  >>> gc.collect()

Circular references: http://git.openstack.org/cgit/openstack/python-keystoneclient/tree/keystoneclient/v3/client.py#n95