From 5551724a2efce0cc4893f375bae469fe051f3f44 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 905a74137ea..c885598e852 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