mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
bug 11296 : merge fix from 2.2.10
This commit is contained in:
parent
5e1886ee35
commit
cddd117e99
@ -1269,14 +1269,12 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
}
|
||||
|
||||
VirtualDevice nic;
|
||||
int nicDeviceNumber = -1;
|
||||
for (NicTO nicTo : sortNicsByDeviceId(nics)) {
|
||||
s_logger.info("Prepare NIC device based on NicTO: " + _gson.toJson(nicTo));
|
||||
|
||||
Pair<ManagedObjectReference, String> networkInfo = prepareNetworkFromNicInfo(vmMo.getRunningHost(), nicTo);
|
||||
|
||||
nic = VmwareHelper.prepareNicDevice(vmMo, networkInfo.first(), mgr.getGuestNicDeviceType(), networkInfo.second(), nicTo.getMac(), nicDeviceNumber, i + 1, true, true);
|
||||
nicDeviceNumber = nic.getUnitNumber() + 1;
|
||||
nic = VmwareHelper.prepareNicDevice(vmMo, networkInfo.first(), mgr.getGuestNicDeviceType(), networkInfo.second(), nicTo.getMac(), i, i + 1, true, true);
|
||||
deviceConfigSpecArray[i] = new VirtualDeviceConfigSpec();
|
||||
deviceConfigSpecArray[i].setDevice(nic);
|
||||
deviceConfigSpecArray[i].setOperation(VirtualDeviceConfigSpecOperation.add);
|
||||
@ -3178,8 +3176,14 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
if (isVmInCluster(vm)) {
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("VM " + vm + " is now missing from host report but we detected that it might be migrated to other host by vCenter");
|
||||
}
|
||||
_vms.remove(vm);
|
||||
}
|
||||
|
||||
if(oldState != State.Starting && oldState != State.Migrating) {
|
||||
s_logger.debug("VM " + vm + " is now missing from host report and VM is not at starting state, remove it from host VM-sync map");
|
||||
_vms.remove(vm);
|
||||
} else {
|
||||
s_logger.debug("VM " + vm + " is missing from host report, but we will ignore VM " + vm + " in transition state " + oldState);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@ -92,11 +92,13 @@ public class VmwareHelper {
|
||||
connectInfo.setStartConnected(connectOnStart);
|
||||
nic.setAddressType("Manual");
|
||||
nic.setConnectable(connectInfo);
|
||||
nic.setMacAddress(macAddress);
|
||||
nic.setMacAddress(macAddress);
|
||||
|
||||
/*
|
||||
nic.setControllerKey(vmMo.getPCIDeviceControllerKey());
|
||||
|
||||
if(deviceNumber < 0)
|
||||
deviceNumber = vmMo.getNextPCIDeviceNumber();
|
||||
deviceNumber = vmMo.getNextPCIDeviceNumber();
|
||||
*/
|
||||
nic.setUnitNumber(deviceNumber);
|
||||
nic.setKey(-contextNumber);
|
||||
return nic;
|
||||
@ -106,9 +108,6 @@ public class VmwareHelper {
|
||||
public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, int controllerKey, String vmdkDatastorePath,
|
||||
int sizeInMb, ManagedObjectReference morDs, int deviceNumber, int contextNumber) throws Exception {
|
||||
|
||||
if(controllerKey < 0)
|
||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||
|
||||
VirtualDisk disk = new VirtualDisk();
|
||||
|
||||
VirtualDiskFlatVer2BackingInfo backingInfo = new VirtualDiskFlatVer2BackingInfo();
|
||||
@ -119,9 +118,12 @@ public class VmwareHelper {
|
||||
backingInfo.setFileName(vmdkDatastorePath);
|
||||
disk.setBacking(backingInfo);
|
||||
|
||||
if(controllerKey < 0)
|
||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||
if(deviceNumber < 0)
|
||||
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
||||
disk.setControllerKey(controllerKey);
|
||||
disk.setControllerKey(controllerKey);
|
||||
|
||||
disk.setKey(-contextNumber);
|
||||
disk.setUnitNumber(deviceNumber);
|
||||
disk.setCapacityInKB(sizeInMb*1024);
|
||||
@ -187,9 +189,9 @@ public class VmwareHelper {
|
||||
if(controllerKey < 0)
|
||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||
disk.setControllerKey(controllerKey);
|
||||
|
||||
if(deviceNumber < 0)
|
||||
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
||||
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
||||
|
||||
disk.setKey(-contextNumber);
|
||||
disk.setUnitNumber(deviceNumber);
|
||||
disk.setCapacityInKB(sizeInMb*1024);
|
||||
@ -208,9 +210,6 @@ public class VmwareHelper {
|
||||
assert(vmdkDatastorePathChain != null);
|
||||
assert(vmdkDatastorePathChain.length >= 1);
|
||||
|
||||
if(controllerKey < 0)
|
||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||
|
||||
VirtualDisk disk = new VirtualDisk();
|
||||
|
||||
VirtualDiskFlatVer2BackingInfo backingInfo = new VirtualDiskFlatVer2BackingInfo();
|
||||
@ -227,6 +226,8 @@ public class VmwareHelper {
|
||||
|
||||
disk.setBacking(backingInfo);
|
||||
|
||||
if(controllerKey < 0)
|
||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||
if(deviceNumber < 0)
|
||||
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
||||
|
||||
@ -267,12 +268,13 @@ public class VmwareHelper {
|
||||
VirtualCdrom cdRom = (VirtualCdrom )vmMo.getIsoDevice();
|
||||
if(cdRom == null) {
|
||||
newCdRom = true;
|
||||
cdRom = new VirtualCdrom();
|
||||
cdRom = new VirtualCdrom();
|
||||
|
||||
assert(vmMo.getIDEDeviceControllerKey() >= 0);
|
||||
cdRom.setControllerKey(vmMo.getIDEDeviceControllerKey());
|
||||
|
||||
if(deviceNumber < 0)
|
||||
deviceNumber = vmMo.getNextIDEDeviceNumber();
|
||||
|
||||
cdRom.setUnitNumber(deviceNumber);
|
||||
cdRom.setKey(-contextNumber);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user