[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