Pace is an open-source library of ready-to-run NetApp ONTAP automation examples, implemented three ways — side by side — so you can pick the style your team already uses.
| Style | Tool | In a sentence |
|---|---|---|
| Imperative scripts | Python | You write each step yourself. |
| Declarative playbooks | Ansible | You describe the outcome. |
| Stateful blueprints | Terraform | The tool tracks every change. |
Same task, same outcome — different trade-offs in readability, idempotency, and lifecycle management.
Visit netapp.github.io/pace for the full guided tour, live code examples, and side-by-side comparisons.
Pick a style and run the matching block. All examples use placeholder host names and credentials — swap them for your own before running.
Imperative scripts — Python
cd python
pip install -r requirements.txt
export ONTAP_HOST=10.0.0.1 ONTAP_USER=admin ONTAP_PASS=changeme
python cluster_info.pyDeclarative playbooks — Ansible
cd ansible
ansible-galaxy collection install -r requirements.yml
cp group_vars/ontap.yml.example group_vars/ontap.yml # edit with your details
ansible-playbook -i inventory/hosts.yml cluster_info.ymlStateful blueprints — Terraform
cd terraform/cluster-info
cp terraform.tfvars.example terraform.tfvars # edit with your details
terraform init && terraform applyEach style directory has its own README with full setup steps, options, and example output.
- ONTAP cluster reachable over HTTPS (9.8+ recommended)
- Admin credentials, or a user with appropriate RBAC permissions
- Network access to the cluster management LIF
Credentials are never hardcoded. Each style uses its native secret
mechanism — environment variables, Ansible Vault, or Terraform sensitive
variables.
SSL verification is disabled by default for self-signed certificates
| Style | Enable verification |
|---|---|
| Python | export ONTAP_VERIFY_SSL=true |
| Ansible | ontap_validate_certs: true in group_vars/ontap.yml |
| Terraform | validate_certs = true in terraform.tfvars |
Once CA-signed certificates are in place, we recommend turning it on.
| Link | What's inside |
|---|---|
| Project website | Guided tour, prompts, full contribution guide |
| Choosing an approach | Decision guide and feature matrix |
| ONTAP API patterns | REST conventions, auth, async jobs |
| Troubleshooting | Common errors and fixes |
| Testing | What to run and capture in the PR Test Report |
| Contributing | Fork, branch, run checks, open a PR |
Apache-2.0 © NetApp