neutron_lib.utils.runtime 模块

class neutron_lib.utils.runtime.NamespacedPlugins(namespace)

基类: object

封装一个 stevedore 插件命名空间,用于加载/访问其插件。

get_plugin_class(plugin_name)

获取已加载插件的类引用。

参数:

plugin_name – 获取类名的插件名称。

返回值:

已加载插件的类引用。

引发:

KeyError 如果插件名称未加载。

property loaded_plugin_names
new_plugin_instance(plugin_name, *args, **kwargs)

创建一个插件的新实例。

参数:
  • plugin_name – 要实例化的插件名称。

  • args – 传递给构造函数的任何参数。

  • kwargs – 传递给构造函数的任何关键字参数。

返回值:

plugin_name 的新实例。

引发:

KeyError 如果插件名称未加载。

reload()

强制重新加载此实例命名空间的插件。

返回值:

None。

neutron_lib.utils.runtime.list_package_modules(package_name)

获取给定包的模块列表。

参数:

package_name – 获取模块的包名称。

返回值:

所述包名称的模块对象列表。

neutron_lib.utils.runtime.load_class_by_alias_or_classname(namespace, name)

使用 stevedore 别名或类名加载类。

参数:
  • namespace – 定义别名的命名空间。

  • name – 要加载的类的别名或类名。

返回值:

如果可以加载,则返回类。

引发:

ImportError – 如果无法加载类。