[katello-devel] Katello disconnected ideas

Jay Dobies jason.dobies at redhat.com
Thu Sep 13 13:00:22 UTC 2012


I think you should consider using the Pulp client for this. Nearly 
everything you indicated below is already done and can be reused with 
little effort.

The short explanation is that the client framework (config loading, 
launching, command parsing, etc.) doesn't have any hard coded 
functionality, it can all be plugged in as needed. The pluggable pieces 
are also included in the package and are reusable, and all of that is 
already packaged into RPMs.

I'd go so far as to say the Pulp client RPM already has a good 90% of 
what you want to do already done. The rest can be added through the 
extension mechanism. It's just a matter of you deciding on the structure 
you want and instantiating the commands into that structure.

For instance, in addition to the suggestion below on enabling repos, we 
already have commands you can use to create, delete, list, and search 
for repos. We also already have the commands that will let you organize 
those repos into groups (create/delete/list groups and membership 
manipulation), all ready to be used (the groups stuff is critical for 
the ISO export portion of the disconnected case).

Same for the scheduling. All of the commands under "pulp-admin repo sync 
schedules" are written in a way they can be reused.

We also already have the code in place to run the syncs, poll the 
server, and render the progress of those syncs for the user. There's no 
reason that can't be reused.

More generally, the entire client is written to be assembled, not broken 
apart. In other words, you wouldn't have to jump through hoops to rip 
out things you don't want in the disconnected CLI. You're given access 
to the building blocks and can build up the client as you need.

It'd probably be easier to explain in a meeting, so let me know if you 
want me to set up an elluminate to take you through some code. I 
strongly suggest we do this before going any further down the road of 
rewriting this from scratch. It would save a ton of duplicated effort, 
not only in writing, but in the fact that Preethi is currently QEing 
these same commands in Pulp itself.

> Hello,
>
> as I've promised, I am bringing the ideas you have come up on the demo.
> I will be back working on disconnected soon, once I finish with my BZs.
> Please add your own ideas if you have any:
>
> - command for enabling repos using CLI tool (similar to katello cli)
> - command for scheduling sync in pulp
> - date range export support (I want export only most recent content)
> - products in the repos.conf file for better orienation
>    (this is already there, I will improve this)
>
> I want to create installable RPM package ASAP so you don't need to play
> with my branch and configuring it. It should be easier to check it out
> next week.
>


-- 
Jay Dobies
Freenode: jdob @ #pulp
http://pulpproject.org | http://blog.pulpproject.org




More information about the katello-devel mailing list