yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #77029
[Bug 1816163] [NEW] RFE: Better expose public interfaces
Public bug reported:
(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.
** Affects: keystone
Importance: Wishlist
Status: Triaged
** Changed in: keystone
Status: New => Triaged
** Changed in: keystone
Importance: Undecided => Wishlist
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1816163
Title:
RFE: Better expose public interfaces
Status in OpenStack Identity (keystone):
Triaged
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1816163/+subscriptions
Follow ups