<div dir="ltr">Hi!<div><br></div><div>When a project is using oslo.messaging, how can we change our default rpc_thread_pool_size?</div><div><br></div><div>-----------------------</div><div>Background<br><div><br></div><div>

Ironic has hit a bug where a flood of API requests can deplete the RPC worker pool on the other end and cause things to break in very bad ways. Apparently, nova-conductor hit something similar a while back too. There've been a few long discussions on IRC about it, tracked partially here:</div>

<div>  <a href="https://bugs.launchpad.net/ironic/+bug/1308680">https://bugs.launchpad.net/ironic/+bug/1308680</a></div><div><br></div><div>tldr; a way we can fix this is to set the rpc_thread_pool_size very small (eg, 4) and keep our conductor.worker_pool size near its current value (eg, 64). I'd like these to be the default option values, rather than require every user to change the rpc_thread_pool_size in their local ironic.conf file.</div>

<div><br></div><div>We're also about to switch from the RPC module in oslo-incubator to using the oslo.messaging library.</div><div><br></div><div>Why are these related? Because it looks impossible for us to change the default for this option from within Ironic, because the option is registered when EventletExecutor is instantaited (rather than loaded).</div>

<div><br></div><div><a href="https://github.com/openstack/oslo.messaging/blob/master/oslo/messaging/_executors/impl_eventlet.py#L76">https://github.com/openstack/oslo.messaging/blob/master/oslo/messaging/_executors/impl_eventlet.py#L76</a></div>

<div><br></div><div><br></div><div>Thanks,</div><div>Devananda</div></div></div>