From 1162b87f142e930b5b3518e2a3937981b2d47bad Mon Sep 17 00:00:00 2001 From: John Burwell Date: Thu, 1 Aug 2013 03:48:52 -0400 Subject: [PATCH] - CLOUDSTACK-3229: Attempt to adjust snapshot source path to new cache filesystem layout --- .../xen/resource/CitrixResourceBase.java | 16 ++++++++-------- .../xen/resource/XenServerStorageProcessor.java | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index f22a8621b82..49433f86e89 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -7430,14 +7430,14 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe } private boolean backupSnapshotToS3(final Connection connection, - final S3TO s3, final String srUuid, final String snapshotUuid, - final Boolean iSCSIFlag, final int wait) { + final S3TO s3, final String srUuid, final String snapshotUuid, + final Boolean iSCSIFlag, final int wait) { final String filename = iSCSIFlag ? "VHD-" + snapshotUuid : snapshotUuid + ".vhd"; final String dir = (iSCSIFlag ? "/dev/VG_XenStorage-" : "/var/run/sr-mount/") + srUuid; - final String key = StringUtils.join("/", "snapshots", snapshotUuid); + final String key = String.format("/snapshots/%1$s", snapshotUuid); try { @@ -7445,11 +7445,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe S3Utils.ClientOptions.class)); // https workaround for Introspector bug that does not // recognize Boolean accessor methods ... - parameters.addAll(Arrays.asList("operation", "put", "directory", - dir, "filename", filename, "iSCSIFlag", - iSCSIFlag.toString(), "bucket", s3.getBucketName(), - "key", key, "https", s3.isHttps() != null ? s3.isHttps().toString() - : "null")); + parameters.addAll(Arrays.asList("operation", "put", "filename", + dir + "/" + filename, "iSCSIFlag", iSCSIFlag.toString(), + "bucket", s3.getBucketName(), "key", key, "https", + s3.isHttps() != null ? s3.isHttps().toString() + : "null")); final String result = callHostPluginAsync(connection, "s3xen", "s3", wait, parameters.toArray(new String[parameters.size()])); diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageProcessor.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageProcessor.java index 91909521332..634759deb7b 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageProcessor.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageProcessor.java @@ -1064,14 +1064,14 @@ public class XenServerStorageProcessor implements StorageProcessor { } private boolean backupSnapshotToS3(final Connection connection, - final S3TO s3, final String srUuid, final String snapshotUuid, - final Boolean iSCSIFlag, final int wait) { + final S3TO s3, final String srUuid, final String snapshotUuid, + final Boolean iSCSIFlag, final int wait) { final String filename = iSCSIFlag ? "VHD-" + snapshotUuid : snapshotUuid + ".vhd"; final String dir = (iSCSIFlag ? "/dev/VG_XenStorage-" : "/var/run/sr-mount/") + srUuid; - final String key = StringUtils.join("/", "snapshots", snapshotUuid); + final String key = String.format("/snapshots/%1$s", snapshotUuid); try { @@ -1079,8 +1079,8 @@ public class XenServerStorageProcessor implements StorageProcessor { S3Utils.ClientOptions.class)); // https workaround for Introspector bug that does not // recognize Boolean accessor methods ... - parameters.addAll(Arrays.asList("operation", "put", "directory", - dir, "filename", filename, "iSCSIFlag", + parameters.addAll(Arrays.asList("operation", "put", "filename", + dir + "/" + filename, "iSCSIFlag", iSCSIFlag.toString(), "bucket", s3.getBucketName(), "key", key, "https", s3.isHttps() != null ? s3.isHttps().toString() : "null"));