mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-5339: Porting the fix for enabling vhdx virtual disk type for hyperv.
This commit is contained in:
parent
65642e98b7
commit
1a4604576a
|
|
@ -379,6 +379,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
|||
userSpecifiedName = getRandomVolumeName();
|
||||
}
|
||||
if ((!url.toLowerCase().endsWith("vhd")) && (!url.toLowerCase().endsWith("vhd.zip")) && (!url.toLowerCase().endsWith("vhd.bz2")) &&
|
||||
(!url.toLowerCase().endsWith("vhdx")) && (!url.toLowerCase().endsWith("vhdx.zip")) &&
|
||||
(!url.toLowerCase().endsWith("vhdx.gz")) && (!url.toLowerCase().endsWith("vhdx.bz2")) &&
|
||||
(!url.toLowerCase().endsWith("vhd.gz")) && (!url.toLowerCase().endsWith("qcow2")) && (!url.toLowerCase().endsWith("qcow2.zip")) &&
|
||||
(!url.toLowerCase().endsWith("qcow2.bz2")) && (!url.toLowerCase().endsWith("qcow2.gz")) && (!url.toLowerCase().endsWith("ova")) &&
|
||||
(!url.toLowerCase().endsWith("ova.zip")) && (!url.toLowerCase().endsWith("ova.bz2")) && (!url.toLowerCase().endsWith("ova.gz")) &&
|
||||
|
|
@ -386,12 +388,14 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
|||
throw new InvalidParameterValueException("Please specify a valid " + format.toLowerCase());
|
||||
}
|
||||
|
||||
if ((format.equalsIgnoreCase("vhd") && (!url.toLowerCase().endsWith(".vhd") && !url.toLowerCase().endsWith("vhd.zip") && !url.toLowerCase().endsWith("vhd.bz2") && !url
|
||||
.toLowerCase().endsWith("vhd.gz"))) ||
|
||||
(format.equalsIgnoreCase("qcow2") && (!url.toLowerCase().endsWith(".qcow2") && !url.toLowerCase().endsWith("qcow2.zip") && !url.toLowerCase().endsWith("qcow2.bz2") && !url
|
||||
.toLowerCase().endsWith("qcow2.gz"))) ||
|
||||
(format.equalsIgnoreCase("ova") && (!url.toLowerCase().endsWith(".ova") && !url.toLowerCase().endsWith("ova.zip") && !url.toLowerCase().endsWith("ova.bz2") && !url
|
||||
.toLowerCase().endsWith("ova.gz"))) || (format.equalsIgnoreCase("raw") && (!url.toLowerCase().endsWith(".img") && !url.toLowerCase().endsWith("raw")))) {
|
||||
if ((format.equalsIgnoreCase("vhd") && (!url.toLowerCase().endsWith(".vhd") && !url.toLowerCase().endsWith("vhd.zip") && !url.toLowerCase().endsWith("vhd.bz2") &&
|
||||
!url.toLowerCase().endsWith("vhd.gz"))) ||
|
||||
(format.equalsIgnoreCase("vhdx") && (!url.toLowerCase().endsWith(".vhdx") && !url.toLowerCase().endsWith("vhdx.zip") && !url.toLowerCase().endsWith("vhdx.bz2") &&
|
||||
!url.toLowerCase().endsWith("vhdx.gz"))) ||
|
||||
(format.equalsIgnoreCase("qcow2") && (!url.toLowerCase().endsWith(".qcow2") && !url.toLowerCase().endsWith("qcow2.zip") && !url.toLowerCase().endsWith("qcow2.bz2") &&
|
||||
!url.toLowerCase().endsWith("qcow2.gz"))) ||
|
||||
(format.equalsIgnoreCase("ova") && (!url.toLowerCase().endsWith(".ova") && !url.toLowerCase().endsWith("ova.zip") && !url.toLowerCase().endsWith("ova.bz2") &&
|
||||
!url.toLowerCase().endsWith("ova.gz"))) || (format.equalsIgnoreCase("raw") && (!url.toLowerCase().endsWith(".img") && !url.toLowerCase().endsWith("raw")))) {
|
||||
throw new InvalidParameterValueException("Please specify a valid URL. URL:" + url + " is an invalid for the format " + format.toLowerCase());
|
||||
}
|
||||
UriUtils.validateUrl(url);
|
||||
|
|
@ -1556,6 +1560,8 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
|||
return "vhd";
|
||||
} else if (cluster.getHypervisorType() == HypervisorType.KVM) {
|
||||
return "qcow2";
|
||||
} else if (cluster.getHypervisorType() == HypervisorType.Hyperv) {
|
||||
return "vhdx";
|
||||
} else if (cluster.getHypervisorType() == HypervisorType.VMware) {
|
||||
return "ova";
|
||||
} else if (cluster.getHypervisorType() == HypervisorType.Ovm) {
|
||||
|
|
|
|||
|
|
@ -141,6 +141,8 @@ public class HypervisorTemplateAdapter extends TemplateAdapterBase {
|
|||
private void checkFormat(String format, String url) {
|
||||
if((!url.toLowerCase().endsWith("vhd"))&&(!url.toLowerCase().endsWith("vhd.zip"))
|
||||
&&(!url.toLowerCase().endsWith("vhd.bz2"))&&(!url.toLowerCase().endsWith("vhd.gz"))
|
||||
&& (!url.toLowerCase().endsWith("vhdx")) && (!url.toLowerCase().endsWith("vhdx.gz"))
|
||||
&& (!url.toLowerCase().endsWith("vhdx.bz2")) && (!url.toLowerCase().endsWith("vhdx.zip"))
|
||||
&&(!url.toLowerCase().endsWith("qcow2"))&&(!url.toLowerCase().endsWith("qcow2.zip"))
|
||||
&&(!url.toLowerCase().endsWith("qcow2.bz2"))&&(!url.toLowerCase().endsWith("qcow2.gz"))
|
||||
&&(!url.toLowerCase().endsWith("ova"))&&(!url.toLowerCase().endsWith("ova.zip"))
|
||||
|
|
@ -151,20 +153,17 @@ public class HypervisorTemplateAdapter extends TemplateAdapterBase {
|
|||
throw new InvalidParameterValueException("Please specify a valid " + format.toLowerCase());
|
||||
}
|
||||
|
||||
if ((format.equalsIgnoreCase("vhd") && (!url.toLowerCase().endsWith("vhd")
|
||||
&& !url.toLowerCase().endsWith("vhd.zip") && !url.toLowerCase().endsWith("vhd.bz2") && !url
|
||||
.toLowerCase().endsWith("vhd.gz")))
|
||||
|| (format.equalsIgnoreCase("qcow2") && (!url.toLowerCase().endsWith("qcow2")
|
||||
&& !url.toLowerCase().endsWith("qcow2.zip") && !url.toLowerCase().endsWith("qcow2.bz2") && !url
|
||||
.toLowerCase().endsWith("qcow2.gz")))
|
||||
|| (format.equalsIgnoreCase("ova") && (!url.toLowerCase().endsWith("ova")
|
||||
&& !url.toLowerCase().endsWith("ova.zip") && !url.toLowerCase().endsWith("ova.bz2") && !url
|
||||
.toLowerCase().endsWith("ova.gz")))
|
||||
|| (format.equalsIgnoreCase("tar") && (!url.toLowerCase().endsWith("tar")
|
||||
&& !url.toLowerCase().endsWith("tar.zip") && !url.toLowerCase().endsWith("tar.bz2") && !url
|
||||
.toLowerCase().endsWith("tar.gz")))
|
||||
|| (format.equalsIgnoreCase("raw") && (!url.toLowerCase().endsWith("img") && !url.toLowerCase()
|
||||
.endsWith("raw")))) {
|
||||
if ((format.equalsIgnoreCase("vhd") && (!url.toLowerCase().endsWith("vhd") && !url.toLowerCase().endsWith("vhd.zip") && !url.toLowerCase().endsWith("vhd.bz2") &&
|
||||
!url.toLowerCase().endsWith("vhd.gz"))) ||
|
||||
(format.equalsIgnoreCase("vhdx") && (!url.toLowerCase().endsWith("vhdx") && !url.toLowerCase().endsWith("vhdx.zip") && !url.toLowerCase().endsWith("vhdx.bz2") &&
|
||||
!url.toLowerCase().endsWith("vhdx.gz"))) ||
|
||||
(format.equalsIgnoreCase("qcow2") && (!url.toLowerCase().endsWith("qcow2") && !url.toLowerCase().endsWith("qcow2.zip") && !url.toLowerCase().endsWith("qcow2.bz2") &&
|
||||
!url.toLowerCase().endsWith("qcow2.gz"))) ||
|
||||
(format.equalsIgnoreCase("ova") && (!url.toLowerCase().endsWith("ova") && !url.toLowerCase().endsWith("ova.zip") && !url.toLowerCase().endsWith("ova.bz2") &&
|
||||
!url.toLowerCase().endsWith("ova.gz"))) ||
|
||||
(format.equalsIgnoreCase("tar") && (!url.toLowerCase().endsWith("tar") && !url.toLowerCase().endsWith("tar.zip") && !url.toLowerCase().endsWith("tar.bz2") &&
|
||||
!url.toLowerCase().endsWith("tar.gz"))) ||
|
||||
(format.equalsIgnoreCase("raw") && (!url.toLowerCase().endsWith("img") && !url.toLowerCase().endsWith("raw")))) {
|
||||
throw new InvalidParameterValueException("Please specify a valid URL. URL:" + url
|
||||
+ " is an invalid for the format " + format.toLowerCase());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue