<div dir="ltr">Hey All,<div><br></div><div>I've figured it out without having to modify the fuel-main build code. I've updated the fuel-library spec with a build action that invokes the script to pull down external modules.  Please take some time to review the two reviews out there for this change to see if there are any issues with the way it is implemented.</div><div><br></div><div><a href="https://review.openstack.org/#/c/202763/">https://review.openstack.org/#/c/202763/</a><br></div><div><a href="https://review.openstack.org/#/c/202767/">https://review.openstack.org/#/c/202767/</a><br></div><div><br></div><div>This is a first step towards being able to pull in unmodified external puppet modules.  </div><div><br></div><div>Thanks,</div><div>-Alex</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 17, 2015 at 4:23 PM, Andrew Woodward <span dir="ltr"><<a href="mailto:awoodward@mirantis.com" target="_blank">awoodward@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><span class=""><div dir="ltr">On Fri, Jul 17, 2015 at 12:24 PM Vladimir Kozhukalov <<a href="mailto:vkozhukalov@mirantis.com" target="_blank">vkozhukalov@mirantis.com</a>> wrote:<br></div></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Alex,<div><br></div><span class=""><div>Great that you did this. Now I think I can prepare fuel-main patch to invoke this script right before building fuel-library package. I'll add you to review it. Is it ok if I do this monday morning?</div></span></div></blockquote><div><br></div><div>Keep in minde we agreeded to a deadline to get this sorted and in shape to land by EOD monday or we will have to retain the old, and crappy fork method. If possible please work out how this needs to work as early as possible so Alex can continue.</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div><div><div>Vladimir Kozhukalov</div></div></div></div><div class="gmail_extra">
<br><div class="gmail_quote">On Fri, Jul 17, 2015 at 5:51 PM, Alex Schultz <span dir="ltr"><<a href="mailto:aschultz@mirantis.com" target="_blank">aschultz@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey Vladimir,<br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Fri, Jul 17, 2015 at 7:33 AM, Vladimir Kozhukalov <span dir="ltr"><<a href="mailto:vkozhukalov@mirantis.com" target="_blank">vkozhukalov@mirantis.com</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 dir="ltr">Alex, <div><br></div><div>Gathering upstream modules certainly should be implemented as a separate script so as to make it possible to use it wherever we need this (tests, builds, etc.) According to builds there are two things</div><div><br></div><div>1) We have so called "perestroika" package build system (Dmitry Burmistrov is a main contributor here). By the end of next week we are going to switch building all the packages to "perestroika". And in order to gather upstream modules right before building fuel-library package, we need to change perestroika build scripts. </div><div><br></div><div>2) Currently we build packages using make system and you are right about the place where you need to make changes. <a href="https://github.com/stackforge/fuel-main/blob/master/packages/module.mk#L63-L82" target="_blank">https://github.com/stackforge/fuel-main/blob/master/packages/module.mk#L63-L82</a> If you create shell script, I'll help you to add it to make code.</div><span><font color="#888888"><div><br></div><div><br></div></font></span></div></blockquote><div> </div><div><br></div></span><div>I have updated my review[0] to extract the update logic to it's own bash script that can be invoked by the build scripts.  Let me know what would be the best way to wedge this in there.  I think for the "perestroika" this would also be needed for the fuel-library build, so if you point me at that I can see if I can help make that change as well.</div><div><br></div><div>Thanks,</div><div>-Alex</div><div><br></div><div>[0] <a href="https://review.openstack.org/#/c/202763/" target="_blank">https://review.openstack.org/#/c/202763/</a></div><div><div><div><br></div><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 dir="ltr"><span><font color="#888888"><div></div><div> </div></font></span></div><div class="gmail_extra"><span><font color="#888888"><br clear="all"><div><div><div>Vladimir Kozhukalov</div></div></div></font></span><div><div>
<br><div class="gmail_quote">On Fri, Jul 17, 2015 at 2:56 PM, Aleksandr Didenko <span dir="ltr"><<a href="mailto:adidenko@mirantis.com" target="_blank">adidenko@mirantis.com</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 dir="ltr">I believe build_repo function is the best way to do this [0]. So for fuel-library we'll need to run a shell script right from the repo before 'touch $$@'. We can make it either conditional ( test -f ./path/additional_build_script.sh && bash ./path/additional_build_script.sh ) or as additional parameter to function and add it in fuel-library call [1]<br><br>Regards,<br>Alex<br><br>[0] <a href="https://github.com/stackforge/fuel-main/blob/master/repos.mk#L16-L37" target="_blank">https://github.com/stackforge/fuel-main/blob/master/repos.mk#L16-L37</a><br>[1] <a href="https://github.com/stackforge/fuel-main/blob/master/repos.mk#L45" target="_blank">https://github.com/stackforge/fuel-main/blob/master/repos.mk#L45</a><br><br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 17, 2015 at 2:37 PM, Alex Schultz <span dir="ltr"><<a href="mailto:aschultz@mirantis.com" target="_blank">aschultz@mirantis.com</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"><p dir="ltr">Hey Alex,</p><span>
<p dir="ltr">On Jul 17, 2015 4:32 AM, "Aleksandr Didenko" <<a href="mailto:adidenko@mirantis.com" target="_blank">adidenko@mirantis.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I think that we should provide a separate script that will fetch the upstream modules into fuel-library/deployment/puppet/ directory. It will allow us to have everything in a single place and use this script in ISO build process and CI jobs.<br>
></p>
</span><p dir="ltr">Right. That is what I'm going for. The issue I need help with is the best way to execute this as part of the build process.  From what i understand of the build process is that we are using git archive for all pieces so I'm not sure how to wedge in an extra script execution to do the module fetch.  The creation of the script isn't the issue, the issue is how can I properly run it as part of the build process. <br><br><br></p>
<p dir="ltr">> Regards,<br>
> Alex<br>
><br><br></p>
<p dir="ltr">Thanks,<br>
-Alex<br><br></p><div><div>
<p dir="ltr">> On Thu, Jul 16, 2015 at 11:17 PM, Alex Schultz <<a href="mailto:aschultz@mirantis.com" target="_blank">aschultz@mirantis.com</a>> wrote:<br>
>><br>
>> Hello everyone,<br>
>><br>
>> I have committed the initial configuration required to start leveraging librarian-puppet as part of the way we pull in upstream puppet modules[0]. Additionally, I have also committed a change that would pull in the openstack-ironic module[1].  The one piece that is missing from this being a complete solution is the ability to run librarian-puppet as part of our build process for the fuel-library.  I've looked into the fuel-main build scripts and I think it's over my head to figure this out just by looking. Can anyone explain to me or assist me in how I could go about modifying the existing build system to be able to run librarian-puppet to prepare the source for the package?  In my initial investigation, it looks like it would be a modification of the fuel-main/packages/<a href="http://module.mk" target="_blank">module.mk</a>[3] file.  I basically need to do the prepare_library[3] function from the 202763 review[0] after we've pulled all the sources together to fetch the upstream modules. <br>
>><br>
>><br>
>> Thanks,<br>
>> -Alex<br>
>><br>
>> [0] <a href="https://review.openstack.org/202763" target="_blank">https://review.openstack.org/202763</a><br>
>> [1] <a href="https://review.openstack.org/202767" target="_blank">https://review.openstack.org/202767</a><br>
>> [2] <a href="https://github.com/stackforge/fuel-main/blob/master/packages/module.mk#L63-L82" target="_blank">https://github.com/stackforge/fuel-main/blob/master/packages/module.mk#L63-L82</a><br>
>> [3] <a href="https://review.openstack.org/#/c/202763/1/utils/jenkins/fuel_noop_tests.rb" target="_blank">https://review.openstack.org/#/c/202763/1/utils/jenkins/fuel_noop_tests.rb</a><br>
>><br>
>> __________________________________________________________________________<br>
>> OpenStack Development Mailing List (not for usage questions)<br>
>> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><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>
>><br>
><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><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>
><br>
</p>
</div></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><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>
<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></div></div><br></div></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>
__________________________________________________________________________<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>
</blockquote></div></div></div></div><span class="HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div dir="ltr">--<div>Andrew Woodward</div><div>Mirantis</div><div>Fuel Community Ambassador</div><div>Ceph Community </div></div>
</font></span><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>