houthuis opened a new pull request #2793: Destroyvm also removes volumes URL: https://github.com/apache/cloudstack/pull/2793 ## Description <!--- Describe your changes in detail --> Currently DestroyVMCmd does not have the option to delete any attached volumes (Data Disks), resulting in unused orphan volumes sitting in CloudStack, unless the user manually deletes them or attach them to a different VM. This FR will introduce functionality to allow users of any type (who are owners of the VM) to delete the attached volumes either via the API or the UI. The UI will have the option to select which volumes should be deleted, or they can select the option to delete none. CloudStack will then detach and delete the selected volumes after destroying the VM. DestroyVMCmd will be modified to accept a comma separated list of volume UUIDs that will be deleted. CloudStack will then validate this list, making sure that the volumes are indeed attached to the VM. If not, the operation will fail. Checks are also done to make sure the volumes are data disks. Before destroying the VM, CloudStack will first detach the volumes, and after the VM has been destroyed, delete the volumes. <!-- For new features, provide link to FS, dev ML discussion etc. --> <!-- In case of bug fix, the expected and actual behaviours, steps to reproduce. --> ## Types of changes <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] 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) - [x] Enhancement (improves an existing feature and functionality) - [ ] Cleanup (Code refactoring and cleanup, that may add test cases) ## GitHub Issue/PRs <!-- If this PR is to fix an issue or another PR on GH, uncomment the section and provide the id of issue/PR --> <!-- 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: # --> ## Screenshots (if appropriate): ## How Has This Been Tested? <!-- Please describe in detail how you tested your changes. --> <!-- Include details of your testing environment, and the tests you ran to --> <!-- see how your change affects other areas of the code, etc. --> ## Checklist: <!--- Go over all the following points, and put an `x` in all the boxes that apply. --> <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> - [x] I have read the [CONTRIBUTING](https://github.com/apache/cloudstack/blob/master/CONTRIBUTING.md) document. - [x] My code follows the code style of this project. - [ ] My change requires a change to the documentation. - [ ] I have updated the documentation accordingly. Testing - [ ] I have added tests to cover my changes. - [ ] All relevant new and existing integration tests have passed. - [ ] A full integration testsuite with all test that can run on my environment has passed.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
