[Openstack-operators] Operations project: Packaging
Kris G. Lindgren
klindgren at godaddy.com
Wed Nov 19 20:38:58 UTC 2014
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.
Senior Linux Systems Engineer
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.
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:
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.
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>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-operators