[openstack-dev] [All][Keystone] Deprecation of the v2 API

Russell Bryant rbryant at redhat.com
Tue Mar 25 22:50:20 UTC 2014

We discussed the deprecation of the v2 keystone API in the cross-project
meeting today [1].  This thread is to recap and bring that discussion to
some consensus.

The issue is that Keystone has marked the v2 API as deprecated in Icehouse:


If you use the API, deployments will get this in their logs:

WARNING keystone.openstack.common.versionutils [-] Deprecated: v2 API is
deprecated as of Icehouse in favor of v3 API and may be removed in K.

The deprecation status is reflected in the API for end users, as well.
For example, from the CLI:

  $ keystone discover
  Keystone found at
    - supports version v2.0 (deprecated) here

My proposal is that this deprecation be reverted.  Here's why:

First, it seems there isn't a common use of "deprecated".  To me,
marking something deprecated means that the deprecated feature:

 - has been completely replaced by something else

 - end users / deployers should take action to migrate to the
   new thing immediately.

 - The project has provided a documented migration path

 - the old thing will be removed at a specific date/release

The problem with the above is that most OpenStack projects do not
support the v3 API yet.

>From talking to Dolph in the meeting, it sounds like the intention is:

 - fully support v2, just don't add features

 - signal to other projects that they should be migrating to v3

Given that intention, I believe the proper thing to do is to actually
leave the API marked as fully supported / stable.  Keystone should be
working with other OpenStack projects to migrate them to v3.  Once that
is complete, deprecation can be re-visited.

In summary, until we have completed v3 support within OpenStack itself,
it's premature to mark the API deprecated since that's a signal to end
users and deployers that says action is required.



Russell Bryant

More information about the OpenStack-dev mailing list