mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-16 10:32:34 +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;
|
VirtualDevice nic;
|
||||||
int nicDeviceNumber = -1;
|
|
||||||
for (NicTO nicTo : sortNicsByDeviceId(nics)) {
|
for (NicTO nicTo : sortNicsByDeviceId(nics)) {
|
||||||
s_logger.info("Prepare NIC device based on NicTO: " + _gson.toJson(nicTo));
|
s_logger.info("Prepare NIC device based on NicTO: " + _gson.toJson(nicTo));
|
||||||
|
|
||||||
Pair<ManagedObjectReference, String> networkInfo = prepareNetworkFromNicInfo(vmMo.getRunningHost(), 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);
|
nic = VmwareHelper.prepareNicDevice(vmMo, networkInfo.first(), mgr.getGuestNicDeviceType(), networkInfo.second(), nicTo.getMac(), i, i + 1, true, true);
|
||||||
nicDeviceNumber = nic.getUnitNumber() + 1;
|
|
||||||
deviceConfigSpecArray[i] = new VirtualDeviceConfigSpec();
|
deviceConfigSpecArray[i] = new VirtualDeviceConfigSpec();
|
||||||
deviceConfigSpecArray[i].setDevice(nic);
|
deviceConfigSpecArray[i].setDevice(nic);
|
||||||
deviceConfigSpecArray[i].setOperation(VirtualDeviceConfigSpecOperation.add);
|
deviceConfigSpecArray[i].setOperation(VirtualDeviceConfigSpecOperation.add);
|
||||||
@ -3179,7 +3177,13 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
|||||||
if (s_logger.isDebugEnabled()) {
|
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");
|
s_logger.debug("VM " + vm + " is now missing from host report but we detected that it might be migrated to other host by vCenter");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
_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;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -93,10 +93,12 @@ public class VmwareHelper {
|
|||||||
nic.setAddressType("Manual");
|
nic.setAddressType("Manual");
|
||||||
nic.setConnectable(connectInfo);
|
nic.setConnectable(connectInfo);
|
||||||
nic.setMacAddress(macAddress);
|
nic.setMacAddress(macAddress);
|
||||||
nic.setControllerKey(vmMo.getPCIDeviceControllerKey());
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
nic.setControllerKey(vmMo.getPCIDeviceControllerKey());
|
||||||
if(deviceNumber < 0)
|
if(deviceNumber < 0)
|
||||||
deviceNumber = vmMo.getNextPCIDeviceNumber();
|
deviceNumber = vmMo.getNextPCIDeviceNumber();
|
||||||
|
*/
|
||||||
nic.setUnitNumber(deviceNumber);
|
nic.setUnitNumber(deviceNumber);
|
||||||
nic.setKey(-contextNumber);
|
nic.setKey(-contextNumber);
|
||||||
return nic;
|
return nic;
|
||||||
@ -106,9 +108,6 @@ public class VmwareHelper {
|
|||||||
public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, int controllerKey, String vmdkDatastorePath,
|
public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, int controllerKey, String vmdkDatastorePath,
|
||||||
int sizeInMb, ManagedObjectReference morDs, int deviceNumber, int contextNumber) throws Exception {
|
int sizeInMb, ManagedObjectReference morDs, int deviceNumber, int contextNumber) throws Exception {
|
||||||
|
|
||||||
if(controllerKey < 0)
|
|
||||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
|
||||||
|
|
||||||
VirtualDisk disk = new VirtualDisk();
|
VirtualDisk disk = new VirtualDisk();
|
||||||
|
|
||||||
VirtualDiskFlatVer2BackingInfo backingInfo = new VirtualDiskFlatVer2BackingInfo();
|
VirtualDiskFlatVer2BackingInfo backingInfo = new VirtualDiskFlatVer2BackingInfo();
|
||||||
@ -119,9 +118,12 @@ public class VmwareHelper {
|
|||||||
backingInfo.setFileName(vmdkDatastorePath);
|
backingInfo.setFileName(vmdkDatastorePath);
|
||||||
disk.setBacking(backingInfo);
|
disk.setBacking(backingInfo);
|
||||||
|
|
||||||
|
if(controllerKey < 0)
|
||||||
|
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||||
if(deviceNumber < 0)
|
if(deviceNumber < 0)
|
||||||
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
||||||
disk.setControllerKey(controllerKey);
|
disk.setControllerKey(controllerKey);
|
||||||
|
|
||||||
disk.setKey(-contextNumber);
|
disk.setKey(-contextNumber);
|
||||||
disk.setUnitNumber(deviceNumber);
|
disk.setUnitNumber(deviceNumber);
|
||||||
disk.setCapacityInKB(sizeInMb*1024);
|
disk.setCapacityInKB(sizeInMb*1024);
|
||||||
@ -187,9 +189,9 @@ public class VmwareHelper {
|
|||||||
if(controllerKey < 0)
|
if(controllerKey < 0)
|
||||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||||
disk.setControllerKey(controllerKey);
|
disk.setControllerKey(controllerKey);
|
||||||
|
|
||||||
if(deviceNumber < 0)
|
if(deviceNumber < 0)
|
||||||
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
||||||
|
|
||||||
disk.setKey(-contextNumber);
|
disk.setKey(-contextNumber);
|
||||||
disk.setUnitNumber(deviceNumber);
|
disk.setUnitNumber(deviceNumber);
|
||||||
disk.setCapacityInKB(sizeInMb*1024);
|
disk.setCapacityInKB(sizeInMb*1024);
|
||||||
@ -208,9 +210,6 @@ public class VmwareHelper {
|
|||||||
assert(vmdkDatastorePathChain != null);
|
assert(vmdkDatastorePathChain != null);
|
||||||
assert(vmdkDatastorePathChain.length >= 1);
|
assert(vmdkDatastorePathChain.length >= 1);
|
||||||
|
|
||||||
if(controllerKey < 0)
|
|
||||||
controllerKey = vmMo.getIDEDeviceControllerKey();
|
|
||||||
|
|
||||||
VirtualDisk disk = new VirtualDisk();
|
VirtualDisk disk = new VirtualDisk();
|
||||||
|
|
||||||
VirtualDiskFlatVer2BackingInfo backingInfo = new VirtualDiskFlatVer2BackingInfo();
|
VirtualDiskFlatVer2BackingInfo backingInfo = new VirtualDiskFlatVer2BackingInfo();
|
||||||
@ -227,6 +226,8 @@ public class VmwareHelper {
|
|||||||
|
|
||||||
disk.setBacking(backingInfo);
|
disk.setBacking(backingInfo);
|
||||||
|
|
||||||
|
if(controllerKey < 0)
|
||||||
|
controllerKey = vmMo.getIDEDeviceControllerKey();
|
||||||
if(deviceNumber < 0)
|
if(deviceNumber < 0)
|
||||||
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
|
||||||
|
|
||||||
@ -268,11 +269,12 @@ public class VmwareHelper {
|
|||||||
if(cdRom == null) {
|
if(cdRom == null) {
|
||||||
newCdRom = true;
|
newCdRom = true;
|
||||||
cdRom = new VirtualCdrom();
|
cdRom = new VirtualCdrom();
|
||||||
|
|
||||||
assert(vmMo.getIDEDeviceControllerKey() >= 0);
|
assert(vmMo.getIDEDeviceControllerKey() >= 0);
|
||||||
cdRom.setControllerKey(vmMo.getIDEDeviceControllerKey());
|
cdRom.setControllerKey(vmMo.getIDEDeviceControllerKey());
|
||||||
|
|
||||||
if(deviceNumber < 0)
|
if(deviceNumber < 0)
|
||||||
deviceNumber = vmMo.getNextIDEDeviceNumber();
|
deviceNumber = vmMo.getNextIDEDeviceNumber();
|
||||||
|
|
||||||
cdRom.setUnitNumber(deviceNumber);
|
cdRom.setUnitNumber(deviceNumber);
|
||||||
cdRom.setKey(-contextNumber);
|
cdRom.setKey(-contextNumber);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user