GitHub user mike-tutkowski opened a pull request: https://github.com/apache/cloudstack/pull/1403
Taking fast and efficient volume snapshots with XenServer (and your storage provider) A XenServer storage repository (SR) and virtual disk image (VDI) each have UUIDs that are immutable. This poses a problem for SAN snapshots, if you intend on mounting the underlying snapshot SR alongside the source SR (duplicate UUIDs). VMware has a solution for this called re-signaturing (so, in other words, the snapshot UUIDs can be changed). This PR only deals with the CloudStack side of things, but it works in concert with a new XenServer storage manager created by CloudOps (this storage manager enables re-signaturing of XenServer SR and VDI UUIDs). I have written Marvin integration tests to go along with this, but cannot yet check those into the CloudStack repo as they rely on SolidFire hardware. If anyone would like to see these integration tests, please let me know. You can merge this pull request into a Git repository by running: $ git pull https://github.com/mike-tutkowski/cloudstack xs-snapshots Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/1403.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1403 ---- commit 34dc4d7ca9cdc66fc16301d0f8a8ffef790e7462 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2015-11-16T19:18:25Z Support for backend snapshots with XenServer commit c0737879d7e0a5a8e991ab1f97c16db10fc79132 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-04T05:36:52Z Initial changes to make use of both SolidFire snapshots and SolidFire cloning commit bae4c2780d30194da6149b98248e6fcd0e4faa84 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2015-11-02T23:58:09Z Refactoring and enhancements to SolidFire Integration-Testing API Plug-in commit 8c551edca3fa7ebdc86e69fd747bb8a14d4ed178 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-05T08:32:39Z Only "permanently" make use of cloning a volume from a snapshot when creating a new CloudStack volume from a volume snapshot commit db3b66dfd6b172d7dd1a731abe200ef563f1439d Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-07T19:13:53Z Access-related optimization for creating a template from a snapshot commit a0a8da3b0044d1b388a8a0aa9e8f492b067eb807 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-07T19:16:48Z Correction to used-space calculation commit 054f110d47543c966a83cf797fea9a0d2046e6af Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-08T01:27:48Z Do not check for remaining volume snapshots before deleting a volume snapshot that is supported by a back-end volume (only do this when deleting a volume snapshot that is supported by a back-end snapshot) commit d8cf010117f664854c82b68a2d4a0d9b4b1e7c25 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-08T02:27:57Z When deleting a CloudStack volume that is tied to a SolidFire volume, only delete the SolidFire volume if the CloudStack volume's volume snapshots (if any) are all supported by SolidFire volumes (as opposed to any being supported by SolidFire snapshots) commit 8655fb1aa3a1cc6ee5443607836a74b103814b02 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-08T20:22:43Z "=" should be "==" commit 836c9a5b8ae6b2b8175166ba1418b9f59314cb4b Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-13T19:26:25Z For integration-test purposes: Get snapshot details commit 9528ea8d23ac41b7f5d9735ec29572781ee16e27 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-20T02:07:42Z Enabling support for arbitrary key/value pairs to more easily be stored for SolidFire volumes commit acf15ed6af5ff7090b2b71bef9f70a72f87cab48 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-20T22:57:32Z Enable the use of arbitrary key/value pairs when creating a SolidFire volume via cloning and when creating a SolidFire snapshot commit 1c9516ab27923caa845bf99a3a2eab406a9d7a6f Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-20T23:57:12Z Improved exception handling commit 7625e188d264633beaf30b1ca04779c1890d02f6 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-22T18:43:18Z The way resigning metadata is invoked has changed. Call SR.create with type RELVMOISCSI. An exception should be thrown when the time would otherwise have come for the create functionality to attach the SR. Check if "success" is returned. If so, invoke SR.introduce; else, re-throw the exception. commit a0fdf10246aa0a6f123b8583862322d30ecf0f38 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-01-29T19:32:26Z Check if hostVO == null (not if hostId == null) commit e851a40caf1392afc27a6583b7e1786cdf579af1 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-02-04T23:19:57Z If the volume snapshot is backed by a SolidFire snapshot (as opposed to a SolidFire volume), then add it to the list. commit 454f005ea3701b3ae47b8e0584eab658a331c5c0 Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-02-06T03:58:52Z Correcting an issue with a rebase ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---