Spectrum Infraestructure Manager - Synchronization Failure

Document ID : KB000121385
Last Modified Date : 20/11/2018
Show Technical Document Details
Introduction:
Devices with interfaces that have negative ifindex numbers cause the synch between the CAPC and Spectrum to fail.
When these devices are removed, the synchronization runs.
Speak with the vendor as this device is " non compliant " and should be fixed in order for it to communicate effectively.
Background:
The synchronization between CAPC and Spectrum fails.
The Data Source "Spectrum Infrastructure Manager" shows the status "Synchronization Failure". I performed a full resynchronization but the status doesn't change. 
From the DMService.log i see the following message : 

CAPC encountered an error while trying to sync with data source Spectrum Infrastructure Manager@xxxxxx
The problem is in CAPC, not the data source. The following stack trace shows the invalid SQL statement in CAPC: 

org.springframework.dao.DataIntegrityViolationException: StatementCallback; SQL [INSERT INTO dst_interface (SourceID, UpdatedOn, `ItemSubTypeName`, `LocalID`, `ItemName`, `ItemDesc`, `IfIndex`, `DomainID`, 
`IfType`) VALUES (4,1540533741, 'physical ','0x101c8f8',device interface 1,interface 2',-100621824,3,NULL), 

It seems that the message is misleading that it thinks it's a CAPC issue. 
the problem seems to be linked with the ifIndex provided by Spectrum which has not a valid value... -100621824. (negative value) , the index shouldn't be negative 

=> the user deleted the devices referenced above and the alarm Synchronization Failure automatically disappeared from PM (CAPC). 
 
Environment:
CAPC and Spectrum integration.

 
Instructions:
CA software is designed based on the RFC rules, laid down by the IETF, that governs the how hardware and software should be designed, in order to communicate effectively with each, other under the same framework.
This is what allows any vendor to create a new device and it should be able to communicate automatically with other devices or any software platform Spectrum the same as other devices.
So in effect, all devices and software need to speak the same languages and live by the same rules in order to operate with each effectively.
One of those rules is following mib definitions and in this example the IFindex is described here

https://tools.ietf.org/html/rfc2863

as follows 3.1.5. Interface Numbering MIB-II defines an object, ifNumber, whose value represents:
"The number of network interfaces (regardless of their current state) present on this system."
Each interface is identified by a unique value of the ifIndex object, and the description of ifIndex constrains its value as follows:

"Its value ranges between 1 and the value of ifNumber.
The value for each interface must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization."
This device does not follow that rule and so will have problems to communicate with other devices and applications.

You should speak with the vendor as this device is "non compliant" and should be fixed in order for it to communicate effectively.
Spectrum is quite forgiving compared to other applications as can be seen with this failure.