[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Pulp-list] grinder yum filters



Oh, didn't see this before writing the last email.  Woot!  Thank you!!!

	John


On 03/26/2012 03:23 PM, John Matthews wrote:


----- Original Message -----
Hi John,

----- Original Message -----
Hi list, I just discovered pulp the other day while looking for a
more
convenient way to synch yum repos than my crazy homebrew bash
scripts
with 'plugins' and per-repo config files.

Mainly, rsyncing whole repos is fine for the small sites I manage.
However, a number of custom RPMs depend on small numbers of
packages
from 3rd party repos, Pulp initially looked right to synch partial
repos
with its 'whitelist' feature, but it didn't take long to trace the
lack
of this feature for remote repos down to its absence in the grinder
package.

For the small shop use case, grinder is fine, so I added a quick
filtering function to it.  The filters have their own class similar
to
pulp's, so maybe it'll be easy for someone to plumb it into pulp
down
the road.


Thank you for the patch.
We'll review it this week and see if we can bring it into grinder.

-John



The below commits include your work in Grinder.

http://git.fedorahosted.org/git/?p=grinder.git;a=commitdiff;h=7bc697f631673e41f1c0d907277dd10ff0631300
http://git.fedorahosted.org/git/?p=grinder.git;a=commitdiff;h=03f8f319f09f3fe71eddb83acf2e3ba27573a99f

Thank you for the patch!



However, the attached patch can probably be called
hackish,
so maybe by the time pulp has filtering for remote repos, it'll be
a
complete rewrite.  I don't feel too embarrassed about the
hackishness,
though, since grinder appears to be a bit of a patchwork itself;
I'm
guessing that the RHN and yum parts were two separate scripts that
were
quickly thrown together into a single library?

The patch is pretty well self-documenting.  Testing was done with
something like the following command line:

PYTHONPATH=src python bin/grinder yum --label somerepo \
	-b /tmp -U 'http://www.somesite.com/somerepo' \
	--filter=whitelist --filter_regex='cool-package.*' --debug

BTW, 'run-tests.py' will go through its routine by adding the line
'sys.path.append("itests/")', but lots of failures, so I didn't
bother
with unit tests.

This patch doesn't deal with filtering __getDRPMs.  It would be
easy
to
add, but my sites don't need it just yet, and this submission is
partly
just to test the warmth of the waters.

This patch doesn't deal with running createrepo.  Pulp has its own
utilities to take care of that.  With this patch, you'll end up
with
the
original repodata but of course missing any packages excluded by
the
filters, so repodata must be regenerated elsehow.

More disclaimers:  I'm not a programmer.  I'm not a python
programmer.
It's the first time I've touched python in three years (last shop
ran
Perl, whew it's nice to be doing python again!).  I'm too lazy to
read
and understand the whole grinder code, so this patch probably makes
no
sense in its greater design.  I ramble too much.

Future projects:  maybe add /etc/grinder/yum.yml config (already
have
a
good start), and maybe add createrepo functionality.

	John

_______________________________________________
Pulp-list mailing list
Pulp-list redhat com
https://www.redhat.com/mailman/listinfo/pulp-list


_______________________________________________
Pulp-list mailing list
Pulp-list redhat com
https://www.redhat.com/mailman/listinfo/pulp-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]