You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by de...@apache.org on 2014/01/14 15:23:24 UTC
git commit: updated refs/heads/4.3 to 5bf5d36
Updated Branches:
refs/heads/4.3 ac5393292 -> 5bf5d3669
CLOUDSTACK-5689: System vm creation on local storage fails for hyper-v. A
null pointer exception was getting generated when a VolumeTO object was
serialized to create an answer object. If a local storage is used the uri
field will be null. Added null checks for the same.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/5bf5d366
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/5bf5d366
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/5bf5d366
Branch: refs/heads/4.3
Commit: 5bf5d3669d22d48f4b2db01c76647c977fad7468
Parents: ac53932
Author: Devdeep Singh <de...@gmail.com>
Authored: Wed Jan 15 02:51:15 2014 +0530
Committer: Devdeep Singh <de...@gmail.com>
Committed: Tue Jan 14 19:53:26 2014 +0530
----------------------------------------------------------------------
.../HypervResource/CloudStackTypes.cs | 33 ++++++++++++++------
.../HypervResource/HypervResourceController.cs | 11 ++-----
2 files changed, 26 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5bf5d366/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 89f0814..847380c 100644
--- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs
+++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs
@@ -61,7 +61,7 @@ namespace HypervResource
get
{
string uncPath = null;
- if (uri.Scheme.Equals("cifs") || uri.Scheme.Equals("networkfilesystem"))
+ if (uri != null && (uri.Scheme.Equals("cifs") || uri.Scheme.Equals("networkfilesystem")))
{
uncPath = @"\\" + uri.Host + uri.LocalPath;
}
@@ -73,8 +73,13 @@ namespace HypervResource
{
get
{
- var queryDictionary = System.Web.HttpUtility.ParseQueryString(uri.Query);
- return System.Web.HttpUtility.UrlDecode(queryDictionary["user"]);
+ string user = null;
+ if (uri != null)
+ {
+ var queryDictionary = System.Web.HttpUtility.ParseQueryString(uri.Query);
+ user = System.Web.HttpUtility.UrlDecode(queryDictionary["user"]);
+ }
+ return user;
}
}
@@ -82,8 +87,13 @@ namespace HypervResource
{
get
{
- var queryDictionary = System.Web.HttpUtility.ParseQueryString(uri.Query);
- return System.Web.HttpUtility.UrlDecode(queryDictionary["password"]);
+ string password = null;
+ if (uri != null)
+ {
+ var queryDictionary = System.Web.HttpUtility.ParseQueryString(uri.Query);
+ password = System.Web.HttpUtility.UrlDecode(queryDictionary["password"]);
+ }
+ return password;
}
}
@@ -91,12 +101,17 @@ namespace HypervResource
{
get
{
- var queryDictionary = System.Web.HttpUtility.ParseQueryString(uri.Query);
- if (queryDictionary["domain"] != null)
+ string domain = null;
+ if (uri != null)
{
- return System.Web.HttpUtility.UrlDecode(queryDictionary["domain"]);
+ var queryDictionary = System.Web.HttpUtility.ParseQueryString(uri.Query);
+ if (queryDictionary["domain"] != null)
+ {
+ domain = System.Web.HttpUtility.UrlDecode(queryDictionary["domain"]);
+ }
+ else domain = uri.Host;
}
- else return uri.Host;
+ return domain;
}
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5bf5d366/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 5ed3904..62eebda 100644
--- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
+++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
@@ -1474,15 +1474,8 @@ namespace HypervResource
{
// TODO: thin provision instead of copying the full file.
File.Copy(srcFile, destFile);
- VolumeObjectTO volume = new VolumeObjectTO();
- volume.path = destFile;
- volume.dataStore = destVolumeObjectTO.dataStore;
- volume.name = destVolumeObjectTO.name;
- volume.size = ulong.Parse(destVolumeObjectTO.size.ToString());
- volume.format = destVolumeObjectTO.format;
- volume.nfsDataStore = destVolumeObjectTO.nfsDataStore;
- volume.primaryDataStore = destVolumeObjectTO.primaryDataStore;
- JObject ansObj = Utils.CreateCloudStackObject(CloudStackTypes.VolumeObjectTO, volume);
+ destVolumeObjectTO.path = destFile;
+ JObject ansObj = Utils.CreateCloudStackObject(CloudStackTypes.VolumeObjectTO, destVolumeObjectTO);
newData = ansObj;
result = true;
}