AIQUM REST acquisition fails on NVMe clusters with Unknown Disk Port Type nvme
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.
- Cluster acquisition status in AIQUM is
- 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):
- Unknown disk port type:
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
nvmedisk 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
NullPointerExceptionaborts the foundation poll — without a successful foundation poll, the cluster object is never built and AIQUM reports the cluster asFailed. - 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.
- 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.propertieswith a text editor (e.g. vi)
Change lineenable.cloudagent=true to enable.cloudagent=falseor
Runsed -i '/^enable.cloudagent=/s/=.*/=false/' /opt/netapp/essentials/conf/server.properties - Windows:
OpenC:\Program Files\netapp\essentials\conf\server.propertieswith notepad
Change lineenable.cloudagent=truetoenable.cloudagent=false - Restart AIQUM services
- Linux/OVA:
Note: ONTAPI is fully supported and produces equivalent monitoring data to REST acquisition for the affected workflows
Partner Notes
Additional Information
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
nvmedisk port type inGModeDiskPath(GModeDiskPath.java:162). - Do not conflate this with CAIQUM-7956 — that defect has the same outer stack (
GClusterBuilder.executeAndBuild:247→ExecutionException→NullPointerException) but a different inner cause (JSONObject.get(...)returning null onLong.intValue()). This case's inner cause is the unrecognised NVMe disk port type.
