NFS3 and iSCSI automation tests; Fix for NFS Cancel Maintenance#66
Open
sandeeplocharla wants to merge 6 commits into
Open
NFS3 and iSCSI automation tests; Fix for NFS Cancel Maintenance#66sandeeplocharla wants to merge 6 commits into
sandeeplocharla wants to merge 6 commits into
Conversation
19bcfc3 to
e656893
Compare
96b40d9 to
9bf2bc7
Compare
14 tasks
added 6 commits
July 10, 2026 06:10
9bf2bc7 to
a2cd65e
Compare
There was a problem hiding this comment.
Pull request overview
This pull request adds a comprehensive Marvin-based integration test suite for the NetApp ONTAP primary storage plugin, covering NFS3 and iSCSI workflows end-to-end (pool lifecycle, volume lifecycle, and VM attach/detach), along with supporting documentation and a convenience runner script.
Changes:
- Added 10 ONTAP integration test suites (NFS3 + iSCSI) with a shared
OntapTestBase+ ONTAP REST verification client. - Added documentation (README + full test-case matrix) and a
run_tests.shwrapper to execute suites by tag. - Added an
ontap.cfgconfiguration file for test environments (needs scrubbing before merge).
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| test/integration/plugins/ontap/TEST_CASES.md | Adds a detailed test-case reference matrix for all ONTAP suites. |
| test/integration/plugins/ontap/run_tests.sh | Adds a tag-driven runner to execute each suite file sequentially and summarize results. |
| test/integration/plugins/ontap/README.md | Documents test layout, prerequisites, configuration, and execution patterns. |
| test/integration/plugins/ontap/ontap.cfg | Provides a Marvin config for ONTAP tests (currently contains real-looking credentials/IPs). |
| test/integration/plugins/ontap/ontap_test_base.py | Introduces shared base class, ONTAP REST client, and common helpers/cleanup. |
| test/integration/plugins/ontap/init.py | Package initializer for the ONTAP test plugin directory. |
| test/integration/plugins/ontap/nfs3/init.py | Package initializer for NFS3 tests. |
| test/integration/plugins/ontap/nfs3/pool/init.py | Package initializer for NFS3 pool suites. |
| test/integration/plugins/ontap/nfs3/pool/test_pool_lifecycle.py | Adds NFS3 pool lifecycle workflow tests and ONTAP-side assertions. |
| test/integration/plugins/ontap/nfs3/pool/test_pool_with_volumes.py | Adds NFS3 pool lifecycle tests with a live volume present (incl. cancel-maintenance behavior checks). |
| test/integration/plugins/ontap/nfs3/pool/test_zone_scoped_pool.py | Adds zone-scoped NFS3 pool tests including host connectivity/export-policy assertions. |
| test/integration/plugins/ontap/nfs3/volume/init.py | Package initializer for NFS3 volume suites. |
| test/integration/plugins/ontap/nfs3/volume/test_volume_lifecycle.py | Adds NFS3 volume lifecycle tests (CS metadata semantics) and negative delete coverage. |
| test/integration/plugins/ontap/nfs3/instance/init.py | Package initializer for NFS3 instance suites. |
| test/integration/plugins/ontap/nfs3/instance/test_vm_volume_attach.py | Adds NFS3 VM + volume attach/detach lifecycle tests. |
| test/integration/plugins/ontap/iscsi/init.py | Package initializer for iSCSI tests. |
| test/integration/plugins/ontap/iscsi/pool/init.py | Package initializer for iSCSI pool suites. |
| test/integration/plugins/ontap/iscsi/pool/test_pool_lifecycle.py | Adds iSCSI pool lifecycle workflow tests and ONTAP-side assertions (igroups, LUNs). |
| test/integration/plugins/ontap/iscsi/pool/test_pool_with_volumes.py | Adds iSCSI pool lifecycle tests with a live volume (LUN) present. |
| test/integration/plugins/ontap/iscsi/pool/test_zone_scoped_pool.py | Adds zone-scoped iSCSI pool tests including igroup assertions. |
| test/integration/plugins/ontap/iscsi/volume/init.py | Package initializer for iSCSI volume suites. |
| test/integration/plugins/ontap/iscsi/volume/test_volume_lifecycle.py | Adds iSCSI volume lifecycle tests (LUN per CS volume) and negative delete coverage. |
| test/integration/plugins/ontap/iscsi/instance/init.py | Package initializer for iSCSI instance suites. |
| test/integration/plugins/ontap/iscsi/instance/test_vm_volume_attach.py | Adds iSCSI VM + volume attach/detach lifecycle tests with LUN-map assertions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+35
to
+42
| from marvin.cloudstackAPI import ( | ||
| cancelStorageMaintenance, | ||
| createVolume as createVolumeAPI, | ||
| deleteStoragePool as deleteStoragePoolAPI, | ||
| deleteVolume as deleteVolumeAPI, | ||
| listDiskOfferings as listDiskOfferingsAPI, | ||
| updateStoragePool as updateStoragePoolAPI, | ||
| ) |
Comment on lines
+10
to
+13
| "url": "http://10.193.56.65", | ||
| "username": "root", | ||
| "password": "netapp1!" | ||
| } |
Comment on lines
+22
to
+26
| "dbSvr": "10.193.56.62", | ||
| "passwd": "", | ||
| "db": "cloud", | ||
| "port": 3306, | ||
| "user": "root" |
Comment on lines
+33
to
+37
| "mgtSvrIp": "10.193.56.62", | ||
| "port": 8096, | ||
| "user": "admin", | ||
| "passwd": "password", | ||
| "hypervisor": "kvm" |
Comment on lines
+41
to
+45
| "storageIP": "10.196.38.187", | ||
| "svmName": "vs0", | ||
| "username": "admin", | ||
| "password": "netapp1!" | ||
| }, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR has the following:
Automation tests for NFS3 and iSCSI protocols
Run all 10 suites
Run a single suite by tag
Fix for Cancel maintenance not functioning properly in case of NFS3
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
How did you try to break this feature and the system with this change?