From 069f8aeed581c3f972f58c44b765175a8cba80e6 Mon Sep 17 00:00:00 2001 From: Devdeep Singh Date: Mon, 30 Dec 2013 18:57:26 +0530 Subject: [PATCH] CLOUDSTACK-5659: Creation of vm from iso failing with wrong file format. The agent was always creating a disk with image format vhdx, but the cloudstack management server defaults to image format vhd for hyperv. Updated the agent code to be consistent with what cs expects. All disks are now created with image format vhd. --- .../HypervResource/HypervResourceController.cs | 7 +++++-- .../DotNet/ServerResource/HypervResource/WmiCallsV2.cs | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs index 901b09b73cb..018962776f4 100644 --- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs +++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs @@ -229,7 +229,10 @@ namespace HypervResource { VolumeObjectTO volume = disk.volumeObjectTO; PrimaryDataStoreTO primary = volume.primaryDataStore; - Utils.ConnectToRemote(primary.UncPath, primary.Domain, primary.User, primary.Password); + if (!primary.isLocal) + { + Utils.ConnectToRemote(primary.UncPath, primary.Domain, primary.User, primary.Password); + } string diskPath = Utils.NormalizePath(volume.FullFileName); wmiCallsV2.AttachDisk(vmName, diskPath, disk.diskSequence); result = true; @@ -1144,7 +1147,7 @@ namespace HypervResource VolumeObjectTO volume = VolumeObjectTO.ParseJson(cmd.data); PrimaryDataStoreTO primary = volume.primaryDataStore; ulong volumeSize = volume.size; - string volumeName = volume.name + ".vhdx"; + string volumeName = volume.name + ".vhd"; string volumePath = null; if (primary.isLocal) diff --git a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs index 06730e0d06b..6830fe338b7 100644 --- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs +++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs @@ -1553,7 +1553,7 @@ namespace HypervResource // Is there a template we can use to fill in the settings? var newVirtHDSettings = VirtualHardDiskSettingData.CreateInstance(); newVirtHDSettings.LateBoundObject["Type"] = 3; // Dynamic - newVirtHDSettings.LateBoundObject["Format"] = 3; // VHDX + newVirtHDSettings.LateBoundObject["Format"] = 2; // VHD newVirtHDSettings.LateBoundObject["Path"] = Path; newVirtHDSettings.LateBoundObject["MaxInternalSize"] = MaxInternalSize; newVirtHDSettings.LateBoundObject["BlockSize"] = 0; // Use defaults