<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><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.  </li></ul><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><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 13, 2015 at 8:16 AM, Vladimir Kuklin <span dir="ltr"><<a 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 href="mailto:matt@mattfischer.com" target="_blank">matt@mattfischer.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">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 href="mailto:vkuklin@mirantis.com" target="_blank">vkuklin@mirantis.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">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 href="https://groups.google.com/a/puppetlabs.com/forum/#!searchin/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 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 href="tel:%2B7%20%28495%29%20640-49-04" value="+74956404904" target="_blank">+7 (495) 640-49-04</a><br><a 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 href="http://www.mirantis.ru/" target="_blank">www.mirantis.com</a><br><a href="http://www.mirantis.ru/" target="_blank">www.mirantis.ru</a><br><a 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 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 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 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 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 href="tel:%2B7%20%28495%29%20640-49-04" value="+74956404904" target="_blank">+7 (495) 640-49-04</a><br><a 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 href="http://www.mirantis.ru/" target="_blank">www.mirantis.com</a><br><a href="http://www.mirantis.ru/" target="_blank">www.mirantis.ru</a><br><a 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 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 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>