ironic_inspector.pxe_filter.base
Module¶Base code for PXE boot filtering.
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
()[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()
InvalidFilterDriverState
nothing.
get_periodic_sync_task
()[source]¶Get periodic sync task for the filter.
The periodic task returned is casting the InvalidFilterDriverState to the periodics.NeverAgain exception to quit looping.
periodics.NeverAgain
a periodic task to be run in the background.
init_filter
()[source]¶Base driver initialization logic. Locked.
InvalidFilterDriverState
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.
nothing.
state
¶Current driver state.
ironic_inspector.pxe_filter.base.
Events
[source]¶Bases: object
PXE filter driver transitions.
initialize
= 'initialize'¶reset
= 'reset'¶sync
= 'sync'¶ironic_inspector.pxe_filter.base.
InvalidFilterDriverState
[source]¶Bases: RuntimeError
The fsm of the filter driver raised an error.
ironic_inspector.pxe_filter.base.
NoopFilter
[source]¶Bases: ironic_inspector.pxe_filter.base.BaseFilter
A trivial PXE boot filter.
ironic_inspector.pxe_filter.base.
States
[source]¶Bases: object
PXE filter driver states.
initialized
= 'initialized'¶uninitialized
= 'uninitialized'¶Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.