JoaoJandre opened a new pull request, #14502: URL: https://github.com/apache/cloudstack/pull/14502
### Description This PR fixes #14030 and #14019 If the process for a disk-only VM snapshot merge fails for any reason and the process was already partially done, e.g. one of the VM's volumes was already merged, this may cause a de-synchronization between what the Management Server and the VM's actual metadata. This PR enhances the merge process so that if a previous merge attempt failed or stopped in the middle of the process, we can try again. ### Types of changes - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] New feature (non-breaking change which adds functionality) - [X] 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 - [X] Major - [ ] Minor - [ ] Trivial ### Screenshots (if appropriate): ### How Has This Been Tested? 1. With a running VM, I created and deleted a VM snapshot 2. With a running VM, I created a VM snapshot; wrote some files into the VM; started the deletion process and restarted the Management Server before it finished. I then tried the process again and it finished correctly 3. With a running VM, I created a VM snapshot; wrote some files into the VM; started the deletion process and restarted the Agent before it finished. I then tried the process again and it finished correctly 4. I lowered the timeout to 5 seconds. With a running VM, I added a second volume to the VM; I created a VM snapshot; wrote a lot of stuff to the second volume; deleted the VM snapshot. The first volume was merged but the second one timed out. I raised the timeout to 500 seconds and tried again, and the process finished correctly. I repeated the tests using `libvirt.events.enabled` as true. I also repeated the tests with a stopped VM. -- 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]
