VMware Smart Assurance NCM: Cisco Nexus 5k series devices pull-all or pull hardware job shows complete, but there is no configuration information on the GUI
book
Article ID: 345309
calendar_today
Updated On:
Products
VMware
Issue/Introduction
Symptoms: 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 PostgreSLQ Control Database (controldb), but it fails when the parser encounters the following error in the $VOYENCE_HOME/ncmcore/logs/powerup.log file:
Powerup.log:
DEBUG [com.powerup.configmgr.server.services.repository.impl.DeviceStateXMLMarshaller] (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
Device has extra hardware details causing NCM DB to fail to parse it.
Resolution
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 hwinvfuncs.inc 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. 7) Execute Pull All on the device.