Issue
During discovery of configuration items (CI), you may see an error that says "CI Reclassification not allowed". For example:
CI Reclassification not allowed from class: [cmdb_ci_msd] to [cmdb_ci_storage_node_element]
Release
All currently supported releases
Cause
This error occurs when the Identification and Reconciliation Engine (IRE) attempts to reclassify a CI from one class to another, but the system does not allow reclassification based on current settings.
You can upgrade, downgrade, or switch the class of a CI by modifying its Class attribute. During the CI identification process, a CI might need to be reclassified to a different sys_class_name type.
By default, CIs are reclassified automatically. If automatic reclassification is disabled, the CI is not reclassified and the system generates a reclassification task for your review.
Resolution
To avoid this error, you can adjust system properties, IRE payload flags, and the payload.
System Properties
The following system properties control if a class upgrade, downgrade, or switch are allowed:
- glide.class.upgrade.enabled
- glide.class.downgrade.enabled
- glide.class.switch.enabled
- glide.identification_engine.update_without_switch_enabled
- glide.identification_engine.update_without_downgrade_enabled
- glide.identification_engine.update_without_upgrade_enabled
Payload Flags and Adjusting Payload
- Navigate to Configuration > Identification/Reconciliation > Reclassification.
- Review the payload.
- Adjust the payload to avoid reclassification, if possible.
- This will be possible for some of the applications that are calling the IRE. For example, transforms can run scripts to adjust the payload.
- You can temporarily override the IRE reclassification properties at the payload item level using the following flags:
-
classUpgrade
classDowngrade
classSwitch
Note: If either of above payload setting items is true, it overrides the relevant property, for example glide.class.upgrade.enabled.
Add the following flags under the items.settings object to explicitly control update behavior without class change:
{ items: [{className: "cmdb_ci_server", classUpgrade: true, classDowngrade: true, classSwitch: true, values: {name: "linux123", serial_number: "12srt567"...
- updateWithoutUpgrade
- updateWithoutDowngrade
- updateWithoutSwitch
Note: These settings work in conjunction with the related system properties. If either the payload flag or the system property is true, the system will update the CI without changing its class.
Add the following flags under the items.settings object to explicitly control update behavior without class change:
{ items: [{className: 'cmdb_ci_server',values: {name: 'linux123'},"settings": {"skipReclassificationRestrictionRules" : "true", "updateWithoutSwitch": "false"}...
Important notes
Updating the payload before it is sent to the IRE will be specific to the application which is passing data to the IRE.
Modifications can be applied via:
- Transform scripts (for data imports)
- Pre/post-processing scripts (for Discovery)
- Custom integrations