[Pulp-dev] ergonomics of providing Pulp with lists of items

Brian Bouterse bbouters at redhat.com
Tue May 7 12:55:10 UTC 2019


I was initially in favor of adopting the comma separated change, but
reading @jsherril's response (which I agree with) I think straightened my
thinking out. I think we should continue the escaping as is. We shouldn't
change the API structure to support easier manual URL forming at the
expense of better structured API calls.

To share a vision w.r.t a CLI, I think we're going to have a lot of tools
built on top of the API which will cause most users to not experience a
cumbersome URL forming experience we are discussing. In the very near-term
in lieu of a CLI users should use the bindings (python and ruby pre-built;
other languages manual build). I also think we'll see several "workflow
tools" created, probably on top of the Python bindings. A python dev could
probably make an interesting CLI with the click library and the python
bindings in an afternoon. My hope is that we can see what happens as users
start writing scripts. We could invite them to ship their scripts in a
contrib CLI library that we publish on PyPI, or they could be cannibalized
into the start of an official CLI (at some point).

Other input is welcome! What do you think we should do?

On Mon, May 6, 2019 at 8:33 PM Justin Sherrill <jsherril at redhat.com> wrote:

> To me the API is the interface to pulp, not httpie and I do not think you
> should corrupt the api to make it easier to use from httpie (I.e. switch to
> using comma separated values when json provides a method for specifying
> multiple values).
>
> If you want to support both on the server I think that would be fine, but
> I think if usability is a concern, a more usable CLI is needed!
>
> my two cents :)
>
> Justin
> On 5/3/19 8:48 PM, Daniel Alley wrote:
>
> Providing Pulp with lists of values from the command line is rather
> unweildy.  There's a lot of unnecessary escaping going on.
>
> http POST :24817${REPO_HREF}versions/
> add_content_units:="[\"$CONTENT_HREF\",\"$CONTENT_2_HREF\"]"
>
> http POST http://localhost:24817/pulp/api/v3/rpm/copy/
> source_repo=${SRC_REPO_HREF} dest_repo=${DEST_REPO_HREF}
> types:="[\"errata\"]"
>
> Tanya, Ina and myself thought it would be worth discussing the idea of
> using something more ergonomic, like a comma-separated string.  This would
> make the endpoints much easier to use manually.
>
> http POST :24817${REPO_HREF}versions/
> add_content_units="$CONTENT_HREF,$CONTENT_2_HREF"
>
> http POST http://localhost:24817/pulp/api/v3/rpm/copy/
> source_repo=${SRC_REPO_HREF} dest_repo=${DEST_REPO_HREF} types="errata"
>
> On the other hand, we're planning to have an actual CLI, then this
> probably isn't really an issue.  The way we're doing things now isn't
> wrong, it's just frustrating to do from a shell.  But I don't know exactly
> what our CLI plans are.
>
> What are your thoughts?
>
> _______________________________________________
> Pulp-dev mailing listPulp-dev at redhat.comhttps://www.redhat.com/mailman/listinfo/pulp-dev
>
> _______________________________________________
> Pulp-dev mailing list
> Pulp-dev at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20190507/1ec50cbc/attachment.htm>


More information about the Pulp-dev mailing list