<div dir="ltr"><div>>It is when most openstack clouds don’t just run keystone. Or nova, or
swift. Or when each client acts, smells and behaves differently. It
matters a LOT when you’re trying to write applications on top of a
mature openstack deployment.<br></div><br>I still don't understand the problem here. Installed packages usually just lie quietly on your disk (which size is now measured in terabytes) and they don't act or stink unless you ask them to. I'm pretty sure that most of the people are not aware of ALL packages installed in their distribution and few packages that are not used won't make it any worse<br>
<br><div><br>
</div>
<div>>I have actual experience here as a person running a cloud and
supporting end-users & developers: the overwhelming customer
feedback (paid and unpaid (exploratory users)) is that the 22+ clients
are confusing, difficult to use, prone to error. There are
two ways of resolving this if you’re in my shoes - or in a role where
the primary focus is not openstack developers or builders; the first is
you coordinate work focusing on developer & end user experience
upstream, working with openstack and the teams to
come up with something that benefits everyone, or, you fork, and build
the openstack equivalent to boto / awscli so you can provide a unified
“one obvious way to consume openstack clouds”.<br><br></div><div>I agree that many clients can be confusing however I think that actuall problem here is not the clients number but discrepancies in client parameters naming and missing/unclear help.<br>
</div><div>In our work of clients refactoring I will also update bash completition that we have for our clients. So when you use nova start-server you will see options applicable to this command etc.<br><br></div><div>For the unified client we can make a nice commands hierarhcy and I don't think it will be confusing to users for example:<br>
<br></div><div>$ openstack help<br></div><div>nova cloud computing fabric controller</div><div>glance discovering, registering,
retrieving and storing virtual machine images</div><div>cinder<br>...<br></div><div>22 records<br><br></div><div>$ openstack help nova<br>OpenStack Nova provides a cloud computing fabric controller,
supporting a wide variety of virtualization technologies,
including KVM, Xen, LXC, VMware, and more. In addition to
its native API, it includes compatibility with the commonly
encountered Amazon EC2 and S3 APIs.<br><br></div><div>start-server<br>...<br><br></div><div>With proper bash completition it should be quite easy to use.<br></div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014/1/21 Jesse Noller <span dir="ltr"><<a href="mailto:jesse.noller@rackspace.com" target="_blank">jesse.noller@rackspace.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">
<br>
<div><div class="im">
<div>On Jan 21, 2014, at 12:19 PM, Alexei Kornienko <<a href="mailto:alexei.kornienko@gmail.com" target="_blank">alexei.kornienko@gmail.com</a>> wrote:</div>
<br>
<blockquote type="cite">
<div dir="ltr">Hello,<br>
<div><br>
I would like to end this requirements talk cause it doesn't make any sense in term of python clients.<br>
</div>
<div>Initially the discussion was about "many clients projects with separate requirements" VS "single client project with single requirements list".<br>
<br>
</div>
</div>
</blockquote>
<div><br>
</div>
</div><div>Then I suspect we’re at an impasse; I do plan on proceeding with a new wiki page and blueprint for a unified client, SDK (backend) for end users. I for one do not think things are as clear cut as you make them - and the +1s to the unified client thoughts
clearly express the discontent with the current structure & packaging.</div><div class="im">
<br>
<blockquote type="cite">
<div dir="ltr">
<div>At that moment we should have stop and actually open requirements lists for python clients.
<br>
Basically all clients have the same requirement (cause they all do the same stuff - sending HTTP requests K.O.)<br>
</div>
<div>There is absolutely no difference in the situation of many clients vs single client.<br>
<br>
</div>
<div>Answering another question about "user only needs X (keystone) and we install package with clients for all openstack services":<br>
</div>
<div>Size of keystone client (and any other client I suppose) is ~300Kb I don't think that it's a big difference for the user to install package that is ~300Kb or ~10Mb (unless we are using openstack from Android).<br>
</div>
</div>
</blockquote>
<div><br>
</div>
</div><div>It is when most openstack clouds don’t just run keystone. Or nova, or swift. Or when each client acts, smells and behaves differently. It matters a LOT when you’re trying to write applications on top of a mature openstack deployment.</div>
<div class="im">
<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>From the user perspective I think it's much easier to use client with "everything included" rather than try to google for client package for some rarely used service.<br>
<br>
</div>
</div>
</blockquote>
<div><br>
</div>
</div><div>I have actual experience here as a person running a cloud and supporting end-users & developers: the overwhelming customer feedback (paid and unpaid (exploratory users)) is that the 22+ clients are confusing, difficult to use, prone to error. There are
two ways of resolving this if you’re in my shoes - or in a role where the primary focus is not openstack developers or builders; the first is you coordinate work focusing on developer & end user experience upstream, working with openstack and the teams to
come up with something that benefits everyone, or, you fork, and build the openstack equivalent to boto / awscli so you can provide a unified “one obvious way to consume openstack clouds”.</div><span class="HOEnZb"><font color="#888888">
<div><br>
</div>
<div>jesse</div></font></span><div><div class="h5">
<br>
<blockquote type="cite">
<div dir="ltr">
<div>Regards,<br>
Alexei<br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014/1/21 Sean Dague <span dir="ltr"><<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>On 01/21/2014 11:54 AM, Renat Akhmerov wrote:<br>
><br>
> On 17 Jan 2014, at 22:00, Jamie Lennox <<a href="mailto:jamielennox@redhat.com" target="_blank">jamielennox@redhat.com</a><br>
</div>
<div>> <mailto:<a href="mailto:jamielennox@redhat.com" target="_blank">jamielennox@redhat.com</a>>> wrote:<br>
><br>
>> (I don't buy the problem with large amounts of dependencies, if you<br>
>> have a meta-package you just have one line in requirements and pip<br>
>> will figure the rest out.)<br>
><br>
> +1<br>
><br>
> Renat Akhmerov<br>
> @ Mirantis Inc.<br>
<br>
</div>
Man, where were you then when we had to spend 3 weeks unwinding global<br>
requirements in the gate because pip was figuring it out all kinds of<br>
wrong, and we'd do things like uninstall and reinstall<br>
python-keystoneclient 6 times during an install. Because after that<br>
experience, I'm very anti "pip will figure the rest out".<br>
<br>
Because it won't, not in python, where we're talking about libraries<br>
that are in the global namespace, where python can only have 1 version<br>
of a dependency installed.<br>
<br>
If the the solution is every openstack project should install a venv for<br>
all it's dependencies to get around this issue, then we're talking a<br>
different problem (and a different architecture from what we've been<br>
trying to do). But I find the idea of having 12 copies of<br>
python-keystone client installed on my openstack environment to be<br>
distasteful.<br>
<br>
So come spend a month working on requirements updates in OpenStack<br>
gate... and if you still believe "pip will figure it out", well you are<br>
a braver man than I. :)<br>
<div>
<div><br>
-Sean<br>
<br>
--<br>
Sean Dague<br>
Samsung Research America<br>
<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</a> / <a href="mailto:sean.dague@samsung.com" target="_blank">
sean.dague@samsung.com</a><br>
<a href="http://dague.net/" target="_blank">http://dague.net</a><br>
<br>
</div>
</div>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote>
</div></div></div>
<br>
</div>
<br>_______________________________________________<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" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>