ironic.networking.switch_drivers.driver_factory module

Networking service driver factory for loading switch drivers.

This module provides a driver factory system for the networking service, allowing dynamic loading of switch drivers from external projects via entry points.

class ironic.networking.switch_drivers.driver_factory.BaseSwitchDriverFactory[source]

Bases: BaseDriverFactory

Base factory for discovering, loading and managing switch drivers.

This factory loads switch drivers from entry points and manages their lifecycle. Switch drivers are loaded from external projects and provide vendor-specific implementations for network switch management.

Inherits from common.BaseDriverFactory to ensure consistency with Ironic’s standard driver factory pattern.

class ironic.networking.switch_drivers.driver_factory.SwitchDriverFactory[source]

Bases: BaseSwitchDriverFactory

Factory for loading switch drivers from entry points.

ironic.networking.switch_drivers.driver_factory.get_switch_driver(driver_name)[source]

Get a switch driver instance by name.

Parameters:

driver_name – Name of the switch driver to retrieve.

Returns:

Instance of the switch driver.

Raises:

DriverNotFound if the driver is not found.

ironic.networking.switch_drivers.driver_factory.get_switch_driver_factory()[source]

Get the global switch driver factory instance.

ironic.networking.switch_drivers.driver_factory.list_switch_drivers()[source]

Get a list of all available switch driver names.

Returns:

List of switch driver names.

ironic.networking.switch_drivers.driver_factory.switch_drivers()[source]

Get all switch drivers as a dictionary.

Returns:

Dictionary mapping driver name to driver instance.