After some research into how to package for software collections, it does look feesible to utilize them for pulp 3. The main issue will be the fact that yes, we do have to package some new dependencies to utilize software collections instead. While that statement initially appears loaded with a lot of work to do, in reality it does seem rather manageable.
There are utilities out there to do things, like convert pypi packages to spec files, and to convert spec files to scl spec files. We can take advatage of these utilities (and potentially help improve them) to automate the dependency workflow from pypi -> spec -> scl with what appears to be a rather good degree of confidence. The primary benifit of this, in my mind, is the ability to work with the latest upstream packages, and repackage them in a format usable in Software collections, freeing us from being locked in to what's available in the EL7 repos. There is precedence for this, as foreman appears to do this already with their ruby dependencies. They have their own "tfm" software collection group (from what I can tell). This might seem daunting on the surface, but I belive this will become a net positive for us as a whole. If we didn't go the software collections route, there will still be additional work needed to ensure our code would be python 2.7 AND 3.5 compatible, with extra care needing to be practiced by everyone to achieve it. Along with potentially subtle differences in our dependency versions. Also, we currently build our dependencies that are needed in el6/el7/f2x already, and serve them up, sometimes needing work to ensure different versions work where needed. Since pulp 3 is dropping el6, we can possibly aligning on fedora versions and simplify our dependency manangement needs enough to open up ample time to do this, helping us align with the "Upstream First" mentality At this point, I believe a proof of concept will need to be developed to figure out exactly what this will look like, but I am becoming increasingly optimistic that this is achieveable. There will be some investment needed up front, but I'm confident it will pay off later. Starting now, I will be developing this proof of concept, focusing on getting a demo django app working, as well as a simple demo celery app. While the initial investigation has proven optimistic, it will be nice to have some real world answers here and a picture of what this really looks like. Questions? Thoughts? Concerns?
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Pulp-dev mailing list [email protected] https://www.redhat.com/mailman/listinfo/pulp-dev
