[openstack-dev] disabling deprecated APIs by config?

Sean Dague sean at dague.net
Wed May 18 19:19:15 UTC 2016

On 05/18/2016 11:56 AM, Dean Troyer wrote:
> On Wed, May 18, 2016 at 10:20 AM, Sean Dague <sean at dague.net
> <mailto:sean at dague.net>> wrote:
>     nova-net is now deprecated - https://review.openstack.org/#/c/310539/
> Woot! Now to make it not-the-default in DevStack...

Sean Collins is working on it. :) It is basically the #1 DevStack goal
this cycle.

>     One idea was a "big red switch" in the format of a config option
>     ``disable_deprecated_apis=True`` (defaults to False). Which would set
>     all deprecated APIs to 404 routes.
>     One of the nice ideas here is this would allow some API servers to have
>     this set, and others not. So users could point to the "clean" API
>     server, figure out that they will break, but the default API server
>     would still support these deprecated APIs. Or, conversely, the default
>     could be the clean API server, and a legacy API server endpoint could be
>     provided for projects that really needed it that included these
>     deprecated things for now. Either way it would allow some site assisted
>     transition. And be something like the -Werror flag in gcc.
> With an app-dev/end-user hat on, I really like the idea of there being
> some switch I can control (alternate endpoint or service catalog?
>  account/project toggle? don't know exactly what yet) to do testing with
> the deprecated APIs disabled.
> This is really a problem of migrating/prompting the client developers to
> do the right thing.  Often times they (including myself) respond faster
> to their users and not the upstream projects, so giving the users the
> ability to test and provide feedback would be huge here.
> With my OSC hat on, I need to still support those APIs for a couple of
> years at least, so I would love to have a way to discover that those
> APIs have been disabled without requiring a round trip to get a 404. 
> This seems like a useful thing for the '/' route version information
> when no '/capabilities'-like endpoint is available.

We're working towards capabilities on the Nova side, but because of the
matrix with policy permissions, it's going to still be a couple cycles.
We will get there. It just takes time.


Sean Dague

More information about the OpenStack-dev mailing list