The ironic_inspector.utils
Module¶
-
exception
ironic_inspector.utils.
Error
(msg, code=400, log_level='error', **kwargs)[source]¶ Bases:
exceptions.Exception
Inspector exception.
-
exception
ironic_inspector.utils.
IntrospectionDataNotFound
(msg, code=404, **kwargs)[source]¶ Bases:
ironic_inspector.utils.NotFoundInCacheError
Introspection data not found.
-
exception
ironic_inspector.utils.
IntrospectionDataStoreDisabled
(msg, code=400, log_level='error', **kwargs)[source]¶ Bases:
ironic_inspector.utils.Error
Introspection data store is disabled.
-
exception
ironic_inspector.utils.
NodeStateInvalidEvent
(msg, code=400, log_level='error', **kwargs)[source]¶ Bases:
ironic_inspector.utils.Error
Invalid event attempted.
-
exception
ironic_inspector.utils.
NodeStateRaceCondition
(*args, **kwargs)[source]¶ Bases:
ironic_inspector.utils.Error
State mismatch between the DB and a node_info.
-
exception
ironic_inspector.utils.
NotFoundInCacheError
(msg, code=404, **kwargs)[source]¶ Bases:
ironic_inspector.utils.Error
Exception when node was not found in cache during processing.
-
class
ironic_inspector.utils.
ProcessingLoggerAdapter
(logger, extra)[source]¶ Bases:
oslo_log.log.KeywordArgumentAdapter
-
process
(msg, kwargs)[source]¶ Process the logging message and keyword arguments passed in to a logging call to insert contextual information. You can either manipulate the message itself, the keyword args or both. Return the message and kwargs modified (or not) to suit your needs.
Normally, you’ll only need to override this one method in a LoggerAdapter subclass for your specific needs.
-
-
ironic_inspector.utils.
add_auth_middleware
(app)[source]¶ Add authentication middleware to Flask application.
Parameters: app – application.
-
ironic_inspector.utils.
add_cors_middleware
(app)[source]¶ Create a CORS wrapper
Attach ironic-inspector-specific defaults that must be included in all CORS responses.
Parameters: app – application
-
ironic_inspector.utils.
check_auth
(request, rule=None, target=None)[source]¶ Check authentication on request.
Parameters: - request – Flask request
- rule – policy rule to check the request against
Raises: utils.Error if access is denied
-
ironic_inspector.utils.
get_inventory
(data, node_info=None)[source]¶ Get and validate the hardware inventory from introspection data.
-
ironic_inspector.utils.
get_valid_macs
(data)[source]¶ Get a list of valid MAC’s from the introspection data.
-
ironic_inspector.utils.
iso_timestamp
(timestamp=None, tz=<UTC>)[source]¶ Return an ISO8601-formatted timestamp (tz: UTC) or None.
Parameters: - timestamp – such as time.time() or None
- tz – timezone
Returns: an ISO8601-formatted timestamp, or None
-
ironic_inspector.utils.
processing_logger_prefix
(data=None, node_info=None)[source]¶ Calculate prefix for logging.
Tries to use: * node UUID, node._state * node PXE MAC, * node BMC address
Parameters: - data – introspection data
- node_info – NodeInfo or ironic node object
Returns: logging prefix as a string