abh1sar opened a new pull request, #14466:
URL: https://github.com/apache/cloudstack/pull/14466

   Deleting a disk-only VM snapshot merged each volume on its own and reported 
a single result, and the host kept merging after the management server had 
stopped waiting, so a timeout or a failure on one volume left already-merged 
volumes pointing to deleted files.
   * The host now holds active commits at the ready state and pivots them only 
once every volume is ready, cancels every job (leaving each backing chain 
unchanged) when one fails or the command's wait is about to run out, and 
reports which volumes were merged.
   * The management server sends its wait to the host, records exactly the 
merged volumes, marks the VM snapshot as Error on failure, and resumes the 
remaining volumes when the deletion is retried.
   
   
   ### Description
   
   This PR...
   <!--- Describe your changes in DETAIL - And how has behaviour functionally 
changed. -->
   
   <!-- For new features, provide link to FS, dev ML discussion etc. -->
   <!-- In case of bug fix, the expected and actual behaviours, steps to 
reproduce. -->
   
   <!-- When "Fixes: #<id>" is specified, the issue/PR will automatically be 
closed when this PR gets merged -->
   <!-- For addressing multiple issues/PRs, use multiple "Fixes: #<id>" -->
   <!-- Fixes: # -->
   
   <!--- 
******************************************************************************* 
-->
   <!--- NOTE: AUTOMATION USES THE DESCRIPTIONS TO SET LABELS AND PRODUCE 
DOCUMENTATION. -->
   <!--- PLEASE PUT AN 'X' in only **ONE** box -->
   <!--- 
******************************************************************************* 
-->
   
   ### 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):
   
   ### How Has This Been Tested?
   
   | # | Test case | Result |
   |---|---|---|
   | 1 | Delete current snapshot, running VM, 7.5 GB to merge, 5 s host budget 
| Aborted cleanly, snapshot `Error`, DB consistent |
   | 2 | Stop and start the VM after 1 | Starts |
   | 3 | Same delete, VM stopped (`qemu-img commit` path) | Aborted before any 
chain change |
   | 4 | Retry A3's delete from `Error`, default wait | Success, both disks 
merged |
   | 5 | Delete an older snapshot (non-active merge), running VM | Success |
   | 6 | Delete current snapshot, VM stopped | Success |
   | 7 | Non-active merge where DATA finishes and ROOT does not, 5 s host 
budget | Partial, recorded per volume |
   | 8 | Retry P1 with default wait | Resumed ROOT only |
   
   <!-- Please describe in detail how you tested your changes. -->
   <!-- Include details of your testing environment, and the tests you ran to 
-->
   
   #### How did you try to break this feature and the system with this change?
   
   <!-- see how your change affects other areas of the code, etc. -->
   
   <!-- Please read the 
[CONTRIBUTING](https://github.com/apache/cloudstack/blob/main/CONTRIBUTING.md) 
document -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to