mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
bug 11162: merge fix from 2.2.10 premium
This commit is contained in:
parent
97a7dddf7d
commit
9ace681547
@ -181,7 +181,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
|
||||
workerVMName = UUID.randomUUID().toString().replaceAll("-", "");
|
||||
|
||||
//attach a volume to dummay wrapper VM for taking snapshot and exporting the VM for backup
|
||||
if (!hyperHost.createBlankVm(workerVMName, 1, 512, 0, false, 4, VirtualMachineGuestOsIdentifier._otherGuest.toString(), morDs, false)) {
|
||||
if (!hyperHost.createBlankVm(workerVMName, 1, 512, 0, false, 4, 0, VirtualMachineGuestOsIdentifier._otherGuest.toString(), morDs, false)) {
|
||||
String msg = "Unable to create worker VM to execute BackupSnapshotCommand";
|
||||
s_logger.error(msg);
|
||||
throw new Exception(msg);
|
||||
|
||||
@ -238,8 +238,12 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
protected String _privateNetworkVSwitchName;
|
||||
protected String _publicNetworkVSwitchName;
|
||||
protected String _guestNetworkVSwitchName;
|
||||
|
||||
protected float _cpuOverprovisioningFactor = 1;
|
||||
protected boolean _reserveCpu = false;
|
||||
|
||||
protected float _memOverprovisioningFactor = 1;
|
||||
protected boolean _reserveMem = false;
|
||||
|
||||
protected ManagedObjectReference _morHyperHost;
|
||||
protected VmwareContext _serviceContext;
|
||||
@ -1099,7 +1103,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
|
||||
assert (vmSpec.getSpeed() != null) && (rootDiskDataStoreDetails != null);
|
||||
if (!hyperHost.createBlankVm(vmName, vmSpec.getCpus(), vmSpec.getSpeed().intValue(),
|
||||
getReserveCpuMHz(vmSpec.getSpeed().intValue()), vmSpec.getLimitCpuUse(), ramMb,
|
||||
getReserveCpuMHz(vmSpec.getSpeed().intValue()), vmSpec.getLimitCpuUse(), ramMb, getReserveMemMB(ramMb),
|
||||
translateGuestOsIdentifier(vmSpec.getArch(), vmSpec.getOs()).toString(), rootDiskDataStoreDetails.first(), false)) {
|
||||
throw new Exception("Failed to create VM. vmName: " + vmName);
|
||||
}
|
||||
@ -1131,7 +1135,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();
|
||||
int ramMb = (int) (vmSpec.getMinRam() / (1024 * 1024));
|
||||
VmwareHelper.setBasicVmConfig(vmConfigSpec, vmSpec.getCpus(), vmSpec.getSpeed().intValue(),
|
||||
getReserveCpuMHz(vmSpec.getSpeed().intValue()), ramMb,
|
||||
getReserveCpuMHz(vmSpec.getSpeed().intValue()), ramMb, getReserveMemMB(ramMb),
|
||||
translateGuestOsIdentifier(vmSpec.getArch(), vmSpec.getOs()).toString(), vmSpec.getLimitCpuUse());
|
||||
|
||||
VirtualDeviceConfigSpec[] deviceConfigSpecArray = new VirtualDeviceConfigSpec[totalChangeDevices];
|
||||
@ -1321,6 +1325,14 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private int getReserveMemMB(int memMB) {
|
||||
if(this._reserveMem) {
|
||||
return (int)(memMB / this._memOverprovisioningFactor);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private NicTO[] sortNicsByDeviceId(NicTO[] nics) {
|
||||
|
||||
@ -3658,7 +3670,15 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
|
||||
value = (String) params.get("vmware.reserve.cpu");
|
||||
if(value != null && value.equalsIgnoreCase("true"))
|
||||
_reserveCpu = true;
|
||||
_reserveCpu = true;
|
||||
|
||||
value = (String) params.get("mem.overprovisioning.factor");
|
||||
if(value != null)
|
||||
_memOverprovisioningFactor = Float.parseFloat(value);
|
||||
|
||||
value = (String) params.get("vmware.reserve.mem");
|
||||
if(value != null && value.equalsIgnoreCase("true"))
|
||||
_reserveMem = true;
|
||||
|
||||
String[] tokens = _guid.split("@");
|
||||
_vCenterAddress = tokens[1];
|
||||
|
||||
119
deps/.classpath
vendored
119
deps/.classpath
vendored
@ -1,60 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="XenServerJava"/>
|
||||
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-axis.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-backport-util-concurrent-3.0.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-bcprov-jdk16-1.45.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-cglib.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-codec-1.4.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-collections-3.2.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-dbcp-1.2.2.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-discovery.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-httpclient-3.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-logging-1.1.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-pool-1.4.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-ehcache.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-email.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-gson.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-httpcore-4.0.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-jsch-0.1.42.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-jstl-1.2.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-libvirt-0.4.5.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-log4j.jar" sourcepath="/home/dev/thirdparty/apache-log4j-1.2.16/src/main/java"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-mysql-connector-java-5.1.7-bin.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-servlet-api.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-trilead-ssh2-build213.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-ws-commons-util-1.0.2.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-wsdl4j.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xenserver-5.6.100-1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xmlrpc-client-3.1.3.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xmlrpc-common-3.1.3.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xstream-1.3.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="jetty-6.1.26.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="jetty-util-6.1.26.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-log4j-extras.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-iControl.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-manageontap.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-apputils.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-credstore.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-activation.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jaxen-core.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jaxen-jdom.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jaxrpc.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jdom.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-mailapi.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-saxpath.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-smtp.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-wbem.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-xalan.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-xerces.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-xml-apis.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-vim.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-vim25.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-charva.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-jnetpcap.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-junit.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-selenium-java-client-driver.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-selenium-server.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="XenServerJava"/>
|
||||
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-axis.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-backport-util-concurrent-3.0.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-bcprov-jdk16-1.45.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-cglib.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-codec-1.4.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-collections-3.2.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-dbcp-1.2.2.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-discovery.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-httpclient-3.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-logging-1.1.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-commons-pool-1.4.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-ehcache.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-email.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-gson.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-httpcore-4.0.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-jsch-0.1.42.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-jstl-1.2.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-libvirt-0.4.5.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-log4j.jar" sourcepath="/home/dev/thirdparty/apache-log4j-1.2.16/src/main/java"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-mysql-connector-java-5.1.7-bin.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-servlet-api.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-trilead-ssh2-build213.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-ws-commons-util-1.0.2.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-wsdl4j.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xenserver-5.6.100-1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xmlrpc-client-3.1.3.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xmlrpc-common-3.1.3.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-xstream-1.3.1.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="jetty-6.1.26.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="jetty-util-6.1.26.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-log4j-extras.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-iControl.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-manageontap.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-apputils.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-credstore.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-activation.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jaxen-core.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jaxen-jdom.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jaxrpc.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-jdom.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-mailapi.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-saxpath.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-smtp.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-wbem.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-xalan.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-xerces.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-lib-xml-apis.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-vim.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="vmware-vim25.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-jnetpcap.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-junit.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-selenium-java-client-driver.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="cloud-selenium-server.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
@ -124,6 +124,9 @@ public class VmwareManagerImpl implements VmwareManager, VmwareStorageMount, Lis
|
||||
String _cpuOverprovisioningFactor = "1";
|
||||
String _reserveCpu = "false";
|
||||
|
||||
String _memOverprovisioningFactor = "1";
|
||||
String _reserveMem = "false";
|
||||
|
||||
Map<String, String> _storageMounts = new HashMap<String, String>();
|
||||
|
||||
Random _rand = new Random(System.currentTimeMillis());
|
||||
@ -234,10 +237,17 @@ public class VmwareManagerImpl implements VmwareManager, VmwareStorageMount, Lis
|
||||
_cpuOverprovisioningFactor = configDao.getValue(Config.CPUOverprovisioningFactor.key());
|
||||
if(_cpuOverprovisioningFactor == null || _cpuOverprovisioningFactor.isEmpty())
|
||||
_cpuOverprovisioningFactor = "1";
|
||||
|
||||
_memOverprovisioningFactor = configDao.getValue(Config.MemOverprovisioningFactor.key());
|
||||
if(_memOverprovisioningFactor == null || _memOverprovisioningFactor.isEmpty())
|
||||
_memOverprovisioningFactor = "1";
|
||||
|
||||
_reserveCpu = configDao.getValue(Config.VmwareReserveCpu.key());
|
||||
if(_reserveCpu == null || _reserveCpu.isEmpty())
|
||||
_reserveCpu = "false";
|
||||
_reserveMem = configDao.getValue(Config.VmwareReserveMem.key());
|
||||
if(_reserveMem == null || _reserveMem.isEmpty())
|
||||
_reserveMem = "false";
|
||||
|
||||
s_logger.info("Additional VNC port allocation range is settled at " + _additionalPortRangeStart + " to " + (_additionalPortRangeStart + _additionalPortRangeSize));
|
||||
|
||||
@ -461,6 +471,8 @@ public class VmwareManagerImpl implements VmwareManager, VmwareStorageMount, Lis
|
||||
params.put("management.portgroup.name", _managemetPortGroupName);
|
||||
params.put("cpu.overprovisioning.factor", _cpuOverprovisioningFactor);
|
||||
params.put("vmware.reserve.cpu", _reserveCpu);
|
||||
params.put("mem.overprovisioning.factor", _memOverprovisioningFactor);
|
||||
params.put("vmware.reserve.mem", _reserveMem);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -255,7 +255,7 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean createBlankVm(String vmName, int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB,
|
||||
public boolean createBlankVm(String vmName, int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB, int memoryReserveMB,
|
||||
String guestOsIdentifier, ManagedObjectReference morDs, boolean snapshotDirToParent) throws Exception {
|
||||
|
||||
if(s_logger.isTraceEnabled())
|
||||
@ -264,7 +264,7 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
|
||||
+ ", guestOS: " + guestOsIdentifier + ", datastore: " + morDs.get_value() + ", snapshotDirToParent: " + snapshotDirToParent);
|
||||
|
||||
boolean result = HypervisorHostHelper.createBlankVm(this, vmName, cpuCount, cpuSpeedMHz, cpuReservedMHz, limitCpuUse,
|
||||
memoryMB, guestOsIdentifier, morDs, snapshotDirToParent);
|
||||
memoryMB, memoryReserveMB, guestOsIdentifier, morDs, snapshotDirToParent);
|
||||
|
||||
if(s_logger.isTraceEnabled())
|
||||
s_logger.trace("vCenter API trace - createBlankVm() done");
|
||||
|
||||
@ -664,7 +664,7 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean createBlankVm(String vmName, int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB,
|
||||
public boolean createBlankVm(String vmName, int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB, int memoryReserveMB,
|
||||
String guestOsIdentifier, ManagedObjectReference morDs, boolean snapshotDirToParent) throws Exception {
|
||||
|
||||
if(s_logger.isTraceEnabled())
|
||||
@ -673,7 +673,7 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
||||
+ ", guestOS: " + guestOsIdentifier + ", datastore: " + morDs.get_value() + ", snapshotDirToParent: " + snapshotDirToParent);
|
||||
|
||||
boolean result = HypervisorHostHelper.createBlankVm(this, vmName, cpuCount, cpuSpeedMHz, cpuReservedMHz, limitCpuUse,
|
||||
memoryMB, guestOsIdentifier, morDs, snapshotDirToParent);
|
||||
memoryMB, memoryReserveMB, guestOsIdentifier, morDs, snapshotDirToParent);
|
||||
|
||||
if(s_logger.isTraceEnabled())
|
||||
s_logger.trace("vCenter API trace - createBlankVm() done");
|
||||
|
||||
@ -398,7 +398,7 @@ public class HypervisorHostHelper {
|
||||
}
|
||||
|
||||
public static boolean createBlankVm(VmwareHypervisorHost host, String vmName,
|
||||
int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB, String guestOsIdentifier,
|
||||
int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB, int memoryReserveMB, String guestOsIdentifier,
|
||||
ManagedObjectReference morDs, boolean snapshotDirToParent) throws Exception {
|
||||
|
||||
if(s_logger.isInfoEnabled())
|
||||
@ -407,7 +407,7 @@ public class HypervisorHostHelper {
|
||||
// VM config basics
|
||||
VirtualMachineConfigSpec vmConfig = new VirtualMachineConfigSpec();
|
||||
vmConfig.setName(vmName);
|
||||
VmwareHelper.setBasicVmConfig(vmConfig, cpuCount, cpuSpeedMHz, cpuReservedMHz, memoryMB, guestOsIdentifier, limitCpuUse);
|
||||
VmwareHelper.setBasicVmConfig(vmConfig, cpuCount, cpuSpeedMHz, cpuReservedMHz, memoryMB, memoryReserveMB, guestOsIdentifier, limitCpuUse);
|
||||
|
||||
// Scsi controller
|
||||
VirtualLsiLogicController scsiController = new VirtualLsiLogicController();
|
||||
|
||||
@ -1377,7 +1377,7 @@ public class VirtualMachineMO extends BaseMO {
|
||||
HostMO hostMo = getRunningHost();
|
||||
VirtualMachineConfigInfo vmConfigInfo = getConfigInfo();
|
||||
|
||||
hostMo.createBlankVm(clonedVmName, 1, cpuSpeedMHz, 0, false, memoryMb, vmConfigInfo.getGuestId(), morDs, false);
|
||||
hostMo.createBlankVm(clonedVmName, 1, cpuSpeedMHz, 0, false, memoryMb, 0, vmConfigInfo.getGuestId(), morDs, false);
|
||||
VirtualMachineMO clonedVmMo = hostMo.findVmOnHyperHost(clonedVmName);
|
||||
|
||||
VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();
|
||||
|
||||
@ -33,7 +33,7 @@ public interface VmwareHypervisorHost {
|
||||
VirtualMachineMO findVmOnPeerHyperHost(String name) throws Exception;
|
||||
|
||||
boolean createVm(VirtualMachineConfigSpec vmSpec) throws Exception;
|
||||
boolean createBlankVm(String vmName, int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB,
|
||||
boolean createBlankVm(String vmName, int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB, int memoryReserveMB,
|
||||
String guestOsIdentifier, ManagedObjectReference morDs, boolean snapshotDirToParent) throws Exception;
|
||||
void importVmFromOVF(String ovfFilePath, String vmName, DatastoreMO dsMo, String diskOption) throws Exception;
|
||||
|
||||
|
||||
@ -407,7 +407,7 @@ public class VmwareHelper {
|
||||
}
|
||||
|
||||
public static void setBasicVmConfig(VirtualMachineConfigSpec vmConfig, int cpuCount, int cpuSpeedMHz, int cpuReservedMhz,
|
||||
int memoryMB, String guestOsIdentifier, boolean limitCpuUse) {
|
||||
int memoryMB, int memoryReserveMB, String guestOsIdentifier, boolean limitCpuUse) {
|
||||
|
||||
// VM config basics
|
||||
vmConfig.setMemoryMB((long)memoryMB);
|
||||
@ -425,7 +425,7 @@ public class VmwareHelper {
|
||||
|
||||
ResourceAllocationInfo memInfo = new ResourceAllocationInfo();
|
||||
memInfo.setLimit((long)memoryMB);
|
||||
memInfo.setReservation((long)memoryMB);
|
||||
memInfo.setReservation((long)memoryReserveMB);
|
||||
vmConfig.setMemoryAllocation(memInfo);
|
||||
|
||||
vmConfig.setGuestId(guestOsIdentifier);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user