CLOUDSTACK-6159 Fixed creating volumes(Root, DataDisk) with uuid in primary 
store
(cherry picked from commit b44901c059e50ae34f55a56809cda74d4c0c08f9)

Signed-off-by: Animesh Chaturvedi <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/96118e48
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/96118e48
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/96118e48

Branch: refs/heads/4.3
Commit: 96118e485feb53e8de5c32184e023610dadb5dee
Parents: bb54099
Author: Rajesh Battala <[email protected]>
Authored: Fri Feb 21 15:47:26 2014 +0530
Committer: Animesh Chaturvedi <[email protected]>
Committed: Tue Mar 4 23:38:46 2014 -0800

----------------------------------------------------------------------
 .../HypervResource/CloudStackTypes.cs               | 16 ++++++++--------
 .../HypervResource/HypervResourceController.cs      | 10 ++++++----
 2 files changed, 14 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/96118e48/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs
 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs
index 9637994..541c205 100644
--- 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs
+++ 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs
@@ -173,11 +173,11 @@ namespace HypervResource
                     PrimaryDataStoreTO store = this.primaryDataStore;
                     if (store.isLocal)
                     {
-                        fileName = Path.Combine(store.Path, this.name);
+                        fileName = Path.Combine(store.Path, this.uuid);
                     }
                     else
                     {
-                        fileName = @"\\" + store.uri.Host + 
store.uri.LocalPath + @"\" + this.name;
+                        fileName = @"\\" + store.uri.Host + 
store.uri.LocalPath + @"\" + this.uuid;
                         fileName = Utils.NormalizePath(fileName);
                     }
                 }
@@ -198,7 +198,7 @@ namespace HypervResource
                         fileName = Utils.NormalizePath(fileName);
                         if (Directory.Exists(fileName))
                         {
-                            fileName = Utils.NormalizePath(fileName + @"\" + 
this.name);
+                            fileName = Utils.NormalizePath(fileName + @"\" + 
this.uuid);
                         }
                     }
                 }
@@ -300,11 +300,11 @@ namespace HypervResource
                 path = Utils.NormalizePath(path);
                 if (Directory.Exists(path))
                 {
-                    string[] choices = choices = Directory.GetFiles(path, 
volInfo.name + ".vhd*");
+                    string[] choices = choices = Directory.GetFiles(path, 
volInfo.uuid + ".vhd*");
                     if (choices.Length != 1)
                     {
                         String errMsg = "Tried to guess file extension, but 
cannot find file corresponding to " +
-                            Path.Combine(volInfo.primaryDataStore.Path, 
volInfo.name);
+                            Path.Combine(volInfo.primaryDataStore.Path, 
volInfo.uuid);
                         logger.Debug(errMsg);
                     }
                     else
@@ -334,18 +334,18 @@ namespace HypervResource
                     PrimaryDataStoreTO store = this.primaryDataStore;
                     if (store.isLocal)
                     {
-                        fileName = Path.Combine(store.Path, this.name);
+                        fileName = Path.Combine(store.Path, this.uuid);
                     }
                     else
                     {
-                        fileName = @"\\" + store.uri.Host + 
store.uri.LocalPath + @"\" + this.name;
+                        fileName = @"\\" + store.uri.Host + 
store.uri.LocalPath + @"\" + this.uuid;
                     }
                     fileName = fileName + '.' + this.format.ToLowerInvariant();
                 }
                 else if (this.nfsDataStoreTO != null)
                 {
                     NFSTO store = this.nfsDataStoreTO;
-                    fileName = store.UncPath + @"\" + this.path + @"\" + 
this.name;
+                    fileName = store.UncPath + @"\" + this.path + @"\" + 
this.uuid;
                     if (!this.format.Equals("RAW"))
                     {
                         fileName = fileName + '.' + 
this.format.ToLowerInvariant();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/96118e48/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
index a132606..8fd15f4 100644
--- 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
+++ 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
@@ -1150,13 +1150,13 @@ namespace HypervResource
 
                 bool result = false;
                 string details = null;
-
+                object newData = null;
                 try
                 {
                     VolumeObjectTO volume = VolumeObjectTO.ParseJson(cmd.data);
                     PrimaryDataStoreTO primary = volume.primaryDataStore;
                     ulong volumeSize = volume.size;
-                    string volumeName = volume.name + ".vhd";
+                    string volumeName = volume.uuid + ".vhd";
                     string volumePath = null;
 
                     if (primary.isLocal)
@@ -1169,11 +1169,13 @@ namespace HypervResource
                         volumePath = Utils.NormalizePath(volumePath);
                         Utils.ConnectToRemote(primary.UncPath, primary.Domain, 
primary.User, primary.Password);
                     }
-
+                    volume.path = volumePath;
                     wmiCallsV2.CreateDynamicVirtualHardDisk(volumeSize, 
volumePath);
                     if (File.Exists(volumePath))
                     {
                         result = true;
+                        JObject ansObj = 
Utils.CreateCloudStackObject(CloudStackTypes.VolumeObjectTO, volume);
+                        newData = ansObj;
                     }
                     else
                     {
@@ -1191,7 +1193,7 @@ namespace HypervResource
                 {
                     result = result,
                     details = details,
-                    data = cmd.data,
+                    data = newData,
                     contextMap = contextMap
                 };
 

Reply via email to