The ironic_inspector.rules
Module¶
Support for introspection rules.
-
class
ironic_inspector.rules.
IntrospectionRule
(uuid, conditions, actions, description)[source]¶ Bases:
object
High-level class representing an introspection rule.
-
apply_actions
(node_info, rollback=False, data=None)[source]¶ Run actions on a node.
Parameters: - node_info – NodeInfo instance
- rollback – if True, rollback actions are executed
- data – introspection data
-
check_conditions
(node_info, data)[source]¶ Check if conditions are true for a given node.
Parameters: - node_info – a NodeInfo object
- data – introspection data
Returns: True if conditions match, otherwise False
-
description
¶
-
-
ironic_inspector.rules.
create
(conditions_json, actions_json, uuid=None, description=None)[source]¶ Create a new rule in database.
Parameters: - conditions_json – list of dicts with the following keys: * op - operator * field - JSON path to field to compare Other keys are stored as is.
- actions_json – list of dicts with the following keys: * action - action type Other keys are stored as is.
- uuid – rule UUID, will be generated if empty
- description – human-readable rule description
Returns: new IntrospectionRule object
Raises: utils.Error on failure