[openstack-dev] [all] Proposal for having a service type registry and curated OpenStack REST API (was: [all] the trouble with names)
Jay Pipes
jaypipes at gmail.com
Sun Feb 7 13:30:19 UTC 2016
On 02/04/2016 06:38 AM, Sean Dague wrote:
> What options do we have?
<snip>
> 2) Have a registry of "common" names.
>
> Upside, we can safely use common names everywhere and not fear collision
> down the road.
>
> Downside, yet another contention point.
>
> A registry would clearly be under TC administration, though all the
> heavy lifting might be handed over to the API working group. I still
> imagine collision around some areas might be contentious.
The above is my choice. I'd also like to point out that I'm only talking
about the *service* projects here -- i.e. the things that expose a REST API.
I don't care about a naming registry for non-service projects because
they do not expose a public user-facing API that needs to be curated and
protected.
I would further suggest using the openstack/governance repo's
projects.yaml file for this registry. This is already under the TC's
administration and the API WG could be asked to work closely with the TC
to make recommendations on naming for all type:service projects in the
file. We should add a service:$type tag to the projects.yaml file and
that would serve as the registry for REST API services.
We would need to institute this system by first tackling the current
areas of REST API functional overlap:
* Ceilometer and Monasca are both type:service projects that are both
performing telemetry functionality in their REST APIs. The API WG should
work with both communities to come up with a 6-12 month plan for
creating a *single* OpenStack Telemetry REST API that both communities
would be able to implement separately as they see fit.
* All APIs that the OpenStack Compute API currently proxies to other
service endpoints need to have a formal sunsetting plan. This includes:
- servers/{server_id}/os-interface (port interfaces)
- images/
- images/{image_id}/metadata
- os-assisted-volume-snapshots/
- servers/{server_id}/os-bare-metal-nodes/ (BTW, why is this a
sub-resource of /servers again?)
- os-fixed-ips/
- os-floating-ip-dns/
- os-floating-ip-pools/
- os-floating-ips/
- os-floating-ips-bulk/
- os-networks/
- os-security-groups/
- os-security-group-rules/
- os-security-group-default-rules/
- os-tenant-networks/
- os-volumes/
- os-snapshots/
* All those services that have overlapping top-level resources must have
a plan to either:
- align/consolidate the top-level resource if it makes sense
- rename the top-level resource to be more specific if needed, or
- place the top-level resource as a sub-resource on a top-level
resource that is unique in the full OpenStack REST API set of top-level
resources
Best,
-jay
More information about the OpenStack-dev
mailing list