keystoneclient needs a consistent way to notify applications that deprecated behavior is being used.
keystoneclient doesn’t advertise deprecations consistently. All these techniques are used:
When things aren’t deprecated properly they’re not really deprecated. A comment in the code isn’t going to be visible to developers. Developers can’t be expected to read the code to figure out what’s deprecated.
keystoneclient will use a consistent way to advertise deprecations. The proposed way is to use oslo’s debtcollector. For example, when a deprecated function is going to be removed, use debtcollector.removals.remove.
debtcollector.removals.remove(message="description")
The existing deprecations, comment deprecations, etc., will be changed to use debtcollector.
Use python’s regular warnings module. debtcollector provides more consistent messaging.
By deprecating things properly we’ll be able to remove the code and have less code to maintain with potential security problems.
None.
Depending on how the application has configured debtcollector already, they may see the application fail, print errors, etc.
None.
None.
Developers will use debtcollector for deprecations rather than warnings, logs, etc.
None.
The keystoneclient documentation will be changed to say that the library uses debtcollector for deprecations.