<div dir="ltr">Hi,<br><br>Recently I was working on making Nailgun extensions more usable. Current extensions system has great potential to be used to extend Nailgun's features e.g. integration with other services.<br>This potential is blocked by the fact that all extensions must be placed in Nailgun's source code and be explicitly imported and added to global "extensions list" [0].<br><br>There is the idea to use stevedore to unblock current extensions system. Stevedore allows us to create an extension in separate package and make it available just by installing it on Fuel Master node.<br>Nailgun will automatically detect that new extension is ready for use. User will be able to turn on the extension via fuelclient [1] or directly via Nailgun's REST API [2].<br><br>I've prepared a Demo [3] in which I show how to use extensions using integration with Bareon-API [4] as an example. The extension is placed in separate repo [5].<br><br>Please look at the spec for stevedore-based extensions for Nailgun [6] and review it as soon as possible to move the initiative forward.<br>Any feedback is welcome!<br><br>Thank you!<br><br>[0] <a href="https://github.com/openstack/fuel-web/blob/stable/8.0/nailgun/nailgun/extensions/base.py#L23-L36">https://github.com/openstack/fuel-web/blob/stable/8.0/nailgun/nailgun/extensions/base.py#L23-L36</a><br>[1] <a href="https://review.openstack.org/#/c/264699/">https://review.openstack.org/#/c/264699/</a><br>[2] <a href="https://review.openstack.org/#/c/264714/">https://review.openstack.org/#/c/264714/</a><br>[3] <a href="https://www.youtube.com/watch?v=8r0yaoPWtlY">https://www.youtube.com/watch?v=8r0yaoPWtlY</a><br>[4] <a href="https://review.openstack.org/#/c/259072/">https://review.openstack.org/#/c/259072/</a><br>[5] <a href="https://github.com/gitfred/bareon-fuel-extension">https://github.com/gitfred/bareon-fuel-extension</a><br>[6] <a href="https://review.openstack.org/#/c/263738/">https://review.openstack.org/#/c/263738/</a><br><div><div><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><b>Sylwester Brzeczkowski</b><br></div>Junior Python Software <span>Engineer</span><br>Product Development-Core : Product Engineering<br></div></div>
</div></div></div>