CLOUDSTACK-6159 Fixed creating volumes(Root, DataDisk) with uuid in primary store

This commit is contained in:
Rajesh Battala 2014-02-21 15:47:26 +05:30
parent e42e8762ea
commit f960ada36e
2 changed files with 14 additions and 12 deletions

View File

@ -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();

View File

@ -1168,13 +1168,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)
@ -1187,11 +1187,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
{
@ -1209,7 +1211,7 @@ namespace HypervResource
{
result = result,
details = details,
data = cmd.data,
data = newData,
contextMap = contextMap
};