Skip to main content
NetApp Knowledge Base

AIQUM REST acquisition fails on NVMe clusters with Unknown Disk Port Type nvme

Views:
33
Visibility:
Public
Votes:
0
Category:
not set
Specialty:
not set
Last Updated:

Applies to

  • Active IQ Unified Manager 9.x (AIQUM)
  • REST acquisition
  • ONTAP clusters with NVMe disks

Issue

  • After adding an NVMe-based ONTAP cluster to Active IQ Unified Manager (AIQUM) using the default REST acquisition method, the cluster shows the following symptoms:
    • Cluster acquisition status in AIQUM is Failed.
    • No data is collected for the cluster — capacity, performance, and events are all empty.
  • The cluster itself is healthy and the management LIF is reachable; AIQUM credentials and role are valid.
  • AIQUM acquisition log (au.log) contains entries similar to the following:
    • Unknown disk port type:ERROR [baseline-poll-2] c.o.s.a.d.n.m.g.GModeDiskPath (GModeDiskPath.java:162) - Unknown Disk Port Type: nvme
    • Foundation poll failure (NullPointerException):

ERROR [common-pool-XXXXX] c.o.s.a.d.n.b.r.g.n.GClusterBuilder (GClusterBuilder.java:251) - [netappfoundation] <cluster_mgmt_lif> - ExecutionException encountered on Builderjava.util.concurrent.ExecutionException: java.lang.NullPointerExceptionat java.util.concurrent.FutureTask.report(FutureTask.java:122)at java.util.concurrent.FutureTask.get(FutureTask.java:205com.onaro.sanscreen.acquisition.datasource.netapp_ocie.builders.rest.gmode.netappfoundation.GClusterBuilder.executeAndBuild(GClusterBuilder.java:247)at com.onaro.sanscreen.acquisition.datasource.netapp_ocie.NetAppOCIEDataSource.doFoundation(NetAppOCIEDataSource.java:254at com.onaro.sanscreen.acquisition.netappfoundation.datasource.NetAppFoundationPackage.pollNow(NetAppFoundationPackage.java:199)

Cause

  • The AIQUM REST acquisition code path does not recognise the nvme disk port type returned by ONTAP for NVMe-attached drives.
  • The unrecognised value yields a null disk-port object, which is then dereferenced by GClusterBuilder.executeAndBuild.
  • The resulting NullPointerException aborts the foundation poll — without a successful foundation poll, the cluster object is never built and AIQUM reports the cluster as Failed.
  • The ONTAPI acquisition path does not exercise the same NVMe disk-port-type mapping and is unaffected.

Solution

  • A patch need to be created in case REST type acquisition is needed.
  • Please contact NetApp Technical Support or log into the NetApp Support Site to create a technical case. Reference this article for further assistance.

  • As a workaround, switching the cluster acquisition method in AIQUM from REST to ONTAPI also works
  • This can be done by disabling Cloud Agent as per below procedure:
    • Linux/OVA:​​​​​​
      OVA version will require accessing the DIAG shell: How to access Active IQ Unified Manager Virtual Machine (OVA) DIAG shell
      Open ​​​/opt/netapp/essentials/conf/server.properties​ with a text editor (e.g. vi)
      Change line enable.cloudagent=true to enable.cloudagent=false or
      Run sed -i '/^enable.cloudagent=/s/=.*/=false/' /opt/netapp/essentials/conf/server.properties
    • Windows:
      Open C:\Program Files\netapp\essentials\conf\server.properties with notepad
      Change line enable.cloudagent=true to enable.cloudagent=false
    • Restart AIQUM services

Note: ONTAPI is fully supported and produces equivalent monitoring data to REST acquisition for the affected workflows

Partner Notes

 N/A

Additional Information

 N/A

Internal Notes

  • Source case: 2010684057.
  • The customer chose not to wait for a CPE / patch on the REST acquisition code path; the ONTAPI workaround was accepted as the final solution for this engagement.
  • If a future customer requires the REST path specifically, file or link the engineering defect for the unhandled nvme disk port type in GModeDiskPath (GModeDiskPath.java:162).
  • Do not conflate this with CAIQUM-7956 — that defect has the same outer stack (GClusterBuilder.executeAndBuild:247ExecutionExceptionNullPointerException) but a different inner cause (JSONObject.get(...) returning null on Long.intValue()). This case's inner cause is the unrecognised NVMe disk port type.

Sign in to view the entire content of this KB article.

New to NetApp?

Learn more about our award-winning Support

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.