GeezerVison is showing github.com — Automation tests for Compute to Compute with Storage VM migration and Storage migration by sandeeplocharla · Pull Request #113 · NetApp/cloudstack
Conversation
Description
This PR...
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
Bug Severity
- BLOCKER
- Critical
- Major
- Minor
- Trivial
Screenshots (if appropriate):
How Has This Been Tested?
root@cstack53:/tmp/MarvinLogs/test_01_live_vm_with_storage_migration_YNFXRI# cat results.txt
Live-migrate DefaultPrimary root/data volumes to NFS3 C1a. ... === TestName: test_01_nfs3_default_primary_to_cluster | Status : SUCCESS ===
ok
Live-migrate the NFS3 VM from C1a to C1b. ... === TestName: test_02_nfs3_cluster_to_cluster | Status : SUCCESS ===
ok
Live-migrate the NFS3 VM from C1b to Z1. ... === TestName: test_03_nfs3_cluster_to_zone | Status : SUCCESS ===
ok
Live-migrate the NFS3 VM from Z1 to Z2. ... === TestName: test_04_nfs3_zone_to_zone | Status : SUCCESS ===
ok
Live-migrate the NFS3 VM from Z2 back to C1a. ... === TestName: test_05_nfs3_zone_to_cluster | Status : SUCCESS ===
ok
Live-migrate DefaultPrimary root/data volumes to iSCSI C1a. ... === TestName: test_06_iscsi_default_primary_to_cluster | Status : SUCCESS ===
ok
Live-migrate the iSCSI VM from C1a to C1b. ... === TestName: test_07_iscsi_cluster_to_cluster | Status : SUCCESS ===
ok
Live-migrate the iSCSI VM from C1b to Z1. ... === TestName: test_08_iscsi_cluster_to_zone | Status : SUCCESS ===
ok
Live-migrate the iSCSI VM from Z1 to Z2. ... === TestName: test_09_iscsi_zone_to_zone | Status : SUCCESS ===
ok
Live-migrate the iSCSI VM from Z2 back to C1a. ... === TestName: test_10_iscsi_zone_to_cluster | Status : SUCCESS ===
ok
Reject a live NFS3-to-iSCSI volume mapping. ... === TestName: test_11_reject_nfs3_to_iscsi | Status : SUCCESS ===
ok
Reject a live iSCSI-to-NFS3 volume mapping. ... === TestName: test_12_reject_iscsi_to_nfs3 | Status : SUCCESS ===
ok
Reject migrateVolume livemigrate=true on a running attached volume. ... === TestName: test_13_reject_live_volume_only | Status : SUCCESS ===
ok
After host split, live-migrate NFS3 storage from C1a to C2. ... === TestName: test_14_nfs3_cluster_to_cluster | Status : SUCCESS ===
ok
Live-migrate NFS3 storage from C1a to Z1 onto a C2 host. ... === TestName: test_15_nfs3_cluster_to_zone | Status : SUCCESS ===
ok
Live-migrate the NFS3 VM from Z1 to C2. ... === TestName: test_16_nfs3_zone_to_cluster | Status : SUCCESS ===
ok
Live-migrate NFS3 storage from Z1 to Z2 onto a C2 host. ... === TestName: test_17_nfs3_zone_to_zone | Status : SUCCESS ===
ok
Live-migrate iSCSI storage from C1a to C2 onto a C2 host. ... === TestName: test_18_iscsi_cluster_to_cluster | Status : SUCCESS ===
ok
Live-migrate iSCSI storage from C1a to Z1 onto a C2 host. ... === TestName: test_19_iscsi_cluster_to_zone | Status : SUCCESS ===
ok
Live-migrate the iSCSI VM from Z1 to C2. ... === TestName: test_20_iscsi_zone_to_cluster | Status : SUCCESS ===
ok
Live-migrate iSCSI storage from Z1 to Z2 onto a C2 host. ... === TestName: test_21_iscsi_zone_to_zone | Status : SUCCESS ===
ok
Reject mapping a cluster-1 pool to a host that lives in cluster 2. ... === TestName: test_22_reject_pool_not_reachable_from_destination_host | Status : SUCCESS ===
ok
Ran 22 tests in 3989.366s
OK
root@cstack53:/tmp/MarvinLogs/test_02_stopped_vm_storage_migration_FGCD7L# cat results.txt
Move a stopped VM's volumes from DefaultPrimary to NFS3 C1a. ... === TestName: test_01_nfs3_default_primary_to_cluster | Status : SUCCESS ===
ok
Move NFS3 volumes between cluster pools in the same cluster. ... === TestName: test_02_nfs3_cluster_to_cluster_same_cluster | Status : SUCCESS ===
ok
Move NFS3 volumes to a cluster pool in the second cluster. ... === TestName: test_03_nfs3_cluster_to_cluster_across_clusters | Status : SUCCESS ===
ok
Move NFS3 volumes from a cluster pool to a zone-wide pool. ... === TestName: test_04_nfs3_cluster_to_zone | Status : SUCCESS ===
ok
Move NFS3 volumes between two zone-wide pools. ... === TestName: test_05_nfs3_zone_to_zone | Status : SUCCESS ===
ok
Move NFS3 volumes from a zone-wide pool back to cluster C1a. ... === TestName: test_06_nfs3_zone_to_cluster | Status : SUCCESS ===
ok
Move a stopped VM's volumes from DefaultPrimary to iSCSI C1a. ... === TestName: test_07_iscsi_default_primary_to_cluster | Status : SUCCESS ===
ok
Move iSCSI volumes between cluster pools in the same cluster. ... === TestName: test_08_iscsi_cluster_to_cluster_same_cluster | Status : SUCCESS ===
ok
Move iSCSI volumes to a cluster pool in the second cluster. ... === TestName: test_09_iscsi_cluster_to_cluster_across_clusters | Status : SUCCESS ===
ok
Move iSCSI volumes from a cluster pool to a zone-wide pool. ... === TestName: test_10_iscsi_cluster_to_zone | Status : SUCCESS ===
ok
Move iSCSI volumes between two zone-wide pools. ... === TestName: test_11_iscsi_zone_to_zone | Status : SUCCESS ===
ok
Move iSCSI volumes from a zone-wide pool back to cluster C1a. ... === TestName: test_12_iscsi_zone_to_cluster | Status : SUCCESS ===
ok
Reject a stopped-VM migration from NFS3 storage to iSCSI. ... === TestName: test_13_reject_nfs3_to_iscsi | Status : SUCCESS ===
ok
Reject a stopped-VM migration from iSCSI storage to NFS3. ... === TestName: test_14_reject_iscsi_to_nfs3 | Status : SUCCESS ===
ok
Reject the stopped-VM API form once the chain VM is running. ... === TestName: test_15_reject_running_vm | Status : SUCCESS ===
ok
Ran 15 tests in 1328.793s
OK
root@cstack53:/tmp/MarvinLogs/test_03_volume_migration_YAKSKE# cat results.txt
Migrate a detached NFS3 volume from DefaultPrimary to C1a. ... === TestName: test_01_nfs3_detached_default_primary_to_cluster | Status : SUCCESS ===
ok
Migrate the detached NFS3 volume from C1a to C1b. ... === TestName: test_02_nfs3_detached_cluster_to_cluster_same_cluster | Status : SUCCESS ===
ok
Migrate the detached NFS3 volume from C1b to C2. ... === TestName: test_03_nfs3_detached_cluster_to_cluster_across_clusters | Status : SUCCESS ===
ok
Migrate the detached NFS3 volume from C2 to Z1. ... === TestName: test_04_nfs3_detached_cluster_to_zone | Status : SUCCESS ===
ok
Migrate the detached NFS3 volume from Z1 to Z2. ... === TestName: test_05_nfs3_detached_zone_to_zone | Status : SUCCESS ===
ok
Migrate the detached NFS3 volume from Z2 back to C1a. ... === TestName: test_06_nfs3_detached_zone_to_cluster | Status : SUCCESS ===
ok
Migrate a detached iSCSI volume from DefaultPrimary to C1a. ... === TestName: test_07_iscsi_detached_default_primary_to_cluster | Status : SUCCESS ===
ok
Migrate the detached iSCSI volume from C1a to C1b. ... === TestName: test_08_iscsi_detached_cluster_to_cluster_same_cluster | Status : SUCCESS ===
ok
Migrate the detached iSCSI volume from C1b to C2. ... === TestName: test_09_iscsi_detached_cluster_to_cluster_across_clusters | Status : SUCCESS ===
ok
Migrate the detached iSCSI volume from C2 to Z1. ... === TestName: test_10_iscsi_detached_cluster_to_zone | Status : SUCCESS ===
ok
Migrate the detached iSCSI volume from Z1 to Z2. ... === TestName: test_11_iscsi_detached_zone_to_zone | Status : SUCCESS ===
ok
Migrate the detached iSCSI volume from Z2 back to C1a. ... === TestName: test_12_iscsi_detached_zone_to_cluster | Status : SUCCESS ===
ok
Move stopped-attached NFS3 data C1a to Z1, preserving its root. ... === TestName: test_13_nfs3_attached_stopped_vm_cluster_to_zone | Status : SUCCESS ===
ok
Move stopped-attached iSCSI data C1a to Z1, preserving its root. ... === TestName: test_14_iscsi_attached_stopped_vm_cluster_to_zone | Status : SUCCESS ===
ok
Move stopped-attached non-ONTAP data to ONTAP NFS3. ... === TestName: test_15_nfs3_attached_stopped_vm_default_to_ontap | Status : SUCCESS ===
ok
Move stopped-attached non-ONTAP data to ONTAP iSCSI. ... === TestName: test_16_iscsi_attached_stopped_vm_default_to_ontap | Status : SUCCESS ===
ok
Reject detached NFS3-to-iSCSI migration. ... === TestName: test_17_reject_detached_nfs3_to_iscsi | Status : SUCCESS ===
ok
Reject detached iSCSI-to-NFS3 migration. ... === TestName: test_18_reject_detached_iscsi_to_nfs3 | Status : SUCCESS ===
ok
Reject stopped-attached NFS3-to-iSCSI migration. ... === TestName: test_19_reject_stopped_attached_nfs3_to_iscsi | Status : SUCCESS ===
ok
Reject stopped-attached iSCSI-to-NFS3 migration. ... === TestName: test_20_reject_stopped_attached_iscsi_to_nfs3 | Status : SUCCESS ===
ok
Reject running-attached NFS3 migration without livemigrate. ... === TestName: test_21_reject_attached_running_vm_without_livemigrate | Status : SUCCESS ===
ok
Reject live volume-only migration in favor of VM-with-volume. ... === TestName: test_22_reject_attached_running_vm_with_livemigrate | Status : SUCCESS ===
ok
Reject migration to the stopped-attached volume's current pool. ... === TestName: test_23_reject_same_pool | Status : SUCCESS ===
ok
Ran 23 tests in 1420.347s
OK
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
🔴 Test Coverage Grade: D — Marginal
| Metric |
Value |
| Line coverage |
24.73% |
| Branch coverage |
18.86% |
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
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
🔴 Test Coverage Grade: D — Marginal
| Metric |
Value |
| Line coverage |
24.73% |
| Branch coverage |
18.86% |
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
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
🔴 Test Coverage Grade: D — Marginal
| Metric |
Value |
| Line coverage |
24.84% |
| Branch coverage |
19.00% |
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
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
🔴 Test Coverage Grade: D — Marginal
| Metric |
Value |
| Line coverage |
25.82% |
| Branch coverage |
20.11% |
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
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Disks created with min and max IOPS should keep those policies after live, stopped, and offline moves.
|
|
and host URLs come from `test/integration/plugins/ontap/ontap.cfg`. Do not
|
|
|
hard-code them in test code.
|
|
|
|
|
|
Deeper design lives in the Cursor skill
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Skip having cursor specific details here.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this has been pushed on purpose to be able to reuse. Also, if you could recall, I've asked regarding this in scrum and Rajiv was ok with it as long as such files are not pushed to upstream.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I understand. My point of this comment is Agents.md is meant to be harness agnostic, let it be cursor, claude , copilot. If we want to have specific harness agents.md, it can sit inside their own folder. (like co-pilot-instructions.md etc)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
|
Always-on operating notes for agents working on KVM live VM migration and
|
|
|
live VM-with-storage migration for NetApp ONTAP primary storage.
|
|
|
|
|
|
Ticket: **CSTACKEX-262**. Branch: `feature/CSTACKEX-262`.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
… text
- test_01: move the five live QoS cases to test_14-test_18 so they run while both hosts are in the primary cluster; expunge each QoS VM after its check
- test_01/test_02: match the current cross-protocol rejection message
…ed FlexVols
Setup no longer selects existing OntapMigration FlexVols. Stopped-VM QoS cases
create a fresh pool per case, so repeated LUN creates do not fill one 20 GiB
volume and fail with ONTAP error 1245212.
The path-change assertions in the volume migration suite skipped iSCSI, so
cases 07-12, 14 and 16 could pass without checking that the volume path
changed. Run the assertion for both protocols, as the automation spec says.
Verified on the lab: all 28 volume_migration cases pass with the check on.
Also remove a trailing blank line in test_01 to fix the end-of-file
pre-commit hook.
|
|
"QCOW2" if protocol.upper() == "NFS3" else "RAW"
|
|
|
)
|
|
|
reported_format = getattr(current, "format", None)
|
|
|
if reported_format:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The listVolumes API response does not include a format field. So,this condition is always false and the format validation is skipped.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
piyush5netapp reacted with thumbs up emoji
Reviewers
sp16743
sp16743 left review comments
suryag1201
Awaiting requested review from suryag1201
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.
|