[Pulp-list] [devel] git submodules

Barnaby Court bcourt at redhat.com
Mon Nov 17 15:26:53 UTC 2014

Hi Randy,  

What is the primary concern?  Can you elaborate on why installing from git via pip is better than the options available today?

As we work to bring more developers in to the Pulp community I see a large issue that we have way too many repositories/moving parts to each plugin. However, There are current plans in place that will help to address a number of the concerns I am aware of. If we continue with the current plans for django & mongoengine there is no reason that we can not also move to having the CLI defined 100% by the core server. If we can do that then most of our plugin modules can be reduced to 1 python project as they will not need separate rpms for each admin/client CLI and the code that is shared between CLI & server. Once that transition happens there is no need to have the current python code nested under subdirectories with the current repository structure. This would solve the biggest current challenge as all the plugins could be reduced to 1 module for the server and a second module, if necessary, for the handler to run on the consumers.  With that change a pip install of a particular plugin becomes a reasonable path.   

An alternative option would be to remove the separation of python code within the projects and use the spec file to to separate out the code for the various sub-rpms rather than using the directory tree at the root.  At least in the short term this seems like a lot of work for little benefit to me and would also be more likely to lead to bugs that are not found during development since, at least for me personally, installing from RPM is not an everyday part of the development cycle.  

One very large downside of submodules, from my personal perspective, is that we would first explode the number of repositories that we are actively managing and we also add another layer of complexity to the everyday management of our repositories. I'm not sure the benefit is worth it given our other options. Of the options we have I would much rather focus on getting our code base to the point where plugins do not require the multitude of RPMs that we require today.  I can happily live with the current structure for a while longer if we are working towards that goal. 

All of that said, I could use your help with gaining a deep understanding of why installation from git via pip is better than the options we have today.  Thanks!

Barnaby Court

----- Original Message -----
From: "Randy Barlow" <rbarlow at redhat.com>
To: pulp-list at redhat.com
Sent: Thursday, November 13, 2014 2:00:43 PM
Subject: [Pulp-list] [devel] git submodules

What if we used git submodules to put each Python package we have in its own git repository, and then the "pulp" repo just brings them together for convenience? This way we could do something along the lines of this:

$ pip install -e http://github.com/pulp/pulp_rpm_plugins

Meanwhile, we could continue having the meta-repo that we have now that brings these submodules together for convenience.

What do you think?

Randy Barlow

Pulp-list mailing list
Pulp-list at redhat.com

More information about the Pulp-list mailing list