[openstack-dev] usability anti-pattern

Solly Ross sross at redhat.com
Mon Sep 22 19:01:50 UTC 2014


Monty, your messages are always super-entertaining to read.
They also generally have very good points, which is an added bonus :-P

----- Original Message -----
> From: "Monty Taylor" <mordred at inaugust.com>
> To: "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
> Sent: Friday, September 19, 2014 9:52:46 PM
> Subject: [openstack-dev] usability anti-pattern
> 
> Hey,
> 
> Not to name names, but some of our client libs do this:
> 
>   client.Client(API_VERSION, os_username, ... )
> 
> I'm pretty sure they got the idea from python-glanceclient, so I blame
> Brian Waldon, since he left us for CoreOS.
> 
> PLEASE STOP DOING THIS - IT CAUSES BABIES TO CRY. MORE.
> 
> As a developer, I have no way of knowing what to put here. Also, imagine
> I'm writing a script that wants to talk to more than one cloud to do
> things - like, say, nodepool for Infra, or an ansible openstack
> inventory module. NOW WHAT? What do I put??? How do I discover that?
> 
> Let me make a suggestion...
> 
> Default it to something. Make it an optional parameter for experts. THEN
> - when the client lib talks to keystone, check the service catalog for
> the API version.
> 
> What's this you say? Sometimes your service doesn't expose a version in
> the keystone catalog?
> 
> PLEASE STOP DOING THIS - IT CAUSES DOLPHINS TO WEEP
> 
> If you have versioned APIs, put the version in keystone. Because
> otherwise, as "as a developer" have absolutely zero way to figure it out.
> 
> Well, except for the algorithm jeblair suggested: "just start with 11
> and count backwards until a number works"
> 
> This message brought to you by frustrated humans trying to use the cloud.
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 



More information about the OpenStack-dev mailing list