<div dir="ltr"><div>Hi all.<br></div><div><br>There a set of openstack api functions which starts background actions<br>and return preliminary results - like 'novaclient.create'. Those functions<br>requires periodically check results and handle timeouts/errors<br>(and often cleanup + restart help to fix an error).<br><br>Check/retry/cleanup code duplicated over a lot of core projects.<br>As examples - heat, tempest, rally, etc and definitely in many third-party scripts.<br><br>I propose to provide common higth-level API for such functions, which uses<br>'futures' (<a href="http://en.wikipedia.org/wiki/Futures_and_promises">http://en.wikipedia.org/wiki/Futures_and_promises</a>) as a way to<br>present background task.<br><br>Idea is to add to each background-task-starter function a complimentary call,<br>that returns 'future' object. E.g.<br><br>    create_future = novaclient.servers.create_async(....)<br>    .....<br>    vm = create_future.result()<br><br>This allows to unify(and optimize) monitoring cycles, retries, etc.<br>Please found complete BP at<br><a href="https://github.com/koder-ua/os_api/blob/master/README.md">https://github.com/koder-ua/os_api/blob/master/README.md</a><br><br clear="all"></div>Thanks<br><div>-- <br><div class="gmail_signature">Kostiantyn Danilov aka <a href="http://koder.ua" target="_blank">koder</a><br>Principal software engineer, Mirantis<br><br>skype:<a href="http://koder.ua" target="_blank">koder.ua</a><br><a href="http://koder-ua.blogspot.com/" target="_blank">http://koder-ua.blogspot.com/</a><br><a href="http://mirantis.com" target="_blank">http://mirantis.com</a></div>
</div></div>