Remove registering virtual disk code

This commit is contained in:
Harikrishna Patnala 2020-08-12 00:34:58 +05:30
parent b88df5ee5b
commit f320cf3c59

View File

@ -61,8 +61,6 @@ import com.vmware.vim25.ParaVirtualSCSIController;
import com.vmware.vim25.PropertyFilterSpec; import com.vmware.vim25.PropertyFilterSpec;
import com.vmware.vim25.PropertySpec; import com.vmware.vim25.PropertySpec;
import com.vmware.vim25.TraversalSpec; import com.vmware.vim25.TraversalSpec;
import com.vmware.vim25.VStorageObject;
import com.vmware.vim25.VStorageObjectConfigInfo;
import com.vmware.vim25.VirtualBusLogicController; import com.vmware.vim25.VirtualBusLogicController;
import com.vmware.vim25.VirtualCdrom; import com.vmware.vim25.VirtualCdrom;
import com.vmware.vim25.VirtualCdromIsoBackingInfo; import com.vmware.vim25.VirtualCdromIsoBackingInfo;
@ -2474,7 +2472,6 @@ public class VirtualMachineMO extends BaseMO {
String deviceNumbering = getDeviceBusName(devices, device); String deviceNumbering = getDeviceBusName(devices, device);
s_logger.info("Disk backing : " + diskBackingInfo.getFileName() + " matches ==> " + deviceNumbering); s_logger.info("Disk backing : " + diskBackingInfo.getFileName() + " matches ==> " + deviceNumbering);
registerVirtualDisk((VirtualDisk) device, dsBackingFile);
return new Pair<>((VirtualDisk)device, deviceNumbering); return new Pair<>((VirtualDisk)device, deviceNumbering);
} }
@ -2547,7 +2544,6 @@ public class VirtualMachineMO extends BaseMO {
String deviceNumbering = getDeviceBusName(devices, device); String deviceNumbering = getDeviceBusName(devices, device);
s_logger.info("Disk backing : " + diskBackingInfo.getFileName() + " matches ==> " + deviceNumbering); s_logger.info("Disk backing : " + diskBackingInfo.getFileName() + " matches ==> " + deviceNumbering);
registerVirtualDisk((VirtualDisk) device, dsBackingFile);
return new Pair<VirtualDisk, String>((VirtualDisk)device, deviceNumbering); return new Pair<VirtualDisk, String>((VirtualDisk)device, deviceNumbering);
} }
} else { } else {
@ -2555,7 +2551,6 @@ public class VirtualMachineMO extends BaseMO {
String deviceNumbering = getDeviceBusName(devices, device); String deviceNumbering = getDeviceBusName(devices, device);
s_logger.info("Disk backing : " + diskBackingInfo.getFileName() + " matches ==> " + deviceNumbering); s_logger.info("Disk backing : " + diskBackingInfo.getFileName() + " matches ==> " + deviceNumbering);
registerVirtualDisk((VirtualDisk) device, dsBackingFile);
return new Pair<VirtualDisk, String>((VirtualDisk)device, deviceNumbering); return new Pair<VirtualDisk, String>((VirtualDisk)device, deviceNumbering);
} }
} }
@ -2570,20 +2565,6 @@ public class VirtualMachineMO extends BaseMO {
return null; return null;
} }
public void registerVirtualDisk(VirtualDisk device, DatastoreFile dsBackingFile) {
if (((VirtualDisk) device).getVDiskId() == null) {
try {
s_logger.debug("vDiskid does not exist for volume " + dsBackingFile.getFileName() + " registering the disk now");
VirtualStorageObjectManagerMO vStorageObjectManagerMO = new VirtualStorageObjectManagerMO(getOwnerDatacenter().first().getContext());
VStorageObject vStorageObject = vStorageObjectManagerMO.registerVirtualDisk(dsBackingFile, null, getOwnerDatacenter().first().getName());
VStorageObjectConfigInfo diskConfigInfo = vStorageObject.getConfig();
((VirtualDisk) device).setVDiskId(diskConfigInfo.getId());
} catch (Exception e) {
s_logger.warn("Exception while trying to register a disk as first class disk to get the unique identifier, main operation still continues: " + e.getMessage());
}
}
}
public String getDiskCurrentTopBackingFileInChain(String deviceBusName) throws Exception { public String getDiskCurrentTopBackingFileInChain(String deviceBusName) throws Exception {
List<VirtualDevice> devices = _context.getVimClient().getDynamicProperty(_mor, "config.hardware.device"); List<VirtualDevice> devices = _context.getVimClient().getDynamicProperty(_mor, "config.hardware.device");
if (devices != null && devices.size() > 0) { if (devices != null && devices.size() > 0) {
@ -2633,14 +2614,11 @@ public class VirtualMachineMO extends BaseMO {
VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking(); VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking();
if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) { if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo; VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
String diskBackingFileName = diskBackingInfo.getFileName();
while (diskBackingInfo != null) { while (diskBackingInfo != null) {
String deviceBusName = getDeviceBusName(devices, device); String deviceBusName = getDeviceBusName(devices, device);
builder.addDisk(deviceBusName, diskBackingInfo.getFileName()); builder.addDisk(deviceBusName, diskBackingInfo.getFileName());
diskBackingInfo = diskBackingInfo.getParent(); diskBackingInfo = diskBackingInfo.getParent();
} }
DatastoreFile dsBackingFile = new DatastoreFile(diskBackingFileName);
registerVirtualDisk((VirtualDisk) device, dsBackingFile);
} }
} }
} }
@ -2659,8 +2637,6 @@ public class VirtualMachineMO extends BaseMO {
VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking(); VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking();
if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) { if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo; VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
DatastoreFile dsBackingFile = new DatastoreFile(diskBackingInfo.getFileName());
registerVirtualDisk((VirtualDisk) device, dsBackingFile);
disks.add(new Pair<Integer, ManagedObjectReference>(new Integer(device.getKey()), diskBackingInfo.getDatastore())); disks.add(new Pair<Integer, ManagedObjectReference>(new Integer(device.getKey()), diskBackingInfo.getDatastore()));
} }
} }
@ -2769,10 +2745,6 @@ public class VirtualMachineMO extends BaseMO {
for (VirtualDevice device : devices) { for (VirtualDevice device : devices) {
if (device instanceof VirtualDisk) { if (device instanceof VirtualDisk) {
VirtualDeviceBackingInfo backingInfo = device.getBacking();
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
DatastoreFile dsBackingFile = new DatastoreFile(diskBackingInfo.getFileName());
registerVirtualDisk((VirtualDisk) device, dsBackingFile);
virtualDisks.add((VirtualDisk)device); virtualDisks.add((VirtualDisk)device);
} }
} }
@ -2807,7 +2779,6 @@ public class VirtualMachineMO extends BaseMO {
reConfigSpec.getDeviceChange().add(deviceConfigSpec); reConfigSpec.getDeviceChange().add(deviceConfigSpec);
} }
registerVirtualDisk((VirtualDisk) device, dsBackingFile);
} }
} }
@ -2835,23 +2806,6 @@ public class VirtualMachineMO extends BaseMO {
if (devices != null && devices.size() > 0) { if (devices != null && devices.size() > 0) {
for (VirtualDevice device : devices) { for (VirtualDevice device : devices) {
if (device instanceof VirtualDisk) { if (device instanceof VirtualDisk) {
if (((VirtualDisk) device).getVDiskId() == null) {
try {
// Register as first class disk
VirtualDeviceBackingInfo backingInfo = device.getBacking();
if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo) backingInfo;
DatastoreFile dsBackingFile = new DatastoreFile(diskBackingInfo.getFileName());
s_logger.debug("vDiskid does not exist for volume " + diskBackingInfo.getFileName() + " registering the disk now");
VirtualStorageObjectManagerMO vStorageObjectManagerMO = new VirtualStorageObjectManagerMO(getOwnerDatacenter().first().getContext());
VStorageObject vStorageObject = vStorageObjectManagerMO.registerVirtualDisk(dsBackingFile, null, getOwnerDatacenter().first().getName());
VStorageObjectConfigInfo diskConfigInfo = vStorageObject.getConfig();
((VirtualDisk) device).setVDiskId(diskConfigInfo.getId());
}
} catch (Exception e) {
s_logger.warn("Exception while trying to register a disk as first class disk to get the unique identifier, main operation still continues: " + e.getMessage());
}
}
deviceList.add((VirtualDisk)device); deviceList.add((VirtualDisk)device);
} }
} }