Skip to content

CSTACKEX-286: Automation testing for storagepool resize - #104

Open
sp16743 wants to merge 2 commits into
mainfrom
automation/CSTACKEX-286
Open

sp16743 wants to merge 2 commits into
mainfrom
automation/CSTACKEX-286

Conversation

@sp16743

@sp16743 sp16743 commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR...

Automation test coverage for ONTAP primary storage pool resize on both NFS3 and iSCSI, covering grow, safe shrink, and reject-when-used-space-would-be-exceeded.

1.test_02_grow_storage_pool — grow the empty pool by ONTAP_MIN_VOLUME_SIZE, then poll until CloudStack capacitybytes and ONTAP FlexVol space.size match the request and the pool stays Up (NFS export policy / iSCSI igroups unchanged).
2.test_03_shrink_storage_pool — shrink back to the original size and assert the same CloudStack + ONTAP convergence.
3.test_10_reject_shrink_below_used_capacity — after a new pool + volume, attempt a shrink below ONTAP used space (target kept above the 20 MiB FlexVol minimum). Expect CloudstackAPIException; volume, pool capacity, and protocol objects stay unchanged.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

Screenshot 2026-09-16 at 3 22 56 PM Screenshot 2026-09-16 at 3 23 28 PM

How Has This Been Tested?

What was verified:

1.test_02_grow_storage_pool:-
Pool capacity and ONTAP FlexVol space.size increase; pool stays Up; NFS export policy / iSCSI igroups unchanged

2.test_03_shrink_storage_pool:-
Capacity returns to the original size on CloudStack and ONTAP; pool stays Up

3.test_10_reject_shrink_below_used_capacity:-
Shrink below ONTAP used space is rejected; volume, pool capacity, and protocol objects (export policy / LUNs) are unchanged

Environment:
CloudStack management server with the NetApp ONTAP plugin deployed (integration API on port 8096)
KVM cluster from test/integration/plugins/ontap/ontap.cfg
ONTAP SVM with NFS3 and iSCSI enabled, at least one data LIF per protocol
Tests executed from the repo root using the ONTAP Marvin venv (setup_env.sh)

How did you try to break this feature and the system with this change?

@sp16743 sp16743 changed the title CSTACKEX-286: Automation changes for storagepool resize CSTACKEX-286: Automation testing for storagepool resize Sep 16, 2026
@github-actions

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.74%
Branch coverage 18.87%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@github-actions

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.74%
Branch coverage 18.87%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant