[Openstack-operators] Operations project: Packaging

Joshua Harlow harlowja at outlook.com
Wed Nov 19 22:03:13 UTC 2014

Except the following really wasn't that hard to build in, so I'd 
question the 'heavily biased' statement (it was not designed by me and 
the community to be heavily biased to any specific way of doing things).


'Begin building virtualenvs for each component'


'Debian packaging for anvil - NOT READY FOR REVIEW'



Craig Tracey wrote:
> Great input Kris.  We also took a look at Anvil, and as you mention it
> is heavily biased for RH based distros.
> With regard to your requirements:
> 1) Under the cover for Giftwrap we use fpm for package creation, so debs
> and rpms are merely a flag to toggle.
> 2) Giftwrap is targeted for precisely this workflow.  We pull our
> OpenStack source from a forked git repo, with any patches applied.  The
> giftwrap manifest allows for specification of repo as well as ref.
> 3) As mentioned earlier, the naming of the package is entirely up to you
> - also something that may be defined in the manifest.
> Hope that helps,
> Craig
> On Wed, Nov 19, 2014 at 3:38 PM, Kris G. Lindgren <klindgren at godaddy.com
> <mailto:klindgren at godaddy.com>> wrote:
>     I am also interested in the packaging discussion.
>     As many of you guys already know, we use anvil
>     https://github.com/stackforge/anvil  for building of our packages.
>     The tool is currently geared towards Redhat, however it will also
>     build all of the required pip deps as packages as well.  It also has
>     all the hooks in place that are needed to work with deb's however
>     the main users of it are primarily centos based.  It also, recently,
>     has the ability to build venvs for the packages as well, however we
>     currently uses packages vs's venvs.
>     The spec files are based upon rdo's spec files, so generated
>     packages work correctly with upstream puppet modules.
>     While I am not biased towards any tools set – For a tool to replace
>     anvil for us it needs to be able to do the following:
>     1.) Build rpms
>     2.) Allows us to carry our own patch sets.  Either by building from
>     our own git repo or by supplying patch files that are integrated at
>     either download or package build time on top of the upstream git repo
>     3.) Control the naming of the package, so that upgrades can easily
>     happen (IE yum update). PBR really sucks at generating package names
>     that can be easily upgraded when working of a git branch.
>     I am not against modifying our workflow to make venvs work for us as
>     well.
>     ____________________________________________
>     Kris Lindgren
>     Senior Linux Systems Engineer
>     GoDaddy, LLC.
>     From: Craig Tracey <craig at craigtracey.com
>     <mailto:craig at craigtracey.com>>
>     Date: Wednesday, November 19, 2014 at 12:59 PM
>     To: Adam Young <ayoung at redhat.com <mailto:ayoung at redhat.com>>
>     Cc: "openstack-operators at lists.openstack.org
>     <mailto:openstack-operators at lists.openstack.org>"
>     <openstack-operators at lists.openstack.org
>     <mailto:openstack-operators at lists.openstack.org>>
>     Subject: Re: [Openstack-operators] Operations project: Packaging
>     Thanks Michael for continuing this conversation.  This is something
>     that we are particularly interested and involved in.
>     A while back (around the first Ops mid-cycle), I along with John
>     Dewey started a project called giftwrap
>     https://github.com/blueboxgroup/giftwrap. The primary objective was
>     to build artifacts (in our first use case, debs) so that we could
>     easily ship reliable OpenStack bits to our various OpenStack fleets,
>     while not being beholden to a distro.  I looked around at the
>     available options in stackforge, and each of them didn't really suit
>     my needs.  Similarly, at the Ops midcycle it was clear that this was
>     a concern for others as well. Hence, we started the project.
>     The project has progressed quite a bit from there.  Now, in addition
>     to packages it can create Docker images with the projects and source
>     that you care about.  It can gather hard pip dependencies from what
>     passed acceptance in gate.  You can add arbitrary python and system
>     dependencies (ie. you have SAN XYZ and their Cinder driver is not
>     upstreamed yet) to the package or Docker image. And, all of the code
>     is built within virtualenvs so that we can prevent cross-project
>     dependency conflicts.  Pathing is completely customizable with Jinja
>     templating syntax. What is nice about this is that you can lay
>     services side-by-side in order to facilitate in-place upgrades (ie.
>     /opt/openstack-icehouse and /opt/openstack-juno).  All of these
>     settings are defined in a yaml manifest file.
>     The code today is certainly biased towards Ubuntu, but there is
>     nothing preventing the support of other distros.  All of the hooks
>     are there...it's just a matter of time before we tackle those.  We
>     would be happy to have contributions from others interested in this
>     or other features.
>     This code, along with the accompanying configuration management is
>     working in test and should land in both Giftwrap and our Ansible
>     playbooks dubbed Ursula https://github.com/blueboxgroup/ursula shortly.
>     Long story short, we are very interested in continuing to build
>     community around packaging.
>     Thanks again,
>     Craig
>     On Tue, Nov 18, 2014 at 7:37 AM, Adam Young <ayoung at redhat.com
>     <mailto:ayoung at redhat.com>> wrote:
>         On 11/18/2014 01:16 AM, Michael Chapman wrote:
>>         Hi all,
>>         Packaging was one of the biggest points of interest in the
>>         Friday Paris meeting, and I'd like to use this thread to have
>>         a centralised discussion and/or argument regarding whether
>>         there is a packaging system that is flexible enough that we
>>         can adopt it as a community and reduce the fragmentation. This
>>         conversation began in Paris, but will likely continue for some
>>         time.
>>         The Friday session indicates that as operators we have common
>>         requirements:
>>         A system that takes the sources from upstream projects and
>>         produces artifacts (packages or images).
>>         There are numerous projects that have attempted to solve this
>>         problem. Some are on stackforge, some live outside. If you are
>>         an author or a user of one of these systems, please give your
>>         opinion.
>         RDO is the single largest "packager" of RPMs for OpenStack.
>>         Once it becomes clear who is interested in this topic, we can
>>         create a working group that will move towards standardising on
>>         a single system that meets the needs of the community. Once
>>         the key individuals for this project are clear, we can
>>         schedule an appropriate meeting time on irc for further
>>         discussion that will probably be needed.
>>          - Michael
>>         _______________________________________________
>>         OpenStack-operators mailing list
>>         OpenStack-operators at lists.openstack.org  <mailto:OpenStack-operators at lists.openstack.org>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
>         _______________________________________________
>         OpenStack-operators mailing list
>         OpenStack-operators at lists.openstack.org
>         <mailto:OpenStack-operators at lists.openstack.org>
>         http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators

More information about the OpenStack-operators mailing list