Report format

Table of Contents

Valid report types

A report has the following format :

@@Technique@@Type@@RuleId@@DirectiveId@@VersionId@@Component@@Key@@ExecutionTimeStamp##NodeId@#HumanReadableMessage
  • Technique : Human readable Technique name
  • Type : type of report (see bellow)
  • RuleId : The Id of the Configuration Rule, autogenerated
  • DirectiveId : The Id of the Directive, autogenerated
  • VersionId : the revision of the ConfigurationRule, autogenerated
  • Component : the name of the component this Directive is related to (if no component are defined in the metadata.xml, then the Technique name is used)
  • Key : the value of the reference variable. If there is no reference variable, then the value None should be used
  • ExecutionTimeStamp : the timestamp of the current CFEngine execution
  • NodeId : the id of the node
  • HumanReadableMessage : a message than a Human can understand

Valid report types

Table 10. Report Types

Name Type Max number Details

log_trace

log

infinity

Should be used for advanced debuging purpose only.

log_debug

log

infinity

Should be used for debug purpose only.

log_info

log

infinity

Use for standard logging purposes.

log_warn

log

infinity

Used for logging only for the moment. Should be used when something unexpected happens.

log_repaired

log

infinity

Used for logging purposes, to list all that is repaired by the promises.

result_na

result

one per component/key

Defines the status of the Component to Not Applicable (if there are no result_success, result_repaired, result_error). Should be used only when the component is not applicable because it does not match the target context.

result_success

result

one per component/key

Defines the status of the Component to Success (if there are no result_repaired or result_error). Should be used only when everything is already in the correct state in this component for this key.

result_repaired

result

one per component/key

Defines the status of the Component to Repaired (if there are no result_error). Should be used only when something was not in the correct state, but could be corrected.

result_error

result

infinity per component/key

Defines the status of the Component to Error. Should be used when something was not in the correct state, and could not be corrected.



Variables used to generate the reports

Some facilities have been created to help putting the right values at the right place

  • &TRACKINGKEY&: this is an auto generated variable, put in the technique file, that Rudder will replace when writing the promises by
<pre>RuleId@@DirectiveId@@VersionId
  • $(g.execRun): this is replaced at runtime by CFEngine 3 to the current execution time
  • $(g.uuid): this is replaced at runtime by CFEngine 3 to the Node Id