neutron_lib.utils.runtime module¶
- class neutron_lib.utils.runtime.NamespacedPlugins(namespace)¶
Bases:
object
Wraps a stevedore plugin namespace to load/access its plugins.
- get_plugin_class(plugin_name)¶
Gets a reference to a loaded plugin’s class.
- Parameters:
plugin_name – The name of the plugin to get the class for.
- Returns:
A reference to the loaded plugin’s class.
- Raises:
KeyError if plugin_name is not loaded.
- property loaded_plugin_names¶
- new_plugin_instance(plugin_name, *args, **kwargs)¶
Create a new instance of a plugin.
- Parameters:
plugin_name – The name of the plugin to instantiate.
args – Any args to pass onto the constructor.
kwargs – Any kwargs to pass onto the constructor.
- Returns:
A new instance of plugin_name.
- Raises:
KeyError if plugin_name is not loaded.
- reload()¶
Force a reload of the plugins for this instances namespace.
- Returns:
None.
- neutron_lib.utils.runtime.list_package_modules(package_name)¶
Get a list of the modules for a given package.
- Parameters:
package_name – The package name to get modules for.
- Returns:
A list of module objects for the said package name.
- neutron_lib.utils.runtime.load_class_by_alias_or_classname(namespace, name)¶
Load a class using stevedore alias or the class name.
- Parameters:
namespace – The namespace where the alias is defined.
name – The alias or class name of the class to be loaded.
- Returns:
Class if it can be loaded.
- Raises:
ImportError – if class cannot be loaded.