Discovey flaps CI class between Windows Cluster and MSSQL Cluster


Description

When running Discovery to a Windows server with Windows Cluster and MSSQL Cluster configured, if the name of the Windows Cluster and MSSQL Cluster are identical (case-insensitive),

then only one cluster CI is created, and from the list history of the cluster CI, we can see discovery is trying to update the CI Class to Windows Cluster, then flaps it to MSSQL Cluster.

 

Cause

This is because there's no specific CI Identifier for Windows Cluster or MSSQL Cluster.

Both classes use the Identifier on their parent class: Cluster, which matches on name.

 

When Discovery runs, IRE (Identification and Reconciliation) will try to search in their parent table - Cluster CIs (which includes all the records in Windows Cluster and MSSQL Cluster tables) and match on the discovered name.

 

Resolution

Create CI Identifier on Windows Cluster, and MSSQL Cluster respectively.

This way IRE will only search within above Classes, instead of their parent class.

If this is still not working

1. Add a system property "glide.identification_engine.reclassification_restriction_rules_enabled". By default OOTB this is set to true, so, if this is missing in your sys properties this is set to true and no action is required for this step

https://docs.servicenow.com/bundle/rome-servicenow-platform/page/product/configuration-management/reference/properties-id-reconciliation.html

2. Create a reclassification restriction rule on [cmdb_ire_reclassification_restriction] table that prevents mssql cluster from switching back to windows cluster - see screenshot