ExtrasΒΆ

The extensibility of keystoneauth plugins is purposefully designed to allow a range of different authentication mechanisms that don’t have to reside in the upstream packages. There are however a number of plugins that upstream supports that involve additional dependencies that the keystoneauth package cannot depend upon directly.

To get around this we utilize setuptools extras dependencies for additional plugins. To use a plugin like the kerberos plugin that has additional dependencies you must install the additional dependencies like:

pip install keystoneauth1[kerberos]

By convention (not a requirement) extra plugins have a module located in the keystoneauth1.extras module with the same name as the dependency. eg:

$ from keystoneauth1.extras import kerberos

There is no keystoneauth specific check that the correct dependencies are installed for accessing a module. You would expect to see standard python ImportError when the required dependencies are not found.

Previous topic

Authentication Plugins

Next topic

Migrating from keystoneclient

Project Source

This Page