<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi all,</p>
<p>I finally had some time to play with these and I do have some
concerns. First i'd say that Dennis' work to get the swagger
generation working with href's seemed to work really well! I did
find one small bug(1) that may be isolated to the ruby bindings,
but seems like a serialization issue potentially.<br>
</p>
<p>However I do have some concerns. According to Dennis, upstream
swagger does not seem open to accepting this change that utilizes
href's in its api calls. This leaves us all in a bit of a pickle
as:</p>
<p>1) pulp seems to suggest to use hrefs (and may remove ids in the
future?) <br>
2) swagger does not (and will never?) support referencing objects
by href's in the future</p>
<p>Thus for katello to use href's, we would need to use an altered
version of swagger that someone maintains. While the patch is
small, I'm not sure either of our teams are super well positioned
to maintain something like this long term. <br>
</p>
<p>It might make sense for the pulp team to maintain this, as the
requirements are being suggested by the pulp team, however it
doesn't seem like ya'll will actually be using any generated
bindings which doesn't seem like a good dependency. <br>
</p>
<p>It might make sense for the Katello team but I would say we're
only using hrefs because they seem to be what was recommended. In
both cases its a different technology (java) with a different
built system. I could see 3 years from now some issue coming up
that requires us to update to a newer swagger version and untangle
this when no one that was involved in this decision was around. I
don't really see either of our teams maintaining a fork of the
swagger code generation as a good long term solution.<br>
</p>
<p>May I suggest that we either:</p>
<p> a) Work harder to get the code change upstream</p>
<p>or if that does not seem to be going well<br>
</p>
<p> b) commit to continue responding with ids (in addition to hrefs)
in all object responses</p>
<p>(1) <a class="moz-txt-link-freetext" href="https://pulp.plan.io/issues/3843">https://pulp.plan.io/issues/3843</a><br>
</p>
<br>
<div class="moz-cite-prefix">On 05/17/2018 06:26 PM, Dennis Kliban
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAPmNiupxW+cAmnTDEkbiXoFZciyUJRAZKUW3gryjCkms41bwHg@mail.gmail.com">
<div dir="ltr">I have been able modify the default behavior of
swagger-codegen to produce bindings that use relative URLs to
identify resources. The required changes can be seen here[0].
The compiled jar is available for download here[1]. <br>
<br>
The following command can be used to generate python bindings.
Replace 'python' with 'ruby' and you'll get ruby bindings. The
json file is the API schema returned by the Pulp server at <a
class="external"
href="http://localhost:8000/api/v3/docs/api.json"
moz-do-not-send="true">http://localhost:8000/api/v3/docs/api.json</a>.
<br>
<br>
java -jar ./swagger-codegen-cli.jar generate -i
~/Downloads/pulp3-api.json -l python -o some_directory_name<br>
<br>
[0] <a
href="https://github.com/dkliban/swagger-codegen/commit/e31e96769864b73b06bd99f5e20e4720562539b9"
moz-do-not-send="true">https://github.com/dkliban/swagger-codegen/commit/e31e96769864b73b06bd99f5e20e4720562539b9</a><br>
[1] <a
href="https://repos.fedorapeople.org/pulp/pulp/swagger/swagger-codegen-cli.jar"
moz-do-not-send="true">https://repos.fedorapeople.org/pulp/pulp/swagger/swagger-codegen-cli.jar</a><br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, May 1, 2018 at 11:18 AM, David
Davis <span dir="ltr"><<a
href="mailto:daviddavis@redhat.com" target="_blank"
moz-do-not-send="true">daviddavis@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">We’ve exposed IDs and I think the next goal
will be to somehow let Katello use these IDs. I’ve opened
a new story to solicit feedback on how this’ll work:
<div><br>
</div>
<div><a href="https://pulp.plan.io/issues/3636"
target="_blank" moz-do-not-send="true">https://pulp.plan.io/issues/<wbr>3636</a><span
class="HOEnZb"><font color="#888888"><br>
</font></span></div>
</div>
<div class="gmail_extra"><span class="HOEnZb"><font
color="#888888"><br clear="all">
<div>
<div class="m_-4971748094304000821gmail_signature"
data-smartmail="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div><br>
</div>
<div>David<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
</font></span>
<div class="gmail_quote">
<div>
<div class="h5">On Tue, May 1, 2018 at 9:14 AM, Brian
Bouterse <span dir="ltr"><<a
href="mailto:bbouters@redhat.com"
target="_blank" moz-do-not-send="true">bbouters@redhat.com</a>></span>
wrote:<br>
</div>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div class="h5">
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote"><span>On Tue, May 1,
2018 at 7:59 AM, Bryan Kearney <span
dir="ltr"><<a
href="mailto:bkearney@redhat.com"
target="_blank" moz-do-not-send="true">bkearney@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex"><span>On
04/30/2018 04:08 PM, Brian Bouterse
wrote:<br>
> @asmacdo, checking in on the why
is great. I want to try to articulate<br>
> the benefits as I see them. Other
perspectives and discussion are
welcome.<br>
> <br>
> The design of using URLs for
referring things is a design whose
goal is<br>
> to minimize complexity as the #
of resources grows. The Internet is a<br>
> useful analogy here. When someone
wants to tell me how to find something<br>
> on Instagram, if the article's
name is 'cat_pic432642' and that's all
I<br>
> know, I'm going to have a hard
time figuring out the actual URL to
ask<br>
> Instagram's servers for, e.g.
/thepostsarehere/cat_pic432642<wbr>.
Even if I<br>
> did know how Instram's url space
was laid out, I have to think about it<br>
> different from all other web
services I interact with; now they're
all<br>
> different. This is the power of
the URL itself. All clients and all<br>
> servers can use the uniform
resource locator to refer to things. I
think<br>
> this was the main contribution
from Tim Berners-Lee that allowed him
to<br>
> implement HTTP which has URIs at
its heart.<br>
<br>
</span>But, to Austins Point, if folks
are going to interact with Pulp either<br>
from the cli or from Go|rust|python
libraries, they will not see the<br>
urls. In your analogy, you would most
likely google cat_pic432642 and<br>
never know the url you are going to.<br>
</blockquote>
</span>
<div><br>
I agree there will be much binding-based
usage, and CLI usage, but there will
always be users who will use httpie with
some bash scripting calls instead. So from
that perspective, the goals remain the
same they have for years; we need to put
forth the best, lowest-complexity REST
API.<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">
<span
class="m_-4971748094304000821m_4138795520150130818HOEnZb"><font
color="#888888"><br>
-- bk<br>
<br>
</font></span></blockquote>
</div>
<br>
</div>
</div>
<br>
</div>
</div>
<span class="">______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank"
moz-do-not-send="true">Pulp-dev@redhat.com</a><br>
<a
href="https://www.redhat.com/mailman/listinfo/pulp-dev"
rel="noreferrer" target="_blank"
moz-do-not-send="true">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
<br>
</span></blockquote>
</div>
<br>
</div>
<br>
______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" moz-do-not-send="true">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Pulp-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/pulp-dev">https://www.redhat.com/mailman/listinfo/pulp-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>