Just enough NetApp ONTAP vocabulary to read the examples in this repo. You do not need to read this end-to-end — every example file links back here from a "Concepts used" comment at the top, and each per-style README cross-references the relevant terms.
For the full picture, NetApp's official docs are at docs.netapp.com/us-en/ontap.
A group of one or more nodes (storage controllers) that present
themselves as a single system. Has one management IP and one set of
admin credentials. Every example targets a single cluster via
ONTAP_HOST. → seen in: every example.
A physical (or virtual) controller that owns disks and serves data. A cluster is a set of nodes. The free ONTAP Simulator runs as a single virtual node and is good enough for most provisioning examples.
A logical "tenant" inside a cluster. Like a VM inside a hypervisor —
isolated namespace, own users, own volumes, own data IPs. NFS exports
and CIFS shares always belong to an SVM. Most provisioning examples
default to an SVM named svm0. → seen in:
python/nfs_provision.py,
ansible/cifs_provision.yml.
A pool of physical disks. Volumes live inside aggregates.
Think: "disk farm + RAID group". You don't usually create one in
these examples — you reference an existing one with --aggregate aggr1.
List them on a cluster with storage aggregate show.
The unit of storage that holds your files. Lives inside an aggregate and inside an SVM. Has a size, an export path (for NFS) or share path (for CIFS), and snapshot policies. → seen in: every provisioning example.
A floating IP that data clients (NFS, CIFS, iSCSI) connect to. Like a Kubernetes Service IP — it survives node failover by moving to another node. Provisioning examples create or reference data LIFs to expose new shares.
The ACL controlling which clients (by IP / subnet) can mount an NFS
volume and with what permissions. The default default policy is
typically too permissive for production — examples expose
--client-match to override. → seen in:
python/nfs_provision.py.
Windows-style file share served by an SVM. Each share has a name, a
backing volume path, and an ACL. → seen in:
python/cifs_provision.py.
A point-in-time, copy-on-write image of a volume. Cheap to take, fast to restore from. Forms the basis for backup, cloning, and replication.
ONTAP's volume-level replication. Copies snapshots from a source volume
on one cluster to a destination volume on another, for DR or migration.
Pace ships full source-managed and destination-managed examples plus a
test-failover lifecycle. → seen in:
ansible/snapmirror_provision_src_managed.yml.
ONTAP 9.6+ exposes a full REST API at https://<cluster>/api/. Every
Pace example uses this — never SSH, ZAPI, or CLI passthrough.
Long-running operations return a job UUID; you poll
/api/cluster/jobs/{uuid} until state is success or failure.
See docs/ontap-api-patterns.md for the full
conventions.
ONTAP's permission model. The built-in admin role can do anything;
purpose-built roles let you grant least-privilege access to a specific
endpoint set. List with security login role show.
| Example | Concepts used |
|---|---|
cluster_info.py |
Cluster, Node, REST API |
cluster_setup.yml |
Cluster, Node, LIF, Aggregate, RBAC |
cluster_setup_basic/main.go |
Cluster, Node, REST API jobs |
nfs_provision.* |
SVM, Aggregate, Volume, LIF, Export policy |
cifs_provision.* |
SVM, Aggregate, Volume, LIF, CIFS share |
snapmirror_* |
Volume, Snapshot, SnapMirror, REST API jobs |
Need a term that is not in this list? Open a Discussion and we will add it. Keeping this page to a single screen is intentional — if it grows past ~12 terms it stops being a 5-minute read.