<div dir="ltr">Hi Roman,<div><br></div><div>>> <span style="font-size:12.8px">reasonable to just install it from PyPi (first we need to release Nailgun to PyPi)</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Yes there will be dependencies, but there should be a way to test core extensions (those which go to standard Fuel build) from master (or any other branch), so installing from pypi is not always an option.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">>> </span><span style="font-size:12.8px">Master of Nailgun can run its own non-voting job to check compatibility with the existing extensions ...</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Yes, when patch is submitted to Nailgun, it should run extensions gates to test compatibility, and when patch to extension is submitted it should test it with specific version of Nailgun.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thanks,</span></div><div><br></div><div><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 21, 2016 at 4:12 PM, Roman Prykhodchenko <span dir="ltr"><<a href="mailto:me@romcheg.me" target="_blank">me@romcheg.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span class="">The idea is to write python (or shell) script which will:<br><blockquote type="cite"><div dir="ltr"><div>- clone all required repos (like fuel-web, extensions repos) using</div><div>  probably zuul-cloner</div></div></blockquote><div><br></div></span><div>Doesn’t nodepool automatically do that?</div></div><span class=""><div><br></div><div><blockquote type="cite"><div dir="ltr"><div>- checkout to appropriate stable branches / will cherry-pick some </div><div>  commit / stay on master</div></div></blockquote><br></div></span><div>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><div><blockquote type="cite"><div>17 бер. 2016 р. о 14:42 Sylwester Brzeczkowski <<a href="mailto:sbrzeczkowski@mirantis.com" target="_blank">sbrzeczkowski@mirantis.com</a>> написав(ла):</div><br><div><div><div class="h5"><div dir="ltr"><div>Hi everyone!<br></div><div><br></div><div>I’m looking for boilerplates/good practices regarding to testing </div><div>extensions with core code.</div><div><br></div><div>Since we unlocked Nailgun extensions system [0] and now there </div><div>is a possibility to install the extensions from external sources we </div><div>want to also provide a way to test your own extensions against </div><div>Nailgun and some other extensions. Here is the spec for this activity [1]</div><div><br></div><div>The idea is to write python (or shell) script which will:</div><div>- clone all required repos (like fuel-web, extensions repos) using</div><div>  probably zuul-cloner</div><div>- checkout to appropriate stable branches / will cherry-pick some </div><div>  commit / stay on master</div><div>- run tests</div><div><br></div><div>This script will be used to:</div><div>- test extension with different Nailgun versions (to check if it’s compatible)</div><div>  locally and on extension’s jenkins gate jobs</div><div>- test extension with different Nailgun versions and with other extensions</div><div>  enabled (depending on needs)</div><div>- test Nailgun with some core extensions locally and on fuel-web</div><div>  jenkins gate jobs</div><div><br></div><div>The script will be placed in fuel-web repo as extensions will need</div><div>to have Nailgun in its requirements anyway.</div><div><br></div><div>There will be new jenkins job which will consume names of </div><div>extensions to test and the branches/commits/versions which</div><div>the tests should be run against. The job will basically fetch fuel-web</div><div>repo, and run the script mentioned above.</div><div><br></div><div>What do you think about the idea? Is it a good approach?</div><div>Am I missing some already existing solutions for this problem?</div><div><br></div><div>Regards</div><div><br></div><div>[0] <a href="https://blueprints.launchpad.net/fuel/+spec/stevedore-extensions-discovery" target="_blank">https://blueprints.launchpad.net/fuel/+spec/stevedore-extensions-discovery</a></div><div>[1] <a href="https://review.openstack.org/#/c/281749/" target="_blank">https://review.openstack.org/#/c/281749/</a></div><div><br></div><div><br></div>-- <br><div><div dir="ltr"><div><div dir="ltr"><div><b>Sylwester Brzeczkowski</b><br></div>Python Software <span>Engineer</span><br>Product Development-Core : Product Engineering<br></div></div></div></div>
</div></div></div>
__________________________________________________________________________<br>OpenStack Development Mailing List (not for usage questions)<br>Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" target="_blank">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br></div></blockquote></div><br></div><br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div></div>