<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 10/13/2015 09:22 AM, Clayton O'Neill
      wrote:<br>
    </div>
    <blockquote
cite="mid:CADg-rOV-VKs7iop17sy4HodfuuEaesuNBm46Ggc=Lk5SXcZxwA@mail.gmail.com"
      type="cite">
      <div dir="ltr">I agree that ideally, using a native ruby library
        would be better, but I also share Matt's concern.  We'd need a
        commitment from more than one person to maintain the library if
        we went that route.
        <div><br>
        </div>
        <div>I think the big advantages I see with the ruby client would
          be:</div>
        <div>
          <ul>
            <li>Potentially better performance</li>
          </ul>
        </div>
      </div>
    </blockquote>
    <br>
    But how much, and is it worth the cost, and also worth the cost vs.
    using openstackclient in "persistent" mode.<br>
    <br>
    <blockquote
cite="mid:CADg-rOV-VKs7iop17sy4HodfuuEaesuNBm46Ggc=Lk5SXcZxwA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <ul>
            <li>Faster turn around time for enhancements/bug fixes.  My
              concern here is that we're currently limited by how
              quickly distros pick up new versions of OpenStack Client. 
              <br>
            </li>
          </ul>
        </div>
      </div>
    </blockquote>
    <br>
    IMO this is the biggest problem we have had with using
    openstackclient - being gated by distros, and having to wait months,
    in some cases, to use features supported by the services, which we
    could have used immediately using the API directly.<br>
    <br>
    <blockquote
cite="mid:CADg-rOV-VKs7iop17sy4HodfuuEaesuNBm46Ggc=Lk5SXcZxwA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div><br>
          </div>
        </div>
        <div>I think if we did end up using a ruby library, we'd also
          want to make sure it was not only vendored, but also usable
          independently, to increase the audience.</div>
      </div>
    </blockquote>
    <br>
    . . . and then are we also going to be gated by the distros in the
    same way, waiting for months to get an update to aviator?<br>
    <br>
    <blockquote
cite="mid:CADg-rOV-VKs7iop17sy4HodfuuEaesuNBm46Ggc=Lk5SXcZxwA@mail.gmail.com"
      type="cite">
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Tue, Oct 13, 2015 at 8:16 AM,
          Vladimir Kuklin <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:vkuklin@mirantis.com" target="_blank">vkuklin@mirantis.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">Matt
              <div><br>
              </div>
              <div>Thanks for your input. So, I mentioned the following
                - Fuel guys can contribute into Ruby client for
                OpenStack as we are also interested in making it faster.
                That's why I asked for support in case we invest
                substantial effort (as we do not want to waste our time
                on things that will not land into upstream) and asked if
                the approach that I proposed is OK with you.</div>
            </div>
            <div class="HOEnZb">
              <div class="h5">
                <div class="gmail_extra"><br>
                  <div class="gmail_quote">On Tue, Oct 13, 2015 at 6:07
                    PM, Matt Fischer <span dir="ltr"><<a
                        moz-do-not-send="true"
                        href="mailto:matt@mattfischer.com"
                        target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:matt@mattfischer.com">matt@mattfischer.com</a></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">From a technical point of view, not
                        forking and using a native library makes total
                        sense. I think it would likely be faster and
                        certainly cleaner than parsing output.
                        Unfortunately I don't think that we have the
                        resources to actively maintain the library. I
                        think that's the main blocker for me.</div>
                      <div class="gmail_extra"><br>
                        <div class="gmail_quote">
                          <div>
                            <div>On Tue, Oct 13, 2015 at 7:13 AM,
                              Vladimir Kuklin <span dir="ltr"><<a
                                  moz-do-not-send="true"
                                  href="mailto:vkuklin@mirantis.com"
                                  target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:vkuklin@mirantis.com">vkuklin@mirantis.com</a></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">Puppetmaster and Fuelers,
                                  <div><br>
                                  </div>
                                  <div>Last week I mentioned that I
                                    would like to bring the theme of
                                    using native ruby OpenStack client
                                    and use it within the providers.<br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div>Emilien told me that I had
                                    already been late and the decision
                                    was made that puppet-openstack
                                    decided to not work with Aviator
                                    based on [0]. I went through this
                                    thread and did not find any
                                    unresolvable issues with using
                                    Aviator in comparison with potential
                                    benefits it could have brought up.</div>
                                  <div><br>
                                  </div>
                                  <div>What I saw actually was like
                                    that:</div>
                                  <div><br>
                                  </div>
                                  <div>* Pros</div>
                                  <div><br>
                                  </div>
                                  <div>1) It is a native ruby client</div>
                                  <div>2) We can import it in puppet and
                                    use all the power of Ruby</div>
                                  <div>3) We will not need to have a lot
                                    of forks/execs for puppet </div>
                                  <div>4) You are relying on negotiated
                                    and structured output provided by
                                    API (JSON) instead of introducing
                                    workarounds for client output like
                                    [1]<br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div>* Cons</div>
                                  <div><br>
                                  </div>
                                  <div>1) Aviator is not actively
                                    supported </div>
                                  <div>2) Aviator does not track all the
                                    upstream OpenStack features while
                                    native OpenStack client does support
                                    them</div>
                                  <div>3) Ruby community is not really
                                    interested in OpenStack (this one is
                                    arguable, I think)</div>
                                  <div><br>
                                  </div>
                                  <div>* Proposed solution</div>
                                  <div><br>
                                  </div>
                                  <div>While I completely understand all
                                    the cons against using Aviator right
                                    now, I see that Pros above are
                                    essential enough to change our mind
                                    and invest our own resources into
                                    creating really good OpenStack
                                    binding in Ruby.<br>
                                  </div>
                                  <div>Some are saying that there is not
                                    so big involvement of Ruby into
                                    OpenStack. But we are actually
                                    working with Puppet/Ruby and are
                                    invloved into community. So why
                                    should not we own this by ourselves
                                    and lead by example here?</div>
                                  <div><br>
                                  </div>
                                  <div>I understand that many of you do
                                    already have a lot of things on
                                    their plate and cannot or would not
                                    want to support things like
                                    additional library when native
                                    OpenStack client is working
                                    reasonably well for you. But if I
                                    propose the following scheme to get
                                    support of native Ruby client for
                                    OpenStack:</div>
                                  <div><br>
                                  </div>
                                  <div>1) we (community) have these
                                    resources (speaking of the company I
                                    am working for, we at Mirantis have
                                    a set of guys who could be very
                                    interested in working on Ruby client
                                    for OpenStack)</div>
                                  <div>2) we gradually improve Aviator
                                    code base up to the level that it
                                    eliminates issues that are mentioned
                                    in  'Cons' section</div>
                                  <div>3) we introduce additional set of
                                    providers and allow users and
                                    operators to pick whichever they
                                    want</div>
                                  <div>4) we leave OpenStackClient
                                    default one</div>
                                  <div><br>
                                  </div>
                                  <div>Would you support it and allow
                                    such code to be merged into upstream
                                    puppet-openstack modules?</div>
                                  <div><br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div>[0] <a moz-do-not-send="true"
href="https://groups.google.com/a/puppetlabs.com/forum/#%21searchin/puppet-openstack/aviator$20openstackclient/puppet-openstack/GJwDHNAFVYw/ayN4cdg3EW0J"
                                      target="_blank">https://groups.google.com/a/puppetlabs.com/forum/#!searchin/puppet-openstack/aviator$20openstackclient/puppet-openstack/GJwDHNAFVYw/ayN4cdg3EW0J</a><br
                                      clear="all">
                                    <div>[1] <a moz-do-not-send="true"
href="https://github.com/openstack/puppet-swift/blob/master/lib/puppet/provider/swift_ring_builder.rb#L21-L86"
                                        target="_blank">https://github.com/openstack/puppet-swift/blob/master/lib/puppet/provider/swift_ring_builder.rb#L21-L86</a></div>
                                    -- <br>
                                    <div>
                                      <div dir="ltr">
                                        <div>
                                          <div dir="ltr">Yours
                                            Faithfully,<br>
                                            Vladimir Kuklin,<br>
                                            Fuel Library Tech Lead,<br>
                                            Mirantis, Inc.<br>
                                            <a moz-do-not-send="true"
                                              href="tel:%2B7%20%28495%29%20640-49-04"
                                              value="+74956404904"
                                              target="_blank">+7 (495)
                                              640-49-04</a><br>
                                            <a moz-do-not-send="true"
                                              href="tel:%2B7%20%28926%29%20702-39-68"
                                              value="+79267023968"
                                              target="_blank">+7 (926)
                                              702-39-68</a><br>
                                            Skype kuklinvv<br>
                                            35bk3, Vorontsovskaya Str.<br>
                                            Moscow, Russia,<br>
                                            <a moz-do-not-send="true"
                                              href="http://www.mirantis.ru/"
                                              target="_blank">www.mirantis.com</a><br>
                                            <a moz-do-not-send="true"
                                              href="http://www.mirantis.ru/"
                                              target="_blank">www.mirantis.ru</a><br>
                                            <a moz-do-not-send="true"
                                              href="mailto:vkuklin@mirantis.com"
                                              target="_blank">vkuklin@mirantis.com</a></div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                                <br>
                              </div>
                            </div>
                            <span>__________________________________________________________________________<br>
                              OpenStack Development Mailing List (not
                              for usage questions)<br>
                              Unsubscribe: <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
                                rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
                              <a moz-do-not-send="true"
                                href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
                                rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
                              <br>
                            </span></blockquote>
                        </div>
                        <br>
                      </div>
                      <br>
__________________________________________________________________________<br>
                      OpenStack Development Mailing List (not for usage
                      questions)<br>
                      Unsubscribe: <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
                        rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
                      <a moz-do-not-send="true"
                        href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
                        rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
                      <br>
                    </blockquote>
                  </div>
                  <br>
                  <br clear="all">
                  <div><br>
                  </div>
                  -- <br>
                  <div>
                    <div dir="ltr">
                      <div>
                        <div dir="ltr">Yours Faithfully,<br>
                          Vladimir Kuklin,<br>
                          Fuel Library Tech Lead,<br>
                          Mirantis, Inc.<br>
                          <a moz-do-not-send="true"
                            href="tel:%2B7%20%28495%29%20640-49-04"
                            value="+74956404904" target="_blank">+7
                            (495) 640-49-04</a><br>
                          <a moz-do-not-send="true"
                            href="tel:%2B7%20%28926%29%20702-39-68"
                            value="+79267023968" target="_blank">+7
                            (926) 702-39-68</a><br>
                          Skype kuklinvv<br>
                          35bk3, Vorontsovskaya Str.<br>
                          Moscow, Russia,<br>
                          <a moz-do-not-send="true"
                            href="http://www.mirantis.ru/"
                            target="_blank">www.mirantis.com</a><br>
                          <a moz-do-not-send="true"
                            href="http://www.mirantis.ru/"
                            target="_blank">www.mirantis.ru</a><br>
                          <a moz-do-not-send="true"
                            href="mailto:vkuklin@mirantis.com"
                            target="_blank">vkuklin@mirantis.com</a></div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <br>
__________________________________________________________________________<br>
            OpenStack Development Mailing List (not for usage questions)<br>
            Unsubscribe: <a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
              rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
            <a moz-do-not-send="true"
              href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
              rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>