diff --git a/magnum/api/hooks.py b/magnum/api/hooks.py index ca907ef2f0..52e5d9e3c3 100644 --- a/magnum/api/hooks.py +++ b/magnum/api/hooks.py @@ -81,6 +81,9 @@ class RPCHook(hooks.PecanHook): def before(self, state): state.request.rpcapi = conductor_api.API(context=state.request.context) + def after(self, state): + state.request.rpcapi = None + class NoExceptionTracebackHook(hooks.PecanHook): """Workaround rpc.common: deserialize_remote_exception. diff --git a/magnum/common/rpc_service.py b/magnum/common/rpc_service.py index 152f51b78b..0dc8898f9f 100644 --- a/magnum/common/rpc_service.py +++ b/magnum/common/rpc_service.py @@ -106,6 +106,9 @@ class API(object): serializer=serializer, timeout=timeout) + def __del__(self): + self._client.transport.cleanup() + def _call(self, method, *args, **kwargs): return self._client.call(self._context, method, *args, **kwargs)