domino_admin_toolkit.checks.info.test_netapp_volume_mapping module
- pydantic model domino_admin_toolkit.checks.info.test_netapp_volume_mapping.NetappVolumeMappingAnalyzer
Bases:
AnalyzerBase[NetappVolumeMappingRow]Validates each Domino NetApp volume maps to a healthy ONTAP FlexVol.
- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'NetappVolumeMappingAnalyzer'
- class domino_admin_toolkit.checks.info.test_netapp_volume_mapping.NetappVolumeMappingRow
Bases:
TypedDict
- domino_admin_toolkit.checks.info.test_netapp_volume_mapping.netapp_volume_mapping_data(k8s_client, platform_namespace, is_domino_cloud)
Collect Domino NetApp volume to ONTAP FlexVol mapping data.
- domino_admin_toolkit.checks.info.test_netapp_volume_mapping.test_netapp_volume_mapping(netapp_volume_mapping_data, runner)
- Description: Maps each Domino NetApp Volume (DVNO) to its backing NetApp ONTAP
FlexVol and reports the mapping with filesystem identity (SVM, FSx filesystem ID) and Trident state. Joins the remotefs PostgreSQL volume records with TridentVolume and TridentBackendConfig custom resources. Runs only on Domino Cloud deployments (skips when the Domino Cloud central-config flag is off) and skips when DVNO is not enabled.
- Failure Conditions:
An Active Domino volume has no backing FlexVol in Trident (FlexVol deleted from ONTAP or Trident lost track of it)
A FlexVol backing a Domino volume is in a non-online Trident state (warning)
remotefs database or Trident custom resources are unreachable (error)
- Troubleshooting Steps:
List Trident volumes: kubectl get tridentvolumes -n trident
Inspect a specific volume: kubectl get tridentvolume <name> -n trident -o yaml
Check Trident backend health: kubectl get tridentbackends -n trident
In the AWS FSx console, search for the volume by its ontap_flexvol name (fsvol-/svm- IDs exist only in the FSx control plane)
Check remotefs service logs: kubectl logs deploy/remotefs -n <platform-namespace>
- Resolution Steps:
For a missing FlexVol backing an Active volume, verify the volume in ONTAP (FSx console or ONTAP CLI); if deleted, restore from a snapshot/backup or mark the Domino volume deleted via the Domino admin UI
For non-online Trident states, check the Trident controller logs (kubectl logs deploy/trident-controller -n trident) and backend connectivity to the SVM data LIF
Engage the storage/infrastructure team for ONTAP-side issues
- Required Permissions:
Read access to secrets and pods in the Domino platform namespace
Read access to trident.netapp.io custom resources in the Trident namespace
kubectl and AWS FSx console access for resolution
- See also:
test_platform_pvcs.py — health of platform-namespace PVCs, including the NetApp root PVC this feature depends on.
test_k8s_storage.py — cluster-wide StorageClass and PV/PVC state, covering the trident storage class backing these volumes.
test_postgres.py — connectivity checks for platform Postgres databases; companion to this check’s direct remotefs database query.