The ironic_inspector.pxe_filter.base Module

Base code for PXE boot filtering.

class ironic_inspector.pxe_filter.base.BaseFilter[source]

Bases: ironic_inspector.pxe_filter.interface.FilterDriver

The generic PXE boot filtering interface implementation.

This driver doesn’t do anything but provides a basic synchronization and initialization logic for some drivers to reuse. Subclasses have to provide a custom sync() method.

fsm = <automaton.machines.FiniteMachine object>
fsm_reset_on_error(*args, **kwds)[source]

Reset the filter driver upon generic exception.

The context is self.fsm. The automaton.exceptions.NotFound error is cast to the InvalidFilterDriverState error. Other exceptions trigger self.reset()

Raises:InvalidFilterDriverState
Returns:nothing.
get_periodic_sync_task()[source]

Get periodic sync task for the filter.

Returns:a periodic task to be run in the background.
init_filter(*args, **kwargs)[source]

Base driver initialization logic. Locked.

Raises:InvalidFilterDriverState
Returns:nothing.
reset()[source]

Reset internal driver state.

This method is called by the fsm_context manager upon exception as well as by the tear_down_filter method. A subclass might wish to override as necessary, though must not lock the driver. The overriding subclass should up-call.

Returns:nothing.
state

Current driver state.

sync(*args, **kwargs)[source]

Base driver sync logic. Locked.

Parameters:ironic – obligatory ironic client instance
Returns:nothing.
tear_down_filter()[source]

Base driver tear down logic. Locked.

Returns:nothing.
class ironic_inspector.pxe_filter.base.Events[source]

Bases: object

PXE filter driver transitions.

initialize = ‘initialize’
reset = ‘reset’
sync = ‘sync’
exception ironic_inspector.pxe_filter.base.InvalidFilterDriverState[source]

Bases: exceptions.RuntimeError

The fsm of the filter driver raised an error.

class ironic_inspector.pxe_filter.base.NoopFilter[source]

Bases: ironic_inspector.pxe_filter.base.BaseFilter

A trivial PXE boot filter.

class ironic_inspector.pxe_filter.base.States[source]

Bases: object

PXE filter driver states.

initialized = ‘initialized’
uninitialized = ‘uninitialized’
ironic_inspector.pxe_filter.base.driver()[source]

Get the driver for the PXE filter.

Returns:the singleton PXE filter driver object.
ironic_inspector.pxe_filter.base.locked_driver_event(event)[source]

Call driver method having processed the fsm event.