path: root/doc/source
diff options
authorMorgan Fainberg <>2017-12-04 15:49:48 -0800
committerMorgan Fainberg <>2017-12-13 10:59:39 -0800
commit81f9fe6fed62ec629804c9367fbb9ebfd584388c (patch)
tree067c8b66acf1870353697612b4c0315b5f2d18bf /doc/source
parent3cc3986a89723c483ee55d6c383b54cb973336f2 (diff)
Remove Dependency InjectionHEADmaster
Refactors all of keystone's dependency injection to maintain a single centralized repository of instantiated objects. This means that we are no longer having to resolve order. All objects that need to reference the various manager APIs simply do so via the __getattr__ built into the Manager common object or the ProviderAPIMixin object. This is also the first step towards correcting our tests to where they cannot run "load_backends" multiple times. This forces any/all managers to properly run super() as the way to register the api is via __init__. This eliminates all use of the @dependency.requires and @dependency.provides decorators, simplifying the objects all around. Any instantiations of a Manager after keystone is running will now generate an error, ensuring everything for keystone is running before handling requests. An exception is for CLI and CLI tests, as the CLI may directly instantiate managers and will not lock the registry. Change-Id: I4ba17855efd797c0db9f4824936b49e4bff54b6a
Notes (review): Code-Review+2: Lance Bragstad <> Code-Review+2: ayoung <> Workflow+1: ayoung <> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Fri, 15 Dec 2017 02:33:16 +0000 Reviewed-on: Project: openstack/keystone Branch: refs/heads/master
Diffstat (limited to 'doc/source')
0 files changed, 0 insertions, 0 deletions