We have started to notice that many of our Cisco devices are no longer showing when configuration lines have changed. The capture only updates the 'Last Verified Time' and no longer shows changes for the past few months.
Software Version: 24.3, 25.4
Protocol: SSH
Feature: Network Configuration Manager (NCM)
Improperly configured Regex Mask that was matching on the differences and marking them
| Jan 20, 2026 13:37:14.866 (grpc-default-executor-50437) - ###.###.###.###: getDiff entering 1st while loop. Jan 20, 2026 13:37:14.866 (grpc-default-executor-50437) - ###.###.###.###: getDiff finished 1st, entering 2nd while loop. Jan 20, 2026 13:37:14.871 (grpc-default-executor-50437) - ###.###.###.###: Differing deleted line: snmp-server contact 000-000-0000 | NETWORK Ops Jan 20, 2026 13:37:14.875 (grpc-default-executor-50437) - ###.###.###.###: check diff against maskList[0]: [!#] Jan 20, 2026 13:37:14.875 (grpc-default-executor-50437) - ###.###.###.###: check diff against maskList[1]: [^username.admin] Jan 20, 2026 13:37:14.875 (grpc-default-executor-50437) - ###.###.###.###: matched mask, uninteresting diff Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: Differing added line: snmp-server contact 000-000-0000 | TESTING-BACKUP Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: check diff against maskList[0]: [!#] Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: check diff against maskList[1]: [^username.admin] Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: matched mask, uninteresting diff Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - getDiffResults going to release permit, now permits: 1 Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: the diff was uninteresting: |
PREREQUISITES:
Administrative access to DX NetOps Spectrum/NCM
Access to NCM Mask Configuration settings
STEPS:
ENABLE NCM DEBUGGING: Enable debugging in config.xml to capture the getDiff process and verify mask behavior
<debugging type="java.lang.String">max</debugging>
EXPECTED: NCMSERV.OUT and debug.log.xxxxxxxxxxxxxxxxxxxx record the comparison process
IDENTIFY IMPROPER REGEX MASK: Review debug logs for "matched mask, uninteresting diff" entries to identify which mask is triggering on valid changes
| Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: Differing added line: snmp-server contact 000-000-0000 | TESTING-BACKUP Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: check diff against maskList[0]: [!#] Jan 20, 2026 13:37:14.876 (grpc-default-executor-50437) - ###.###.###.###: check diff against maskList[1]: [^username.admin] |
NOTE: An improperly formatted mask like [^username.admin] may match on unintended characters, causing valid diffs to be ignored
REMOVE CONFLICTING MASK: Access the Mask Configuration for the affected device families and remove the improperly developed RegEx entry
Path: NCM > Mask Configuration Action: Delete the entry: [^username.admin]
PERFORM TEST CAPTURE: Make an inconsequential change on a test device and perform a manual capture
EXPECTED: NCM should now identify the difference and update the 'Last Capture Time'
ROOT CAUSE: The issue was caused by an improperly formatted RegEx Mask entry [^username.admin]. This mask matched unintended characters in the configuration lines, leading NCM to mark valid differences as "uninteresting" and ignore them.