<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 07/09/2018 09:34 PM, David Davis
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAHa=2WmME5baPzaKJ_SCCtPUimZhh1XPSaPxpb9d6szqVZPE8g@mail.gmail.com">The
      Pulp 3 CLI relies on the id field as it provides a an immutable
      way for users to identify objects without using hrefs which
      wouldn’t make sense in a CLI. So I think we’re keeping the id
      field. 
      <div><br>
      </div>
      <div>That said, I don’t see how it helps Katello unless Katello
        stores and uses the id field to identify objects instead of
        hrefs?<br>
      </div>
    </blockquote>
    Right, that's exactly what we would do.<br>
    <br>
    <blockquote type="cite"
cite="mid:CAHa=2WmME5baPzaKJ_SCCtPUimZhh1XPSaPxpb9d6szqVZPE8g@mail.gmail.com">
      <div><br>
        On Monday, July 9, 2018, Justin Sherrill <<a
          href="mailto:jsherril@redhat.com" moz-do-not-send="true">jsherril@redhat.com</a>>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div 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 href="https://pulp.plan.io/issues/3843"
                target="_blank" moz-do-not-send="true">https://pulp.plan.io/issues/<wbr>3843</a><br>
            </p>
            <br>
            <div>On 05/17/2018 06:26 PM, Dennis Kliban wrote:<br>
            </div>
            <blockquote type="cite">
              <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
                  href="http://localhost:8000/api/v3/docs/api.json"
                  target="_blank" moz-do-not-send="true">http://localhost:8000/api/v3/<wbr>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"
                  target="_blank" moz-do-not-send="true">https://github.com/dkliban/<wbr>swagger-codegen/commit/<wbr>e31e96769864b73b06bd99f5e20e47<wbr>20562539b9</a><br>
                [1] <a
href="https://repos.fedorapeople.org/pulp/pulp/swagger/swagger-codegen-cli.jar"
                  target="_blank" moz-do-not-send="true">https://repos.fedorapeople.<wbr>org/pulp/pulp/swagger/swagger-<wbr>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/36<wbr>36</a><span><font
                            color="#888888"><br>
                          </font></span></div>
                    </div>
                    <div class="gmail_extra"><span><font color="#888888"><br
                            clear="all">
                          <div>
                            <div 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>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>
                              <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><font
                                          color="#888888"><br>
                                          -- bk<br>
                                          <br>
                                        </font></span></blockquote>
                                  </div>
                                  <br>
                                </div>
                              </div>
                              <br>
                            </div>
                          </div>
                          <span>______________________________<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" 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>
                  </blockquote>
                </div>
                <br>
              </div>
              <br>
              <fieldset></fieldset>
              <br>
              <pre>______________________________<wbr>_________________
Pulp-dev mailing list
<a href="mailto:Pulp-dev@redhat.com" target="_blank" moz-do-not-send="true">Pulp-dev@redhat.com</a>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" target="_blank" moz-do-not-send="true">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a>
</pre>
            </blockquote>
            <br>
          </div>
        </blockquote>
      </div>
      <br>
      <br>
      -- <br>
      <div dir="ltr">
        <div>
          <div dir="ltr">
            <div>
              <div dir="ltr">
                <div><br>
                </div>
                <div>David<br>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>