[openstack-dev] [fuel] librarian-puppet integration, need help with build tasks for fuel-library

Alex Schultz aschultz at mirantis.com
Fri Jul 17 19:57:33 UTC 2015


Hey Vladimir,

So I've been playing with it at the moment because I think the better place
to do the script execution is as part of the build process controlled by
the fuel-library7.0 spec file[0].  It seems to be a valid way to do it (and
would work for our CI jobs to) but the issue i'm running into is the use of
ruby/bundler to pull in these packages.  Any thoughts on the best way to
try and provide the required build environment tools since it appears we
build on Centos 6.5 at the moment so I'm running into ruby 1.8.7 issues.

-Alex

[0] https://review.openstack.org/#/c/202763/9/specs/fuel-library7.0.spec

On Fri, Jul 17, 2015 at 2:24 PM, Vladimir Kozhukalov <
vkozhukalov at mirantis.com> wrote:

> Alex,
>
> 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?
>
> Vladimir Kozhukalov
>
> On Fri, Jul 17, 2015 at 5:51 PM, Alex Schultz <aschultz at mirantis.com>
> wrote:
>
>> Hey Vladimir,
>>
>> On Fri, Jul 17, 2015 at 7:33 AM, Vladimir Kozhukalov <
>> vkozhukalov at mirantis.com> wrote:
>>
>>> Alex,
>>>
>>> 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
>>>
>>> 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.
>>>
>>> 2) Currently we build packages using make system and you are right about
>>> the place where you need to make changes.
>>> https://github.com/stackforge/fuel-main/blob/master/packages/module.mk#L63-L82
>>> If you create shell script, I'll help you to add it to make code.
>>>
>>>
>>>
>>
>> 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.
>>
>> Thanks,
>> -Alex
>>
>> [0] https://review.openstack.org/#/c/202763/
>>
>>
>>>
>>> Vladimir Kozhukalov
>>>
>>> On Fri, Jul 17, 2015 at 2:56 PM, Aleksandr Didenko <
>>> adidenko at mirantis.com> wrote:
>>>
>>>> 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]
>>>>
>>>> Regards,
>>>> Alex
>>>>
>>>> [0]
>>>> https://github.com/stackforge/fuel-main/blob/master/repos.mk#L16-L37
>>>> [1] https://github.com/stackforge/fuel-main/blob/master/repos.mk#L45
>>>>
>>>>
>>>> On Fri, Jul 17, 2015 at 2:37 PM, Alex Schultz <aschultz at mirantis.com>
>>>> wrote:
>>>>
>>>>> Hey Alex,
>>>>>
>>>>> On Jul 17, 2015 4:32 AM, "Aleksandr Didenko" <adidenko at mirantis.com>
>>>>> wrote:
>>>>> >
>>>>> > Hi,
>>>>> >
>>>>> > 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.
>>>>> >
>>>>>
>>>>> 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.
>>>>>
>>>>>
>>>>> > Regards,
>>>>> > Alex
>>>>> >
>>>>>
>>>>> Thanks,
>>>>> -Alex
>>>>>
>>>>> > On Thu, Jul 16, 2015 at 11:17 PM, Alex Schultz <
>>>>> aschultz at mirantis.com> wrote:
>>>>> >>
>>>>> >> Hello everyone,
>>>>> >>
>>>>> >> 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/module.mk[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.
>>>>> >>
>>>>> >>
>>>>> >> Thanks,
>>>>> >> -Alex
>>>>> >>
>>>>> >> [0] https://review.openstack.org/202763
>>>>> >> [1] https://review.openstack.org/202767
>>>>> >> [2]
>>>>> https://github.com/stackforge/fuel-main/blob/master/packages/module.mk#L63-L82
>>>>> >> [3]
>>>>> https://review.openstack.org/#/c/202763/1/utils/jenkins/fuel_noop_tests.rb
>>>>> >>
>>>>> >>
>>>>> __________________________________________________________________________
>>>>> >> OpenStack Development Mailing List (not for usage questions)
>>>>> >> Unsubscribe:
>>>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>>>> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>> __________________________________________________________________________
>>>>> > OpenStack Development Mailing List (not for usage questions)
>>>>> > Unsubscribe:
>>>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>>>> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>> >
>>>>>
>>>>>
>>>>> __________________________________________________________________________
>>>>> OpenStack Development Mailing List (not for usage questions)
>>>>> Unsubscribe:
>>>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>>
>>>>>
>>>>
>>>>
>>>> __________________________________________________________________________
>>>> OpenStack Development Mailing List (not for usage questions)
>>>> Unsubscribe:
>>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>
>>>>
>>>
>>>
>>> __________________________________________________________________________
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe:
>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>>
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150717/ebe08c35/attachment.html>


More information about the OpenStack-dev mailing list