Troubleshooting Issues Related to the Hitachi G-Series and HUS-VM Embedded SMI-S Providers

How to troubleshoot the Hitachi G-Series and HUS-VM Disk embedded SMI-S Providers issues which cause Hitachi Storage Device Manager ETL and the Hitachi Disk Arrays KM to fail.

Related Topics

Introduction

When using the Hitachi Storage Device Manager ETL or the Hitachi Disk Arrays KM to collect information about your Hitachi G-Series and HUS-VM disk arrays, some exceptions may be returned by the embedded SMI-S providers and cause the ETL or the KM to fail.

Here are the exceptions we frequently observed in the Hitachi Storage Device Manager ETL or the Hitachi Disk Arrays KM debug logs:

  • Exception #1:
| EXCEPTION SAXException : CLASSNAME attribute not found!
| 		org.sblim.cimclient.internal.cimxml.sax.node.Node.getClassName(Node.java:187)
| 		org.sblim.cimclient.internal.cimxml.sax.node.InstanceNode.init(InstanceNode.java:66)
| 		org.sblim.cimclient.internal.cimxml.sax.XMLDefaultHandlerImpl.startElement(XMLDefaultHandlerImpl.java:163)
| 		com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
| 		com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
| 		com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
| 		com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
| 		com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
| 		com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
| 		com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
| 		com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
| 		com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
| 		com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
| 		com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
| 		org.sblim.cimclient.internal.wbem.CloseableIteratorSAX.<init>(CloseableIteratorSAX.java:72)
| 		org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.getIterator(WBEMClientCIMXML.java:1637)
| 		org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.enumerateInstances(WBEMClientCIMXML.java:739)
| 		com.sentrysoftware.portal.client.wbem.impl.EnumeratesInstancesOperation.execute(WBEMClientImpl.java:676)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doWithRetry(WBEMClientImpl.java:336)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doRequest(WBEMClientImpl.java:267)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:143)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:73)
| 		com.sentrysoftware.portal.common.client.concurrent.RequestTask.run(RequestTask.java:80)
| 		java.lang.Thread.run(Thread.java:748)
| EXCEPTION WBEMException : CIM_ERR_FAILED
| 		org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.enumerateInstances(WBEMClientCIMXML.java:755)
| 		com.sentrysoftware.portal.client.wbem.impl.EnumeratesInstancesOperation.execute(WBEMClientImpl.java:676)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doWithRetry(WBEMClientImpl.java:336)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doRequest(WBEMClientImpl.java:267)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:143)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:73)
| 		com.sentrysoftware.portal.common.client.concurrent.RequestTask.run(RequestTask.java:80)
| 		java.lang.Thread.run(Thread.java:748)
| EXCEPTION WBEMResponseException : CIM_ERR_FAILED
| 	WBEMResponseException [Error=protocol.response.full, Context=[WBEM/CIM-XML, SELECT __Path, Name, ElementName FROM HITACHI_StorageSystem [root/hitachi/smis], CIM_ERR_FAILED]]
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.createError(WBEMClientImpl.java:523)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doWithRetry(WBEMClientImpl.java:428)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doRequest(WBEMClientImpl.java:267)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:143)
| 		com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:73)
| 		com.sentrysoftware.portal.common.client.concurrent.RequestTask.run(RequestTask.java:80)
| 		java.lang.Thread.run(Thread.java:748)
| EXCEPTION DiscoveryException : Underlaying error
| 	DiscoveryException [Error=discovery, Context=[class com.sentrysoftware.portal.hitachi.Array]]
| 		com.sentrysoftware.portal.hitachi.Array.discover(Array.java:504)
| 		com.sentrysoftware.portal.common.job.impl.DiscoveryOperation.discoverClass(DiscoveryOperation.java:143)
| 		com.sentrysoftware.portal.common.job.impl.DiscoveryOperation.performOperation(DiscoveryOperation.java:75)
| 		com.sentrysoftware.portal.common.job.impl.AbstractOperation.perform(AbstractOperation.java:51)
| 		com.sentrysoftware.portal.common.job.impl.OperationProtector.perform(OperationProtector.java:44)
| 		com.sentrysoftware.portal.common.job.OperationExecutor.performNextOperation(OperationExecutor.java:341)
| 		com.sentrysoftware.portal.common.job.interruption.ControlledExecution.doRun(InterruptionControlImpl.java:364)
| 		com.sentrysoftware.portal.common.job.interruption.ControlledExecution.run(InterruptionControlImpl.java:340)
| 		java.lang.Thread.run(Thread.java:748)
| EXCEPTION OperationException : Discovery (Array) completed with error(s).
| 		com.sentrysoftware.portal.common.job.impl.DiscoveryOperation.interruptAfterDiscoveryException(DiscoveryOperation.java:179)
| 		com.sentrysoftware.portal.common.job.impl.DiscoveryOperation.discoverClass(DiscoveryOperation.java:147)
| 		com.sentrysoftware.portal.common.job.impl.DiscoveryOperation.performOperation(DiscoveryOperation.java:75)
| 		com.sentrysoftware.portal.common.job.impl.AbstractOperation.perform(AbstractOperation.java:51)
| 		com.sentrysoftware.portal.common.job.impl.OperationProtector.perform(OperationProtector.java:44)
| 		com.sentrysoftware.portal.common.job.OperationExecutor.performNextOperation(OperationExecutor.java:341)
| 		com.sentrysoftware.portal.common.job.interruption.ControlledExecution.doRun(InterruptionControlImpl.java:364)
| 		com.sentrysoftware.portal.common.job.interruption.ControlledExecution.run(InterruptionControlImpl.java:340)
| 		java.lang.Thread.run(Thread.java:748)
| An operation fails, this will be added to the current execution error stack.
  • Exception #2:
| Cannot discover hosts for volume {ObjectPath}HITACHI_StorageVolume.CreationClassName="HITACHI_StorageVolume",DeviceID="0",SystemCreationClassName="HITACHI_StorageSystem",SystemName="VSP G1500.11220"
| EXCEPTION TimeoutException : null
| 	TimeoutException [Error=timeout.full, Context=[WBEM/CIM-XML, 10800000, SELECT Antecedent, Dependent FROM CIM_ProtocolControllerForUnit [root/hitachi/smis], WBEM/CIM-XML, SELECT Antecedent, Dependent FROM CIM_ProtocolControllerForUnit [root/hitachi/smis]]]
| 		com.sentrysoftware.portal.common.client.timeout.TimeoutClient.request(TimeoutClient.java:140)
| 		com.sentrysoftware.portal.common.client.cache.CachedClient.request(CachedClient.java:68)
| 		com.sentrysoftware.portal.client.wbem.impl.AbstractWBEMMonitoringJob.selectData(AbstractWBEMMonitoringJob.java:152)
| 		com.sentrysoftware.portal.hitachi.common.AbstractHITACHICollect.selectData(AbstractHITACHICollect.java:212)
| 		com.sentrysoftware.portal.hitachi.Volume.discoverAssociatedControllerUnits(Volume.java:884)
| 		com.sentrysoftware.portal.hitachi.Volume.discover(Volume.java:500)
| 		com.sentrysoftware.portal.common.job.impl.DiscoveryOperation.discoverClass(DiscoveryOperation.java:123)
| 		com.sentrysoftware.portal.common.job.impl.DiscoveryOperation.performOperation(DiscoveryOperation.java:75)
| 		com.sentrysoftware.portal.common.job.impl.AbstractOperation.perform(AbstractOperation.java:51)
| 		com.sentrysoftware.portal.common.job.impl.OperationProtector.perform(OperationProtector.java:44)
| 		com.sentrysoftware.portal.common.job.OperationExecutor.performNextOperation(OperationExecutor.java:341)
| 		com.sentrysoftware.portal.common.job.interruption.ControlledExecution.doRun(InterruptionControlImpl.java:364)
| 		com.sentrysoftware.portal.common.job.interruption.ControlledExecution.run(InterruptionControlImpl.java:340)
| 		java.lang.Thread.run(Thread.java:748)
  • Exception #3:
| DiscoveryException during DISCOVERY
| EXCEPTION SAXException : CLASSNAME attribute not found!
| org.sblim.cimclient.internal.cimxml.sax.node.Node.getClassName(Node.java:187)
| org.sblim.cimclient.internal.cimxml.sax.node.InstanceNode.init(InstanceNode.java:66)
| org.sblim.cimclient.internal.cimxml.sax.XMLDefaultHandlerImpl.startElement(XMLDefaultHandlerImpl.java:163)
| com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
| com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
| com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
| com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
| com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
| com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
| com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
| com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
| com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
| com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
| com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
| org.sblim.cimclient.internal.wbem.CloseableIteratorSAX.(CloseableIteratorSAX.java:72)
| org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.getIterator(WBEMClientCIMXML.java:1637)
| org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.enumerateInstances(WBEMClientCIMXML.java:739)
| com.sentrysoftware.portal.client.wbem.impl.EnumeratesInstancesOperation.execute(WBEMClientImpl.java:676)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doWithRetry(WBEMClientImpl.java:336)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doRequest(WBEMClientImpl.java:267)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:143)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:73)
| com.sentrysoftware.portal.common.client.concurrent.RequestTask.run(RequestTask.java:80)
| java.lang.Thread.run(Thread.java:748)
| EXCEPTION WBEMException : CIM_ERR_FAILED
| org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.enumerateInstances(WBEMClientCIMXML.java:755)
| com.sentrysoftware.portal.client.wbem.impl.EnumeratesInstancesOperation.execute(WBEMClientImpl.java:676)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doWithRetry(WBEMClientImpl.java:336)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doRequest(WBEMClientImpl.java:267)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:143)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:73)
| com.sentrysoftware.portal.common.client.concurrent.RequestTask.run(RequestTask.java:80)
| java.lang.Thread.run(Thread.java:748)
| EXCEPTION WBEMServerFailureException : CIM_ERR_FAILED
| WBEMServerFailureException [Error=protocol.connection.serverfailure, Context=[WBEM/CIM-XML, https://xxx.xxx.xxx.xxx:5989, patrolBMC, CIM_ERR_FAILED]]
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.createError(WBEMClientImpl.java:530)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doWithRetry(WBEMClientImpl.java:428)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.doRequest(WBEMClientImpl.java:267)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:143)
| com.sentrysoftware.portal.client.wbem.impl.WBEMClientImpl.request(WBEMClientImpl.java:73)
| com.sentrysoftware.portal.common.client.concurrent.RequestTask.run(RequestTask.java:80)
| java.lang.Thread.run(Thread.java:748)
| EXCEPTION WBEMResponseException : CIM_ERR_FAILED
| WBEMResponseException [Error=protocol.response.full, Context=[WBEM/CIM-XML, SELECT Name FROM CIM_Namespace [interop], CIM_ERR_FAILED]]
| com.sentrysoftware.portal.hitachi.common.AbstractHITACHICollect.selectData(AbstractHITACHICollect.java:218)
| com.sentrysoftware.portal.hitachi.common.AbstractHITACHICollect.useSpecificNamespace(AbstractHITACHICollect.java:555)
| com.sentrysoftware.portal.hitachi.common.AbstractHITACHICollect.selectData(AbstractHITACHICollect.java:209)
| com.sentrysoftware.portal.hitachi.Array.discover(Array.java:393)
| com.sentrysoftware.portal.common.model.impl.JobContainerImpl.discoverClass(JobContainerImpl.java:178)
| com.sentrysoftware.portal.common.model.impl.JobContainerImpl.discover(JobContainerImpl.java:103)
| com.sentrysoftware.ammo.patrol.AmmoKitClientForPatrol.performJob(AmmoKitClientForPatrol.java:295)
| com.sentrysoftware.ammo.patrol.AmmoKitClientForPatrol.performAmmoAction(AmmoKitClientForPatrol.java:222)
| com.sentrysoftware.ammo.patrol.AmmoKitClientForPatrol.discovery(AmmoKitClientForPatrol.java:337)
| com.sentrysoftware.ammo.patrol.AmmoKitMatsyaInterface.executeQuery(AmmoKitMatsyaInterface.java:104)
| com.sentrysoftware.matsya.QueryHandler$1.run(QueryHandler.java:69)
| java.lang.Thread.run(Thread.java:748)

Procedure

If one of these exceptions occcur:

  1. Download the WBEM Troubleshooting Tool on a Windows machine where Java 1.8 (minimum) is installed.

  2. Run the java -jar WBEM-Troubleshooting-Tool.jar command to launch the connection tool:

    Running the WBEM Troubleshooting Tool

  3. In the Connection Information section, enter the information required to connect to your system.

  4. From the Platform pull-down list, select Custom Platform.

  5. In the Namespace field, enter root/hitachi/smis.

  6. In the Request(s) to execute field, enter the query which caused the exception (Example: SELECT __Path, Name, ElementName FROM HITACHI_StorageSystem).

  7. Click Test Connection button to execute the query.

  8. If the same exception is generated, check the SMI-provider’s log. It should be stored in C:\Mapp\wk\832000480182\SMI\logs. Please note that the 832000480182 folder may differ in your environment depending on the SMI-S Provider micro level.

    Checking the SMI-S Logs

  9. Open the CIMOMTrace-0.log file to check whether the same error occurs:

    INFO: User SMIS not athenticated
    2019-05-24 09:01:09.368 [2844185]
    SEVERE: Received exception when executing EnumerateInstances
    Access denied.
    WBEMException[CIM_ERR_ACCESS_DENIED]: Access denied.
    CIM_Error instances:
    instance of CIM_Error {
       ErrorType = 4;
       OtherErrorType = null;
       OwningEntity = "DMTF";
       MessageID = "WIPG0201";
       Message = "Access denied.";
       MessageArguments = null;
       PerceivedSeverity = 0;
       ProbableCause = 0;
       ProbableCauseDescription = null;
       RecommendedActions = null;
       ErrorSource = null;
       ErrorSourceFormat = 0;
       OtherErrorSourceFormat = null;
       CIMStatusCode = 2;
       CIMStatusCodeDescription = "CIM_ERR_ACCESS_DENIED";
    };

This error may be caused by a password containing special characters (Known SMI-S Provider issue). To troubleshoot this issue, you can:

  • either update your password so it no longer contains special characters, or
  • use a different built-in user such as maintenance

and run the WBEM Troubleshooting Tool again.

If no more exception occurs with this new account, you can configure the Hitachi Storage Device Manager ETL or the Hitachi Disk Arrays KM to use this account.

If the problem persists, collect the Hitachi Storage Device Manager ETL, the Hitachi Disk Arrays KM, and the SMI-S provider logs and raise a case with the Sentry Support Team. You may also need to engage with the Hitachi Support to have your issue fixed.