Today there are a number of places in nova, neutron and perhaps elsewhere that employ backoff + timeout strategies (see [1] - [4]). While we are working towards a unified approach in neutron for RPC [5], it appears such logic could benefit the greater community as a reusable oslo implementation. IMHO such an oslo implementation could: - Enable backoff/timeout irrespective of client/transport. This would allow the utils to be used with various clients (HTTP, AMQP RPC, etc.). - Support namespacing as inspired by the existing neutron patch [5]. - In the future, perhaps, allow multiple (pluggable) backoff strategies to be used (e.g. configurable backoff). Anyone adverse to me crafting an initial oslo patch to kick-off the details on this one? Thanks [1] https://github.com/openstack/nova/blob/master/nova/conductor/api.py#L162 [2] https://github.com/openstack/nova/blob/3cdaa30566c17a2add5d9163a0693c97dc1d065b/nova/scheduler/utils.py#L356 [3] https://github.com/openstack/neutron/blob/dd4f1253c951d78a5b497680dfb31317ba469a58/neutron/agent/l3/agent.py#L224 [4] https://github.com/openstack/neutron/blob/42c6f05f2904cd4c01bcd3f79b1966489f5ad3c1/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_dvr_neutron_agent.py#L189 [5] https://review.openstack.org/#/c/280595/