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 <[email protected]>
Date: 2015-11-16T19:18:25Z
Support for backend snapshots with XenServer
commit c0737879d7e0a5a8e991ab1f97c16db10fc79132
Author: Mike Tutkowski <[email protected]>
Date: 2016-01-04T05:36:52Z
Initial changes to make use of both SolidFire snapshots and SolidFire
cloning
commit bae4c2780d30194da6149b98248e6fcd0e4faa84
Author: Mike Tutkowski <[email protected]>
Date: 2015-11-02T23:58:09Z
Refactoring and enhancements to SolidFire Integration-Testing API Plug-in
commit 8c551edca3fa7ebdc86e69fd747bb8a14d4ed178
Author: Mike Tutkowski <[email protected]>
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 <[email protected]>
Date: 2016-01-07T19:13:53Z
Access-related optimization for creating a template from a snapshot
commit a0a8da3b0044d1b388a8a0aa9e8f492b067eb807
Author: Mike Tutkowski <[email protected]>
Date: 2016-01-07T19:16:48Z
Correction to used-space calculation
commit 054f110d47543c966a83cf797fea9a0d2046e6af
Author: Mike Tutkowski <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: 2016-01-08T20:22:43Z
"=" should be "=="
commit 836c9a5b8ae6b2b8175166ba1418b9f59314cb4b
Author: Mike Tutkowski <[email protected]>
Date: 2016-01-13T19:26:25Z
For integration-test purposes: Get snapshot details
commit 9528ea8d23ac41b7f5d9735ec29572781ee16e27
Author: Mike Tutkowski <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: 2016-01-20T23:57:12Z
Improved exception handling
commit 7625e188d264633beaf30b1ca04779c1890d02f6
Author: Mike Tutkowski <[email protected]>
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 <[email protected]>
Date: 2016-01-29T19:32:26Z
Check if hostVO == null (not if hostId == null)
commit e851a40caf1392afc27a6583b7e1786cdf579af1
Author: Mike Tutkowski <[email protected]>
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 <[email protected]>
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 [email protected] or file a JIRA ticket
with INFRA.
---