Visitar URL original
CSTACKEX-286: Document resize while disabled tests · NetApp/cloudstack@1b68a98 · GitHub
Skip to content

Commit 1b68a98

Browse files
committed
CSTACKEX-286: Document resize while disabled tests
1 parent d03a0a7 commit 1b68a98

2 files changed

Lines changed: 31 additions & 29 deletions

File tree

‎test/integration/plugins/ontap/README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ CI wiring:
3232
test/integration/plugins/ontap/
3333
├── ontap.cfg # Environment config (IPs, credentials, zone info)
3434
├── ontap_test_base.py # Shared base class and ONTAP REST client
35-
├── TEST_CASES.md # Full test case reference table (68 tests)
35+
├── TEST_CASES.md # Full test case reference table (84 tests)
3636
├── README.md # This file
3737
│
3838
├── nfs3/
@@ -306,12 +306,12 @@ self.assertEqual(result.state, "Maintenance")
306306

307307
| Suite | File | Tests | What it covers |
308308
|-------|------|-------|---------------|
309-
| NFS3 Pool Lifecycle | `nfs3/pool/test_pool_lifecycle.py` | 15 | Create, grow to 300 TiB, reject grow past 300 TiB, safe shrink, disable, enable, maintenance, resize in maintenance, delete, then re-create with a volume, reject shrink below used capacity, deploy a VM and attach the volume, cleanup |
309+
| NFS3 Pool Lifecycle | `nfs3/pool/test_pool_lifecycle.py` | 16 | Create, grow to 300 TiB, reject grow past 300 TiB, safe shrink, disable, resize while disabled, enable, maintenance, resize in maintenance, delete, then re-create with a volume, reject shrink below used capacity, deploy a VM and attach the volume, cleanup |
310310
| NFS3 Pool with Volumes | `nfs3/pool/test_pool_with_volumes.py` | 7 | Same + live volume present; negative delete guard |
311311
| NFS3 Zone-Scoped Pool | `nfs3/pool/test_zone_scoped_pool.py` | 6 | Zone scope — all hosts connected via `attachZone`; grow and safe shrink |
312312
| NFS3 Volume Lifecycle | `nfs3/volume/test_volume_lifecycle.py` | 5 | Volume is metadata-only; FlexVol unchanged on delete |
313313
| NFS3 VM + Volume Attach | `nfs3/instance/test_vm_volume_attach.py` | 8 | Full VM lifecycle with hot-plug/detach |
314-
| iSCSI Pool Lifecycle | `iscsi/pool/test_pool_lifecycle.py` | 15 | Create, grow to 300 TiB, reject grow past 300 TiB, safe shrink, disable, enable, maintenance, resize in maintenance, delete + igroups, then re-create with a volume (LUN), reject shrink below used capacity, deploy a VM and attach the volume, cleanup |
314+
| iSCSI Pool Lifecycle | `iscsi/pool/test_pool_lifecycle.py` | 16 | Create, grow to 300 TiB, reject grow past 300 TiB, safe shrink, disable, resize while disabled, enable, maintenance, resize in maintenance, delete + igroups, then re-create with a volume (LUN), reject shrink below used capacity, deploy a VM and attach the volume, cleanup |
315315
| iSCSI Pool with Volumes | `iscsi/pool/test_pool_with_volumes.py` | 7 | Same + live LUN present; negative delete guard |
316316
| iSCSI Zone-Scoped Pool | `iscsi/pool/test_zone_scoped_pool.py` | 6 | Zone scope; grow and safe shrink |
317317
| iSCSI Volume Lifecycle | `iscsi/volume/test_volume_lifecycle.py` | 5 | LUN created per CS volume; LUN removed on delete |

‎test/integration/plugins/ontap/TEST_CASES.md‎

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
# ONTAP Integration Test Cases
2121

22-
Complete reference for all 68 test cases across 10 test suites.
22+
Complete reference for all 84 test cases across 10 test suites.
2323
Each suite is sequential — tests must run in numbered order; each step builds on state created by the previous step.
2424

2525
---
@@ -42,7 +42,7 @@ Each suite is sequential — tests must run in numbered order; each step builds
4242
**File:** `nfs3/pool/test_pool_lifecycle.py`
4343
**Class:** `TestOntapNFS3PrimaryStorageWorkflow`
4444
**Tag:** `nfs3_workflow`
45-
**Total:** 15 tests | **Scope:** cluster-scoped NFS3 pool, no volumes for tests 01–10
45+
**Total:** 16 tests | **Scope:** cluster-scoped NFS3 pool, no volumes for tests 01–11
4646

4747
| # | Test method | Goal | Depends on | CloudStack success criteria | ONTAP success criteria | Type |
4848
|---|-------------|------|------------|-----------------------------|------------------------|------|
@@ -51,16 +51,17 @@ Each suite is sequential — tests must run in numbered order; each step builds
5151
| 03 | `test_03_reject_grow_above_max_size` | Reject a grow past the 300 TiB ONTAP FlexVol maximum (overshoots by 1 GiB; asserts ONTAP's autosize-maximum error, not a generic failure such as aggregate space) | test_02 | `CloudstackAPIException`; `capacitybytes` stays at 300 TiB; pool stays `Up` | FlexVol `space.size` unchanged; export policy unchanged | negative |
5252
| 04 | `test_04_shrink_storage_pool` | Safely shrink the original empty pool to its initial capacity | test_02 | `capacitybytes` reaches the safe target; pool stays `Up` | FlexVol `space.size` reaches the safe target; remains `online`; export policy unchanged | positive |
5353
| 05 | `test_05_disable_storage_pool` | Disable the pool (admin operation) | test_04 | `pool.state == "Disabled"` | FlexVol still `online`; export policy still present | positive |
54-
| 06 | `test_06_enable_storage_pool` | Re-enable the pool | test_05 | `pool.state == "Up"` | FlexVol still `online`; export policy still present | positive |
55-
| 07 | `test_07_enter_maintenance_mode` | Put pool into maintenance (drains new volume allocations) | test_06 | `pool.state == "Maintenance"` | FlexVol still `online`; export policy still present (maintenance is CS-only state) | positive |
56-
| 08 | `test_08_resize_storage_pool_in_maintenance` | Grow the pool while it is in maintenance mode | test_07 | `updateStoragePool` accepted; `capacitybytes` reaches the requested size; `pool.state` stays `"Maintenance"` | FlexVol `space.size` reaches the requested size; remains `online`; export policy unchanged | positive |
57-
| 09 | `test_09_cancel_maintenance_mode` | Cancel maintenance, return pool to service | test_08 | `pool.state == "Up"` | FlexVol still `online`; export policy still present | positive |
58-
| 10 | `test_10_delete_pool_from_maintenance` | Enter maintenance then permanently delete the original pool | test_09 | Pool no longer returned by `listStoragePools` (CS 431 error expected on ID lookup) | FlexVol and export policy deleted | positive |
59-
| 11 | `test_11_create_volume_on_pool` | Create a fresh pool and allocate a CloudStack data volume | test_10 | New pool is `Up`; `createVolume` returns a volume | FlexVol `online`; export policy present | positive |
60-
| 12 | `test_12_create_vm_and_attach_volume` | Deploy a VM and attach the ONTAP data volume to it | test_11 | VM reaches `Running`; volume reports `virtualmachineid` equal to the VM id; VM still `Running` after attach; pool capacity unchanged | FlexVol still `online`; volume data file materialised in the FlexVol (NFS3 creates it lazily at attach) | positive |
61-
| 13 | `test_13_reject_shrink_below_used_capacity` | Reject shrink below the used space of the VM-attached volume, with the target held above the ONTAP FlexVol minimum. Writes incompressible data through the ONTAP files API when the VM-attached thin volume leaves used space under the minimum, and removes it before returning | test_12 (`pool`, `volume`, `vm`) | `CloudstackAPIException`; volume remains listed with unchanged `id`/`state`/`size`/`poolid`; pool capacity unchanged | FlexVol size and export policy unchanged; used space stays above the FlexVol minimum | negative |
62-
| 14 | `test_14_resize_pool_with_vm_attached` | Grow then shrink the pool back while the volume is attached to the running VM | test_12 (`vm`, `volume`) | Both resizes reach the requested capacity; pool stays `Up`; VM stays `Running` and keeps `virtualmachineid` on the volume | FlexVol reaches each size and stays `online`; export policy still covers every host IP | positive |
63-
| 15 | `test_15_delete_volume_and_pool` | Detach and destroy the VM, delete the volume, then force-delete the pool | test_14 | VM destroyed; volume and pool no longer listed | FlexVol and export policy deleted | cleanup |
54+
| 06 | `test_06_resize_storage_pool_while_disabled` | Grow then shrink the pool back while it is Disabled | test_05 | Both `updateStoragePool` calls accepted; `capacitybytes` reaches each target; `pool.state` stays `"Disabled"` throughout | FlexVol `space.size` reaches each target and stays `online`; export policy still present and still covers every host IP | positive |
55+
| 07 | `test_07_enable_storage_pool` | Re-enable the pool | test_06 | `pool.state == "Up"` | FlexVol still `online`; export policy still present | positive |
56+
| 08 | `test_08_enter_maintenance_mode` | Put pool into maintenance (drains new volume allocations) | test_07 | `pool.state == "Maintenance"` | FlexVol still `online`; export policy still present (maintenance is CS-only state) | positive |
57+
| 09 | `test_09_resize_storage_pool_in_maintenance` | Grow the pool while it is in maintenance mode | test_08 | `updateStoragePool` accepted; `capacitybytes` reaches the requested size; `pool.state` stays `"Maintenance"` | FlexVol `space.size` reaches the requested size; remains `online`; export policy unchanged | positive |
58+
| 10 | `test_10_cancel_maintenance_mode` | Cancel maintenance, return pool to service | test_09 | `pool.state == "Up"` | FlexVol still `online`; export policy still present | positive |
59+
| 11 | `test_11_delete_pool_from_maintenance` | Enter maintenance then permanently delete the original pool | test_10 | Pool no longer returned by `listStoragePools` (CS 431 error expected on ID lookup) | FlexVol and export policy deleted | positive |
60+
| 12 | `test_12_create_volume_on_pool` | Create a fresh pool and allocate a CloudStack data volume | test_11 | New pool is `Up`; `createVolume` returns a volume | FlexVol `online`; export policy present | positive |
61+
| 13 | `test_13_create_vm_and_attach_volume` | Deploy a VM and attach the ONTAP data volume to it | test_12 | VM reaches `Running`; volume reports `virtualmachineid` equal to the VM id; VM still `Running` after attach; pool capacity unchanged | FlexVol still `online`; volume data file materialised in the FlexVol (NFS3 creates it lazily at attach) | positive |
62+
| 14 | `test_14_reject_shrink_below_used_capacity` | Reject shrink below the used space of the VM-attached volume, with the target held above the ONTAP FlexVol minimum. Writes incompressible data through the ONTAP files API when the VM-attached thin volume leaves used space under the minimum, and removes it before returning | test_13 (`pool`, `volume`, `vm`) | `CloudstackAPIException`; volume remains listed with unchanged `id`/`state`/`size`/`poolid`; pool capacity unchanged | FlexVol size and export policy unchanged; used space stays above the FlexVol minimum | negative |
63+
| 15 | `test_15_resize_pool_with_vm_attached` | Grow then shrink the pool back while the volume is attached to the running VM | test_13 (`vm`, `volume`) | Both resizes reach the requested capacity; pool stays `Up`; VM stays `Running` and keeps `virtualmachineid` on the volume | FlexVol reaches each size and stays `online`; export policy still covers every host IP | positive |
64+
| 16 | `test_16_delete_volume_and_pool` | Detach and destroy the VM, delete the volume, then force-delete the pool | test_15 | VM destroyed; volume and pool no longer listed | FlexVol and export policy deleted | cleanup |
6465

6566
---
6667

@@ -143,7 +144,7 @@ Each suite is sequential — tests must run in numbered order; each step builds
143144
**File:** `iscsi/pool/test_pool_lifecycle.py`
144145
**Class:** `TestOntapISCSIPoolLifecycle`
145146
**Tag:** `iscsi_workflow`
146-
**Total:** 15 tests | **Scope:** cluster-scoped iSCSI pool, no volumes for tests 01–10
147+
**Total:** 16 tests | **Scope:** cluster-scoped iSCSI pool, no volumes for tests 01–11
147148

148149
| # | Test method | Goal | Depends on | CloudStack success criteria | ONTAP success criteria | Type |
149150
|---|-------------|------|------------|-----------------------------|------------------------|------|
@@ -152,16 +153,17 @@ Each suite is sequential — tests must run in numbered order; each step builds
152153
| 03 | `test_03_reject_grow_above_max_size` | Reject a grow past the 300 TiB ONTAP FlexVol maximum (overshoots by 1 GiB; asserts ONTAP's autosize-maximum error, not a generic failure such as aggregate space) | test_02 | `CloudstackAPIException`; `capacitybytes` stays at 300 TiB; pool stays `Up` | FlexVol `space.size` unchanged; igroups unchanged | negative |
153154
| 04 | `test_04_shrink_storage_pool` | Safely shrink the original empty pool to its initial capacity | test_02 | `capacitybytes` reaches the safe target; pool stays `Up` | FlexVol reaches the safe target and remains `online`; igroups remain present | positive |
154155
| 05 | `test_05_disable_storage_pool` | Disable the pool | test_04 | `pool.state == "Disabled"` | FlexVol still `online` | positive |
155-
| 06 | `test_06_enable_storage_pool` | Re-enable the pool | test_05 | `pool.state == "Up"` | FlexVol still `online` | positive |
156-
| 07 | `test_07_enter_maintenance_mode` | Put pool into maintenance | test_06 | `pool.state == "Maintenance"` | FlexVol still `online`; igroups unchanged | positive |
157-
| 08 | `test_08_resize_storage_pool_in_maintenance` | Grow the pool while it is in maintenance mode | test_07 | `updateStoragePool` accepted; `capacitybytes` reaches the requested size; `pool.state` stays `"Maintenance"` | FlexVol reaches the requested size and remains `online`; igroups unchanged | positive |
158-
| 09 | `test_09_cancel_maintenance_mode` | Cancel maintenance | test_08 | `pool.state == "Up"` | FlexVol still `online` | positive |
159-
| 10 | `test_10_enter_maintenance_and_delete_pool` | Enter maintenance then delete the original pool | test_09 | Pool no longer listed | FlexVol and all host igroups deleted | positive |
160-
| 11 | `test_11_create_volume_on_pool` | Create a fresh pool and allocate a CloudStack volume | test_10 | New pool is `Up`; `createVolume` returns a volume | FlexVol `online`; at least one LUN present | positive |
161-
| 12 | `test_12_create_vm_and_attach_volume` | Deploy a VM and attach the ONTAP data volume (LUN) to it | test_11 | VM reaches `Running`; volume reports `virtualmachineid` equal to the VM id; VM still `Running` after attach | FlexVol still `online`; LUN still present; per-host igroups unchanged | positive |
162-
| 13 | `test_13_reject_shrink_below_used_capacity` | Reject shrink below the used space of the VM-attached LUN, with the target held above the ONTAP FlexVol minimum. Writes incompressible data through the ONTAP files API when the VM-attached thin volume leaves used space under the minimum, and removes it before returning | test_12 (`pool`, `volume`, `vm`) | `CloudstackAPIException`; volume remains listed with unchanged `id`/`state`/`size`/`poolid`; pool capacity unchanged | FlexVol size and LUN uuid/name list unchanged; used space stays above the FlexVol minimum | negative |
163-
| 14 | `test_14_resize_pool_with_vm_attached` | Grow then shrink the pool back while the volume (LUN) is attached to the running VM | test_12 (`vm`, `volume`) | Both resizes reach the requested capacity; pool stays `Up`; VM stays `Running` and keeps `virtualmachineid` on the volume | FlexVol reaches each size and stays `online`; LUN still present | positive |
164-
| 15 | `test_15_delete_volume_and_pool` | Detach and destroy the VM, delete the volume, then force-delete the pool | test_14 | VM destroyed; volume and pool no longer listed | LUN, FlexVol, and igroups deleted | cleanup |
156+
| 06 | `test_06_resize_storage_pool_while_disabled` | Grow then shrink the pool back while it is Disabled | test_05 | Both `updateStoragePool` calls accepted; `capacitybytes` reaches each target; `pool.state` stays `"Disabled"` throughout | FlexVol `space.size` reaches each target and stays `online`; per-host igroups still present | positive |
157+
| 07 | `test_07_enable_storage_pool` | Re-enable the pool | test_06 | `pool.state == "Up"` | FlexVol still `online` | positive |
158+
| 08 | `test_08_enter_maintenance_mode` | Put pool into maintenance | test_07 | `pool.state == "Maintenance"` | FlexVol still `online`; igroups unchanged | positive |
159+
| 09 | `test_09_resize_storage_pool_in_maintenance` | Grow the pool while it is in maintenance mode | test_08 | `updateStoragePool` accepted; `capacitybytes` reaches the requested size; `pool.state` stays `"Maintenance"` | FlexVol reaches the requested size and remains `online`; igroups unchanged | positive |
160+
| 10 | `test_10_cancel_maintenance_mode` | Cancel maintenance | test_09 | `pool.state == "Up"` | FlexVol still `online` | positive |
161+
| 11 | `test_11_enter_maintenance_and_delete_pool` | Enter maintenance then delete the original pool | test_10 | Pool no longer listed | FlexVol and all host igroups deleted | positive |
162+
| 12 | `test_12_create_volume_on_pool` | Create a fresh pool and allocate a CloudStack volume | test_11 | New pool is `Up`; `createVolume` returns a volume | FlexVol `online`; at least one LUN present | positive |
163+
| 13 | `test_13_create_vm_and_attach_volume` | Deploy a VM and attach the ONTAP data volume (LUN) to it | test_12 | VM reaches `Running`; volume reports `virtualmachineid` equal to the VM id; VM still `Running` after attach | FlexVol still `online`; LUN still present; per-host igroups unchanged | positive |
164+
| 14 | `test_14_reject_shrink_below_used_capacity` | Reject shrink below the used space of the VM-attached LUN, with the target held above the ONTAP FlexVol minimum. Writes incompressible data through the ONTAP files API when the VM-attached thin volume leaves used space under the minimum, and removes it before returning | test_13 (`pool`, `volume`, `vm`) | `CloudstackAPIException`; volume remains listed with unchanged `id`/`state`/`size`/`poolid`; pool capacity unchanged | FlexVol size and LUN uuid/name list unchanged; used space stays above the FlexVol minimum | negative |
165+
| 15 | `test_15_resize_pool_with_vm_attached` | Grow then shrink the pool back while the volume (LUN) is attached to the running VM | test_13 (`vm`, `volume`) | Both resizes reach the requested capacity; pool stays `Up`; VM stays `Running` and keeps `virtualmachineid` on the volume | FlexVol reaches each size and stays `online`; LUN still present | positive |
166+
| 16 | `test_16_delete_volume_and_pool` | Detach and destroy the VM, delete the volume, then force-delete the pool | test_15 | VM destroyed; volume and pool no longer listed | LUN, FlexVol, and igroups deleted | cleanup |
165167

166168
---
167169

@@ -245,14 +247,14 @@ Each suite is sequential — tests must run in numbered order; each step builds
245247

246248
| Suite | Protocol | Scope | Tests | Status |
247249
|-------|---------|-------|-------|--------|
248-
| NFS3 Pool Lifecycle | NFS3 | Cluster | 15 | ✅ |
250+
| NFS3 Pool Lifecycle | NFS3 | Cluster | 16 | ✅ |
249251
| NFS3 Pool with Volumes | NFS3 | Cluster | 7 | ✅ |
250252
| NFS3 Zone-Scoped Pool | NFS3 | Zone | 6 | ✅ |
251253
| NFS3 Volume Lifecycle | NFS3 | Cluster | 5 | ✅ |
252254
| NFS3 VM + Volume Attach | NFS3 | Cluster | 8 | ✅ |
253-
| iSCSI Pool Lifecycle | iSCSI | Cluster | 15 | ✅ |
255+
| iSCSI Pool Lifecycle | iSCSI | Cluster | 16 | ✅ |
254256
| iSCSI Pool with Volumes | iSCSI | Cluster | 7 | ✅ |
255257
| iSCSI Zone-Scoped Pool | iSCSI | Zone | 6 | ✅ |
256258
| iSCSI Volume Lifecycle | iSCSI | Cluster | 5 | ✅ |
257259
| iSCSI VM + Volume Attach | iSCSI | Cluster | 8 | ⚠️ 7/8 |
258-
| **Total** | | | **70** | **Resize flows passed; 1 known environment failure** |
260+
| **Total** | | | **84** | **Resize flows passed; 1 known environment failure** |

0 commit comments

Comments
 (0)