Smarts NCM: Cisco Nexus 5k series devices pull-all or pull hardware job shows complete, but there is no configuration information on the GUI[1]


   Article Number:     513339                                   Article Version: 6     Article Type:    Break Fix 




Smarts Network Configuration Manager





The Cisco Nexus 5k devices does discover and appears to complete a pull-all or pull hardware, but does not load any configuration information in the GUI. In reviewing the commmgr and session logs it appears that all communication completed successfully and no indication of a problem. Then NCM tries to parse the data and insert it into the master PostgreSLQ Control Database (controldb), but it fails when the parser encounters the following error in the $VOYENCE_HOME/ncmcore/logs/powerup.log file:   
    DEBUG [] (http-apr-8881-exec-5) Unmarshalling config unit of type - PhysicalHardware     
      ERROR [com.powerup.service.marshal.castor.CastorObjectMarshaller] (http-apr-8881-exec-5) CastorObjectMarshaller.fromXML     
      org.exolab.castor.xml.MarshalException: element "HardwareElement" occurs more than once. (parent class: com.powerup.configmgr.common.domain.PhysicalHardware)     
      Caused by: ValidationException: element "HardwareElement" occurs more than once. (parent class: com.powerup.configmgr.common.domain.PhysicalHardware)     
      location: /PhysicalHardware/HardwareElement
    Daemon.log doesn't show any xml parsing error:   
      System Properties pull complete     
      </Message></Result><Result config-unit-type="Identity" status="1" error-code="0" action-id="abc000"><Name>Identity</Name>     
      Identity pull for <device name> complete     
      </Message></Result><Result config-unit-type="PhysicalHardware" status="1" error-code="0" action-id="abc000"><Name>PhysicalHardware</Name>     
      PhysicalHardware data changed!!!     






Device has extra hardware details causing NCM DB to fail to parse it.                                                            






File modified to deflect the extra hardware details pulled from the Nexus devices.                                                            






Follow the below steps to implement the workaround:     
      1) Log into the Device Server or Combination Server with root privileges.     
      2) Run: source /etc/voyence.conf     
      3) Navigate to $VOYENCE_HOME/custompackage directory, check if you have cisco/nexus sub directories.     
      If it doesn't exist, create the folders, so that you have directory structure as $VOYENCE_HOME/custompackage/cisco/nexus/     
      4) Copy the attached file and place it in the $VOYENCE_HOME/custompackage/cisco/nexus/ directory.     
      5) Restart the services by running: service voyence restart.     
      6) Clear the device cache with steps from KB 304993,     
      7) Execute Pull All on the device.