Duplicate records under cmdb_ci_compute_security_group – CI Identifier is missing.


Description

Missing CI identifier for Compute Security Group class OOTB from plugin causes duplicates issues.

Cause

  1. When cloud schedule is running we run a pattern called "Azure Resource Inventory" this updates the record in "cmdb_ci_cmp_resource" with an object ID of the Compute Security Group record.

    https://<Instance_Name>.service-now.com/cmdb_ci_cmp_resource_list.do?sysparm_query=nameSTARTSWITHtower-nsg&sysparm_view=

  2. This set the "Duplicate of" field cmdb_ci_compute_security_group table for the existing record.
  3. Then when the API proxy probe runs, it again discovers the "cmdb_ci_compute_security_group" but since the duplicate of field is set from the pattern execution, it sets the status to absent/non-operation/terminated, so when Identification part executes it is creating a new record (as the old one was marked with duplicate).
  4. The issues is because "cmdb_ci_cmp_resource" aand "cmdb_ci_compute_security_group" are extended from the same parent table but only "cmdb_ci_compute_security_group" has an identifier rule where as "cmdb_ci_cmp_resource" does not so it falls back to the parent rule. This is what is causing the problem.

Steps to Reproduce

  1. Log in to the instance
  2. Navigator >> Discovery schedule >> Execute discovery on Azure/AWS schedules 
  3. Observe the "cmdb_ci_compute_security_group" creates Duplicate records

Workaround

Create an identification rule for "cmdb_ci_cmp_resource" records as well. It is based on object_id as it should be:


Note: This problem has been fixed. If you are able to upgrade, review the Fixed In or Intended Fix Version fields to determine whether any versions have a planned or permanent fix.


Related Problem: PRB1385597