OpenStack's clients and APIs are the first point of contact for users of OpenStack clouds, and the foundation upon which tools can be built. As such, it's time we start focusing on making that a first-class consistent experience.
Simple things like providing consistently named and implemented methods, and consistent sets of features (wherever implementation allows). If I've used one core OpenStack API I should be able to expect the same from another.
Examples of these types of features include:
* Filtering a list of resources on any attribute of the resource. (e.g. GET /servers?security_group=foo)
* Ordering (timestamp, alphabetical, etc.)
* Bulk actions (GET in bulk, DELETE in bulk, etc.)
* Many more...
The goal of this session is to determine a common set of features the community/user-base needs, and make that a contract which every API and client should strive towards.
It is *not* meant to rewrite any existing APIs, or make any backwards-incompatible changes. This is only to agree on our collective future and perhaps look at the easiest initial targets.