<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 30, 2018 at 10:05 AM, David Davis <span dir="ltr"><<a href="mailto:daviddavis@redhat.com" target="_blank">daviddavis@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">So what I’d probably propose is exposing the UUIDs in the response and then extending HyperlinkedRelatedFi<wbr>elds to accept UUID or href. Then third parties like Katello could store and just use UUIDs (and not worry about hrefs).<div><br></div><div>Regarding hrefs though, hostname and port don’t matter. The app just looks at the relative path. It looks like changing the deployment path causes problems though.</div><div class="gmail_extra"><span class="gmail-HOEnZb"><font color="#888888"><br clear="all"></font></span></div></div></blockquote><div>+1. Exposing UUIDs is definitely preferable to using hrefs as ids.  "The app just looks at the relative path"  -> what if pulp wants the flexibility to change repositories end point (highly improbable but you never know).  </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><span class="gmail-HOEnZb"><font color="#888888"><div><div class="gmail-m_4641053373849917469m_-1335252507536294780gmail_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></font></span><div><div class="gmail-h5">
<br><div class="gmail_quote">On Mon, Apr 30, 2018 at 9:58 AM, Justin Sherrill <span dir="ltr"><<a href="mailto:jsherril@redhat.com" target="_blank">jsherril@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF"><span>
    <p><br>
    </p>
    <br>
    <div class="gmail-m_4641053373849917469m_-1335252507536294780m_-4357389800984273450moz-cite-prefix">On 04/27/2018 07:18 PM, David Davis
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">I’m not sure how returning UUIDs in our responses
        helps Katello. In our previous conversation, it was concluded
        that Katello should use the hrefs[0]. Why expose UUIDs if
        Katello is not going to store them?</div>
    </blockquote>
    <br></span>
    And thats fine, but bindings are pointless at that point, so pulp
    shouldn't really advertise them as a feature.   This seemed to have
    been 'talked up' quite a bit as a feature, but is completely
    unusable. <br><span>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Katello could store/use UUIDs but then it's going to run
          into problems when dealing with parameters that are hrefs
          (such as repository_version for publishing[1]).<br>
          <div><br>
          </div>
          <div>[0] <a href="https://www.redhat.com/archives/pulp-dev/2018-January/msg00004.html" target="_blank">https://www.redhat.com/arc<wbr>hives/pulp-dev/2018-January/ms<wbr>g00004.html</a></div>
        </div>
        <div>[1] <a href="https://github.com/pulp/pulp_file/blob/5ffb33d8c70ffbb247aba8bf5b45633eba414b79/pulp_file/app/viewsets.py#L54" target="_blank">https://github.com/pulp/pu<wbr>lp_file/blob/5ffb33d8c70ffbb24<wbr>7aba8bf5b45633eba414b79/pulp_f<wbr>ile/app/viewsets.py#L54</a></div>
      </div>
    </blockquote>
    <br></span>
    Could you explain a bit about this?<br>
    <br>
    In order to use pulp 3 then, i'd guess we would either need to:<br>
    <br>
    1) store ALL hrefs about all objects<br>
    2) fetch an object before we can do anything with it<br>
    <br>
    Or am i missing an option 3?<br>
    <br>
    On a side note, the href's seem to include hostname/port/deployment
    path.  This seems incompatible with things like hostname changes. 
    We can fairly easily just chomp off only the path, but if i were a
    user and had stored all these hrefs, i would be very unhappy if i
    had all the full href's stored.<span class="gmail-m_4641053373849917469m_-1335252507536294780HOEnZb"><font color="#888888"><br>
    <br>
    Justin</font></span><div><div class="gmail-m_4641053373849917469m_-1335252507536294780h5"><br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div class="gmail_extra"><br>
          <div>
            <div class="gmail-m_4641053373849917469m_-1335252507536294780m_-4357389800984273450m_6069296669486595901gmail_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>
          <div class="gmail_quote">On Fri, Apr 27, 2018 at 4:29 PM,
            Dennis Kliban <span dir="ltr"><<a href="mailto:dkliban@redhat.com" target="_blank">dkliban@redhat.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote">
              <div dir="ltr">I can't remember why we decided to remove
                UUID from the responses. It sounds like we should add
                them back. <br>
              </div>
              <div class="gmail-m_4641053373849917469m_-1335252507536294780m_-4357389800984273450m_6069296669486595901HOEnZb">
                <div class="gmail-m_4641053373849917469m_-1335252507536294780m_-4357389800984273450m_6069296669486595901h5">
                  <div class="gmail_extra"><br>
                    <div class="gmail_quote">On Fri, Apr 27, 2018 at
                      12:26 PM, Justin Sherrill <span dir="ltr"><<a href="mailto:jsherril@redhat.com" target="_blank">jsherril@redhat.com</a>></span>
                      wrote:<br>
                      <blockquote class="gmail_quote">Hi All!<br>
                        <br>
                        I started playing around with pulp 3 and
                        generated bindings via <a href="https://pulp.plan.io/issues/3580" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/35<wbr>80</a>
                        and it results somewhat in what you would
                        expect.  Here's an example:<br>
                        <br>
                            # @param id A UUID string identifying this
                        repository.<br>
                            # @param [Hash] opts the optional parameters<br>
                            # @return [Repository]<br>
                            def repositories_read(id, opts = {})<br>
                              data, _status_code, _headers =
                        repositories_read_with_http_in<wbr>fo(id, opts)<br>
                              return data<br>
                            end<br>
                        <br>
                        <br>
                        Notice that the UUID is to be passed in.  When
                        creating a repository, i only get the _href:<br>
                        <br>
                        {<br>
                            "_href": "<a href="http://localhost:8000/pulp/api/v3/repositories/bfc61565-89b1-4b7b-9c4a-2ec91f299aca/" rel="noreferrer" target="_blank">http://localhost:8000/pulp/ap<wbr>i/v3/repositories/bfc61565-89b<wbr>1-4b7b-9c4a-2ec91f299aca/</a>",<br>
                            "_latest_version_href": null,<br>
                            "_versions_href": "<a href="http://localhost:8000/pulp/api/v3/repositories/bfc61565-89b1-4b7b-9c4a-2ec91f299aca/versions/" rel="noreferrer" target="_blank">http://localhost:8000/pulp/ap<wbr>i/v3/repositories/bfc61565-89b<wbr>1-4b7b-9c4a-2ec91f299aca/versi<wbr>ons/</a>",<br>
                            "created": "2018-04-27T15:26:03.546956Z",<br>
                            "description": "",<br>
                            "name": "test",<br>
                            "notes": {}<br>
                        }<br>
                        <br>
                        Meaning, there's really no way to use this
                        specific binding with the return format for
                        pulp.   I imagine most binding generation would
                        be expecting the user to know the ID of the
                        objects and not work off of _hrefs.  Any reason
                        to not include the IDs in the response?<br>
                        <br>
                        Justin<br>
                        <br>
                        ______________________________<wbr>_________________<br>
                        Pulp-dev mailing list<br>
                        <a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
                        <a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
                      </blockquote>
                    </div>
                    <br>
                  </div>
                </div>
              </div>
              <br>
              ______________________________<wbr>_________________<br>
              Pulp-dev mailing list<br>
              <a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
              <a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div></div></div></div>
<br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div></div>