A lib module that has deprecation commitments

Registered by Jamie Lennox

We have recently 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 reno and docs 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.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Jamie Lennox
Direction:
Needs approval
Assignee:
Jamie Lennox
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Lance Bragstad

Related branches

Sprints

Whiteboard

(stevemar july 2016) mark as obsolete based on midcycle outcome?

(lbragstad) 19-02-13: I can't find any remnants of this topic from the Newton midcycle meetup [0]. However, I do see the value in what Jamie is proposing and I think it would be useful to carry forward in some capacity, either as documentation or a module dedicated to public interfaces.

[0] https://etherpad.openstack.org/p/keystone-mitaka-midcycle

(lbragstad) 19-02-15: I'm marking this as superseded based on the plan socialized on the mailing list [0]. All relevant content from this blueprint has been ported to an RFE bug report [1].

[0] http://lists.openstack.org/pipermail/openstack-discuss/2019-February/002672.html
[1] https://bugs.launchpad.net/keystone/+bug/1816163

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.