From 7fc3c4fd1531e9399031d71010fcc1a097aa2e02 Mon Sep 17 00:00:00 2001 From: Devdeep Singh Date: Mon, 6 Jan 2014 23:33:55 +0530 Subject: [PATCH] CLOUDSTACK-5788, CLOUDSTACK-5789: Attaching upload volume and download volume was failing for hyper-v. Copy command answer was failing while creating the answer object. Fixing the issue. --- .../HypervResource/CloudStackTypes.cs | 2 +- .../HypervResource/HypervResourceController.cs | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs index 314c26b4ac0..226610bed69 100644 --- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs +++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs @@ -187,7 +187,7 @@ namespace HypervResource throw new InvalidDataException(errMsg); } - if (!Path.HasExtension(fileName) && this.format != null) + if (fileName != null && !Path.HasExtension(fileName) && this.format != null) { fileName = fileName + "." + this.format.ToLowerInvariant(); } diff --git a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs index c5545e20bee..c678c018f19 100644 --- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs +++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs @@ -1321,14 +1321,16 @@ namespace HypervResource object newData = null; TemplateObjectTO destTemplateObjectTO = null; VolumeObjectTO destVolumeObjectTO = null; + VolumeObjectTO srcVolumeObjectTO = null; + TemplateObjectTO srcTemplateObjectTO = null; try { dynamic timeout = cmd.wait; // TODO: Useful? - TemplateObjectTO srcTemplateObjectTO = TemplateObjectTO.ParseJson(cmd.srcTO); + srcTemplateObjectTO = TemplateObjectTO.ParseJson(cmd.srcTO); destTemplateObjectTO = TemplateObjectTO.ParseJson(cmd.destTO); - VolumeObjectTO srcVolumeObjectTO = VolumeObjectTO.ParseJson(cmd.srcTO); + srcVolumeObjectTO = VolumeObjectTO.ParseJson(cmd.srcTO); destVolumeObjectTO = VolumeObjectTO.ParseJson(cmd.destTO); string destFile = null; @@ -1512,11 +1514,9 @@ namespace HypervResource // doesn't do anything if the directory is already present. Directory.CreateDirectory(Path.GetDirectoryName(destFile)); File.Copy(srcFile, destFile); - // create volumeto object deserialize and send it - VolumeObjectTO volume = new VolumeObjectTO(); - volume.path = destFile; - volume.size = ulong.Parse(destVolumeObjectTO.size.ToString()); - JObject ansObj = Utils.CreateCloudStackObject(CloudStackTypes.VolumeObjectTO, volume); + // Create volumeto object deserialize and send it + destVolumeObjectTO.path = destFile; + JObject ansObj = Utils.CreateCloudStackObject(CloudStackTypes.VolumeObjectTO, destVolumeObjectTO); newData = ansObj; result = true; }