<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">The idea is to write python (or shell) script which will:<br class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">- clone all required repos (like fuel-web, extensions repos) using</div><div class="">  probably zuul-cloner</div></div></blockquote><div class=""><br class=""></div><div class="">Doesn’t nodepool automatically do that?</div></div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">- checkout to appropriate stable branches / will cherry-pick some </div><div class="">  commit / stay on master</div></div></blockquote><br class=""></div><div class="">As far as I understand extensions have Nailgun as their Python requirement so it would be reasonable to just install it from PyPi (first we need to release Nailgun to PyPi). Master of Nailgun can run its own non-voting job to check compatibility with the existing extensions and notify authors about any compatibility issues.</div><br class=""><div><blockquote type="cite" class=""><div class="">17 бер. 2016 р. о 14:42 Sylwester Brzeczkowski <<a href="mailto:sbrzeczkowski@mirantis.com" class="">sbrzeczkowski@mirantis.com</a>> написав(ла):</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hi everyone!<br class=""></div><div class=""><br class=""></div><div class="">I’m looking for boilerplates/good practices regarding to testing </div><div class="">extensions with core code.</div><div class=""><br class=""></div><div class="">Since we unlocked Nailgun extensions system [0] and now there </div><div class="">is a possibility to install the extensions from external sources we </div><div class="">want to also provide a way to test your own extensions against </div><div class="">Nailgun and some other extensions. Here is the spec for this activity [1]</div><div class=""><br class=""></div><div class="">The idea is to write python (or shell) script which will:</div><div class="">- clone all required repos (like fuel-web, extensions repos) using</div><div class="">  probably zuul-cloner</div><div class="">- checkout to appropriate stable branches / will cherry-pick some </div><div class="">  commit / stay on master</div><div class="">- run tests</div><div class=""><br class=""></div><div class="">This script will be used to:</div><div class="">- test extension with different Nailgun versions (to check if it’s compatible)</div><div class="">  locally and on extension’s jenkins gate jobs</div><div class="">- test extension with different Nailgun versions and with other extensions</div><div class="">  enabled (depending on needs)</div><div class="">- test Nailgun with some core extensions locally and on fuel-web</div><div class="">  jenkins gate jobs</div><div class=""><br class=""></div><div class="">The script will be placed in fuel-web repo as extensions will need</div><div class="">to have Nailgun in its requirements anyway.</div><div class=""><br class=""></div><div class="">There will be new jenkins job which will consume names of </div><div class="">extensions to test and the branches/commits/versions which</div><div class="">the tests should be run against. The job will basically fetch fuel-web</div><div class="">repo, and run the script mentioned above.</div><div class=""><br class=""></div><div class="">What do you think about the idea? Is it a good approach?</div><div class="">Am I missing some already existing solutions for this problem?</div><div class=""><br class=""></div><div class="">Regards</div><div class=""><br class=""></div><div class="">[0] <a href="https://blueprints.launchpad.net/fuel/+spec/stevedore-extensions-discovery" class="">https://blueprints.launchpad.net/fuel/+spec/stevedore-extensions-discovery</a></div><div class="">[1] <a href="https://review.openstack.org/#/c/281749/" class="">https://review.openstack.org/#/c/281749/</a></div><div class=""><br class=""></div><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class=""><b class="">Sylwester Brzeczkowski</b><br class=""></div>Python Software <span class="">Engineer</span><br class="">Product Development-Core : Product Engineering<br class=""></div></div></div></div>
</div>
__________________________________________________________________________<br class="">OpenStack Development Mailing List (not for usage questions)<br class="">Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" class="">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<br class=""><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class=""></div></blockquote></div><br class=""></body></html>