Generate and simulate payload execution using identification simulation
Identification simulation is a central location for automatically constructing a payload that is guaranteed to be complete and valid. You can then simulate the processing of the payload by the identification and reconciliation engine (IRE) and examine the results before actually submitting it for execution by IRE.
Use identification simulation to construct an input payload, and simulate processing of the payload by IRE. You can then examine the results, adjust identification rules if needed, and re-run the simulation of the updated payload.
- Automatically construct input payload that is based on existing identification rules, hosting and containment rules.
- Simulate execution of a payload (automatically constructed by identification simulation, or manually created).
- Browse payload output and execution log messages for a simulated run.
- Identification simulation does not commit any updates to the CMDB.
- Identification simulation supports simulation of processing payloads that are provided and which contain non-CMDB tables, but doesn't support the generation of such payloads.
Automatically generate payload using identification simulation
Use identification simulation to automatically construct an input payload for a specified class. The constructed payload is complete with any required dependent CIs, correctly structured, and syntactically valid for processing by the identification and reconciliation engine (IRE).
Before you begin
Role required: admin
About this task
The payload that is constructed during identification simulation is for the specified class. For a dependent CI class, you will be prompted for information about all dependencies. After you provide the required details, identification simulation constructs the payload based on your input.
Procedure
What to do next
- Click Run Simulation to simulate processing of the payload by IRE.
- Examine the results of the simulation, fine-tune the payload as needed, and combine with other payloads for other classes as desired. After finalizing the payload, use the createOrUpdateCI() API to execute the payload by IRE which will result in actual updates to the CMDB.
- Click Copy Script to copy the JSON script into the clipboard. You can then paste that script into a third party software or to another screen of the identification simulation.
Simulate payload processing using identification simulation
Use identification simulation to simulate the identification and reconciliation engine (IRE) process of CI identification for an input payload. Provide a valid payload, which was constructed using identification simulation or that was created manually.
Before you begin
Procedure
What to do next
- Examine the results of the simulation in the results pane, and fine-tune the
payload as needed:
- Click Run #1 to display the Context ID and the Run ID of the simulated run.
- Click the drop down arrow next to Run #1 to
display additional details.
- Input: Displays the payload for the simulation.
- Logs: Displays all the logged messages that IRE generated while simulating processing of the payload, according to the specified logging level.
- Output: Displays the output payload returned by IRE.
- After finalizing the payload, use the createOrUpdateCI() API to execute the payload by IRE which will result in actual updates to the CMDB.
Set logging level for identification simulation
Identification simulation logs each step of a simulated payload processing. You can then examine these run logs to determine if a payload was processed as expected, and if identification rules are effective. You can adjust the level of logging so it is helpful, and so that the amount of messages is not excessive or insufficient.
Before you begin
Procedure
Examine run logs
Identification simulation provides run logs which are generated by Identification and Reconciliation Engine (IRE). You can access these run logs for payload runs, to examine results and for debugging purposes. IRE payload output logs appear in a user friendly format on a central page.
Before you begin
About this task
Also, internal applications that use IRE (such as Discovery) can call an internal API to provide a URL to viewing IRE run logs.
Logging is in the context of a specific run of the identification engine, and you can filter the log list by a specific data source and time range. Up to 1000 run logs that are up to 2 months old are listed, grouped by Context IDs, and run times. You can use the glide.identification_logs.max_run_ids property to modify the 1000 limit.
- Info
- Warn
- Error
- Debug
- DebugVerbose
- DebugObnoxious
Procedure
IRE error messages
The Identification and Reconciliation Engine (IRE) generates the following errors and messages. Depending on settings, these messages appear in the Identification Logging pane and in the system logs.
For information about CMDB Identification Payload error: "FAILED TRYING TO EXECUTE ON CONNECTION", see CMDB Identification Payload error - "Insertion failed with error Error during insert of cmdb_ci...", where node logs show "FAILED TRYING TO EXECUTE ON CONNECTION" "Duplicate entry 'XXX' for key 'XXX'" knowledge base article.
Error- IDENTIFICATION_RULE_MISSING
| Message | Description and Resolution |
|---|---|
| Identity Rule Missing for table [xyz] |
|
MISSING_MATCHING_ATTRIBUTES
| Message | Description and Resolution |
|---|---|
| In payload missing minimum set of input values for criterion (matching) attributes from identify rule for table [xyz]. Add these input values in payload item 'abc' |
|
Error- NO_CLASS_NAME_FOR_INDEPENDENT_CI
| Message | Description and Resolution |
|---|---|
| Cannot have 'sys_class_name' as a key field in an Independent Identity Rule on 'xyz' |
|
Error- IDENTIFICATION_RULE_FOR_LOOKUP_MISSING
| Message | Description and Resolution |
|---|---|
| Identity Rule for table [xyz] missing Lookup Rule for class [abc] |
For more information about this error message, see Identification error "Identity Rule for table [cmdb_ci_table_name] missing Lookup Rule for class [table_name]" [KB0786444]. |
Error- IDENTIFICATION_RULE_FOR_RELATED_ITEM_MISSING
| Message | Description and Resolution |
|---|---|
| Identity Rule for table [xyz] missing Related Rule for class [abc] |
|
Error- NO_LOOKUP_RULES_FOR_DEPENDENT_CI
| Message | Description and Resolution |
|---|---|
| Cannot have Lookup Rule for a Dependent Identity Rule on 'xyz' |
|
Error- INVALID_INPUT_DATA
| Message | Description and Resolution |
|---|---|
| Found invalid sys_id in payload. No record with sys_id [xyz] exist in table [abc] or is a duplicate record with [duplicate_of] field set to a main CI |
|
| In payload no data source exist. You need to provide choice value from choice field [discovery_source] in table [cmdb_ci] |
|
| In payload invalid data source [xyz] exist. You need to provide a valid choice value from field [discovery_source] in table [cmdb_ci] |
|
| No such relationship with name [xyz] exist in table [cmdb_rel_type]. If out-of-box relationship for [xyz] has been removed or renamed, it should be restored |
|
| Payload relations 'xyz' has invalid parent record index: [0] |
|
| Payload relations 'xyz' has invalid child record index: [0] |
|
Error- DUPLICATE_RELATIONSHIP_TYPES
| Message | Description and Resolution |
|---|---|
| Duplicate relationship type records exists with name [xyz] in table [cmdb_rel_type] having sys_ids: [abc] |
|
Error- DUPLICATE_PAYLOAD_RECORDS
| Message | Description and Resolution |
|---|---|
| Found duplicate items in the payload (index 0 and 1), using className [xyz] and fields [abc]. Remove duplicate items from payload |
|
Error- LOCK_TIMEOUT
| Message | Description and Resolution |
|---|---|
| Failed to acquire synchronization lock for xyz |
|
Error- MULTIPLE_DUPLICATE_RECORDS
| Message | Description and Resolution |
|---|---|
| Found duplicate records in table [xyz] using fields [abc] |
|
Error- REQUIRED_ATTRIBUTE_EMPTY
| Message | Description and Resolution |
|---|---|
| Missing mandatory field [xyz] in table [abc]. Add input value for mandatory field in payload |
|
Error- MISSING_DEPENDENCY
| Message | Description and Resolution |
|---|---|
| In payload no relations defined for dependent class [xyz] that matches any containment/hosting rules: [abc]. Add appropriate relations in payload for 'def' |
|
Error- METADATA_RULE_MISSING
| Message | Description and Resolution |
|---|---|
| No containment or hosting rules defined for dependent class [xyz]. Add containment/hosting rules for ‘abc' |
|
Error- MULTIPLE_DEPENDENCIES
| Message | Description and Resolution |
|---|---|
| Found multiple dependent relation items [xyz] and [abc] in payload |
|
| Multiple paths leading to the same destination: xyz -> abc |
|
Error- ABANDONED
| Message | Description and Resolution |
|---|---|
| Abandoning processing payload item 'xyz', since its depends on payload item 'abc' has errors |
|
| Can't find matched record with sys_id [xyz] in table [abc] |
|
| Identification engine API got called recursively, aborting... |
|
| Detected error while processing payload from xyz |
|
| While processing relations encountered errors in payload item: xyz |
|
| Error occurred during parsing input json payload: xyz |
|
Error- MULTI_MATCH
| Message | Description and Resolution |
|---|---|
| Duplicate dependent records found having relationship [xyz] with same CI (className:[abc], sysId:[def]) |
|
| Found multiple relations between payload items: 'xyz' and 'abc' |
|
| Found duplicate records in lookup table [xyz] using fields [abc] and reference field [def] |
|
Error- QUALIFICATION_LOOP
| Message | Description and Resolution |
|---|---|
| Qualification chain has loop that contains relation 'xyz' |
|
Error- TYPE_CONFLICT_IN_QUALIFICATION
| Message | Description and Resolution |
|---|---|
| Invalid payload, qualification chain has multiple possible paths for payload items: 'xyz' and 'abc' |
|
Error- RECLASSIFICATION_NOT_ALLOWED
| Message | Description and Resolution |
|---|---|
| CI Reclassification not allowed from class: [xyz] to [abc] |
|
Error- DUPLICATE_RELATED_PAYLOAD
| Message | Description and Resolution |
|---|---|
| Found duplicate Related items (0 and 1) in the payload index 1 using fields xyz |
|
Error- DUPLICATE_LOOKUP_PAYLOAD
| Message | Description and Resolution |
|---|---|
| Found duplicate Lookup items (0 and 1) in the payload index 1 using fields xyz |
|
INSERT_NOT_ALLOWED_FOR_SOURCE
| Message | Description and Resolution |
|---|---|
| Insert into [xyz] is blocked for data source [abc] by IRE data source rule |
|