[Pulp-list] Runcible: Pulp V2 Ruby API Bindings Alpha

Jay Dobies jason.dobies at redhat.com
Thu Oct 25 15:34:14 UTC 2012

First off, thank you. Making this sort of thing available is fantastic 
to the Pulp community.

Two notes:

- It's good that the tests can be run against a live Pulp installation, 
but is there an easy way to mock that out? If devs are going to use 
this, they'll want to unit test, which means simulating server responses 
so a live server isn't needed. Could be a useful enhancement.

- This one is harder to explain. I'd say to be careful using the term 
"Pulp V2 Ruby API Bindings" and phrase "to provide the community with a 
set of Ruby API bindings for Pulp". I've only taken a quick peek at the 
code, but what you're providing is an RPM spin on our APIs. That's 
totally useful to that end and makes sense for Katello, but it means 
this isn't quite for Pulp (the platform) as it'll be misleading 
(arguably broken) for devs not using the RPM plugins.

Again, that's not to say it isn't useful or appreciated. I am sure there 
are people who will be happy to use these. I just want to be sure it's 
pitched correctly to indicate its tight relationship to the RPM plugins 
and their functionality.

On 10/25/2012 11:20 AM, Eric Helms wrote:
> Howdy Pulp folks,
> As some of you may know, the Katello project has been working to integrate Pulp V2 within our code base.  As part of this migration, we decided to move the API bindings for Pulp out of our core project and into a stand alone Ruby gem in order to provide the community with a set of Ruby API bindings for Pulp.  At this point, the Katello side has neared completion of our API calls to the newer Pulp APIs and as such feel a good enough time to release an alpha version of our gem Runcible for perusal by others.
> Things of note or that may interest Pulp developers (or give insight into how the API is being used, specifically the Extensions mentioned below):
>    - Included is a set of integration tests using the rubygem VCR to capture HTTP traffic
>      * This means that ALL tests can be and are run against a live Pulp installation
>      * The currently tested version is noted at the top of the README
>    - There are direct API bindings to Pulp calls
>    - There are a set of Extensions to some Pulp objects designed to make common operations easier, for example:
>      * Providing functions to create a Repository with an importer and distributor
>      * Functions that specifically retrieve objects without native API calls, e.g. RPMs, Errata, Distributions etc. using search syntax
>      * Objects to represent configurations for specific importers and distributors (see lib/runcible/extensions/YumImporter or YumDistributor for examples)
>    - Every API call is not currently covered, as the focus has been on Katello requirements, however, this is a community project
> Availability:
>    Git:      https://github.com/Katello/runcible
>    Rubygems: https://rubygems.org/gems/runcible
>    RPM:      Can be built, currently not available in any public repository
> Thanks,
> Eric Helms
> _______________________________________________
> Pulp-list mailing list
> Pulp-list at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-list

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

More information about the Pulp-list mailing list