RFE: Better expose public interfaces

Bug #1816163 reported by Lance Bragstad
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Won't Fix
Wishlist
Unassigned

Bug Description

(The original blueprint was written by Jamie Lennox)

We have gone through the process of adding and then removing versioned driver interfaces which intended to give stable interfaces to implementers of drivers. The rationale behind removing it was that it was too much work (that went largely untested) to translate between interfaces. We decided instead that release notes and documentation could be used to communicate how to update drivers.

I think part of the problem here is that we do not define what is and what is not a public interface that an implementer can use and so they implement things they shouldn't, and we don't correctly deprecate features we should.

I propose that we add a new directory/module to keystone in keystone/lib. keystone-lib is a listing of the _only_ things external code should rely upon in keystone. Everything in this module will undergo the standard 2 cycle deprecation period with warnings etc. We can then evolve drivers, models and other things in a library-like manner.

This will provide clear signals to users and to keystone developers what is and is not required to be deprecated and maintained.

Tags: rfe
Changed in keystone:
status: New → Triaged
importance: Undecided → Wishlist
tags: added: rfe
Revision history for this message
Colleen Murphy (krinkle) wrote :

We used to have versioned driver interfaces at one point, it was too cumbersome to maintain. We try to support driver writers as best we can by being extremely strict about documenting changes to the public interfaces in release notes. Closing this as won't fix, feel free to reopen if you think this should be revisited.

Changed in keystone:
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.