<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Ok, I think most of the reasoning you’ve said makes sense. So for a non-incubated project we’re going to have separate clients and then get them integrated into this single client once the project itself gets incubated? Or it’s going to happen when the project gets integrated into core os projects? So if yes, it’s just going to be one more incubation/integration requirement, right?<div><br></div><div>Renat<br>
<br><div><div>On 16 Jan 2014, at 18:09, Donald Stufft <<a href="mailto:donald@stufft.io">donald@stufft.io</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div><br class="Apple-interchange-newline">On Jan 16, 2014, at 8:42 PM, Jesse Noller <<a href="mailto:jesse.noller@RACKSPACE.COM">jesse.noller@RACKSPACE.COM</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="auto"><div><br></div><div><br>On Jan 16, 2014, at 4:59 PM, "Renat Akhmerov" <<a href="mailto:rakhmerov@mirantis.com">rakhmerov@mirantis.com</a>> wrote:<br><br></div><blockquote type="cite">On 16 Jan 2014, at 13:06, Jesse Noller <<a href="mailto:jesse.noller@RACKSPACE.COM">jesse.noller@RACKSPACE.COM</a>> wrote:<br><div><br><blockquote type="cite"><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Since it’s pretty easy to get lost among all the opinions I’d like to clarify/ask a couple of things:</div><div><br></div><div><ul class="MailOutline"><li>Keeping all the clients physically separate/combining them in to a single library. Two things here:<ul><li>In case of combining them, what exact project are we considering? If this list is limited to core projects like nova and keystone what policy could we have for other projects to join this list? (Incubation, graduation, something else?)</li><li>In terms of granularity and easiness of development I’m for keeping them separate but have them use the same boilerplate code, basically we need a OpenStack Rest Client Framework which is flexible enough to address all the needs in an abstract domain agnostic manner. I would assume that combining them would be an additional organizational burden that every stakeholder would have to deal with.</li></ul></li></ul></div></div></blockquote><div><br></div><div><span class="Apple-tab-span" style="white-space: pre;"></span>Keeping them separate is awesome for *us* but really, really, really sucks for users trying to use the system. </div></div></blockquote></div><br><div>You may be right but not sure that adding another line into requirements.txt is a huge loss of usability.</div><div><br></div></blockquote><div><br></div><div>It is when that 1 dependency pulls in 6 others that pull in 10 more - every little barrier or potential failure from the inability to make a static binary to how each tool acts different is a paper cut of frustration to an end user.</div><div><br></div><div>Most of the time the clients don't even properly install because of dependencies on setuptools plugins and other things. For developers (as I've said) the story is worse: you have potentially 22+ individual packages and their dependencies to deal with if they want to use a complete openstack install from their code.</div><div><br></div><div>So it doesn't boil down to just 1 dependency: it's a long laundry list of things that make consumers' lives more difficult and painful.</div><div><br></div><div>This doesn't even touch on the fact there aren't blessed SDKs or tools pointing users to consume openstack in their preferred programming language.</div><div><br></div><div>Shipping an API isn't enough - but it can be fixed easily enough.</div></div></blockquote><div><br></div><div>There’s also the discovery problem, it’s incredibly frustrating if, as I’m starting out to use an Openstack based cloud, everytime I want to touch some new segment of the service I need to go find out what the client lib is for that, possibly download the dependencies for it, possibly get it approved, etc. </div><div><br></div><div>Splitting up services makes a lot of sense on the server side, but to the consumer a cloud often times isn’t a disjoint set of services that happen to be working in parallel, it is a single unified product where they may not know the boundary lines, or at the very least the boundaries can be fuzzy for them.</div><br><blockquote type="cite"><div dir="auto"><br><blockquote type="cite">Renat Akhmerov</blockquote><blockquote type="cite"><span>_______________________________________________</span><br><span>OpenStack-dev mailing list</span><br><span><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a></span><br><span><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></span><br></blockquote></div>_______________________________________________<br>OpenStack-dev mailing list<br><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br></blockquote></div><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>-----------------<br>Donald Stufft<br>PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA</div><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">OpenStack-dev mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="mailto:OpenStack-dev@lists.openstack.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">OpenStack-dev@lists.openstack.org</a><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></blockquote></div><br></div></body></html>