Use stevedore to load drivers

Registered by Brant Knudson on 2015-04-08

Rather than using importutils.import_object() to load drivers, take advantage of stevedore's DriverManager.

Note that if the stevedore import fails, keystone will continue to use importutils.import_object() as a fallback. If the fallback is used, a deprecation warning will be printed. In a future release, the fallback will be removed and only stevedore will be used.

This was discussed on #openstack-keystone irc, see http://eavesdrop.openstack.org/irclogs/%23openstack-keystone/%23openstack-keystone.2015-04-21.log at 2015-04-21T19:00:42 , and approved. No spec required. Summary of feedback is that the change to allow short names and deprecation of old names needs to be in release notes and docs.

Blueprint information

Status:
Complete
Approver:
Brant Knudson
Priority:
Medium
Drafter:
Brant Knudson
Direction:
Approved
Assignee:
Brant Knudson
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon 8.0.0
Started by
Brant Knudson
Completed by
Brant Knudson

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/stevedore,n,z

Addressed by: https://review.openstack.org/166628
    Refactor common function for loading drivers

Addressed by: https://review.openstack.org/166615
    Refactor MemcachedBackend is not a Manager

Addressed by: https://review.openstack.org/166631
    Tests don't override default config with default

Addressed by: https://review.openstack.org/166543
    Use stevedore

Addressed by: https://review.openstack.org/166622
    Use short names for drivers

Addressed by: https://review.openstack.org/171854
    Tests enforce use of stevedore loading

Addressed by: https://review.openstack.org/171860
    Update sample config file

Addressed by: https://review.openstack.org/171906
    Remove support for loading auth plugin by class

Addressed by: https://review.openstack.org/171907
    Use [] where a value is required

Addressed by: https://review.openstack.org/177603
    Remove unnecessary oauth_api check

Addressed by: https://review.openstack.org/177604
    De-duplicate auth methods

Addressed by: https://review.openstack.org/180523
    Use short names for drivers in the warning

Addressed by: https://review.openstack.org/182102
    Use stevedore for auth drivers

Addressed by: https://review.openstack.org/182107
    Default auth plugin

Addressed by: https://review.openstack.org/182137
    Tests don't override default auth methods/plugins

Addressed by: https://review.openstack.org/182138
    Update sample config file

Addressed by: https://review.openstack.org/184913
    Correct tests to set auth methods to a list

Addressed by: https://review.openstack.org/184914
    Test use config_overrides for configs

Addressed by: https://review.openstack.org/184915
    Tests consistently use auth_plugin_config_override

Addressed by: https://review.openstack.org/187004
    Refactor extract function load_auth_method

Addressed by: https://review.openstack.org/194435
    Document entrypoint namespaces

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.