Skip to content

Commit aabee5e

Browse files
committed
vTPM: extra methods as Daan's requests
1 parent 5c90596 commit aabee5e

File tree

1 file changed

+21
-15
lines changed
  • plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource

1 file changed

+21
-15
lines changed

plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3229,30 +3229,36 @@ protected void configureVirtualTPM(VirtualMachineMO vmMo, VirtualMachineTO vmSpe
32293229
return;
32303230
}
32313231
}
3232-
Description description = new Description();
3233-
description.setSummary("Trusted Platform Module");
3234-
description.setLabel("Trusted Platform Module");
3235-
VirtualTPM virtualTPM = new VirtualTPM();
3236-
virtualTPM.setDeviceInfo(description);
3237-
VirtualDeviceConfigSpec deviceConfigSpec = new VirtualDeviceConfigSpec();
3238-
deviceConfigSpec.setDevice(virtualTPM);
3239-
deviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.ADD);
3240-
vmConfigSpec.getDeviceChange().add(deviceConfigSpec);
3232+
addVirtualTPMDevice(vmConfigSpec);
32413233
} else {
32423234
logger.debug(String.format("Virtual TPM device is not enabled. It is only enabled when boot type is SECURE (actually %s) and vTPM is enabled (actually %s)", bootType, virtualTPMEnabled));
32433235
for (VirtualDevice device : vmMo.getAllDeviceList()) {
32443236
if (device instanceof VirtualTPM) {
3245-
VirtualTPM virtualTPM = (VirtualTPM) device;
3246-
VirtualDeviceConfigSpec virtualDeviceConfigSpec = new VirtualDeviceConfigSpec();
3247-
virtualDeviceConfigSpec.setDevice(virtualTPM);
3248-
virtualDeviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.REMOVE);
3249-
vmConfigSpec.getDeviceChange().add(virtualDeviceConfigSpec);
3237+
removeVirtualTPMDevice(vmConfigSpec, (VirtualTPM) device);
32503238
}
32513239
}
3252-
32533240
}
32543241
}
32553242

3243+
private void addVirtualTPMDevice(VirtualMachineConfigSpec vmConfigSpec) {
3244+
Description description = new Description();
3245+
description.setSummary("Trusted Platform Module");
3246+
description.setLabel("Trusted Platform Module");
3247+
VirtualTPM virtualTPM = new VirtualTPM();
3248+
virtualTPM.setDeviceInfo(description);
3249+
VirtualDeviceConfigSpec deviceConfigSpec = new VirtualDeviceConfigSpec();
3250+
deviceConfigSpec.setDevice(virtualTPM);
3251+
deviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.ADD);
3252+
vmConfigSpec.getDeviceChange().add(deviceConfigSpec);
3253+
}
3254+
3255+
private void removeVirtualTPMDevice(VirtualMachineConfigSpec vmConfigSpec, VirtualTPM virtualTPM) {
3256+
VirtualDeviceConfigSpec virtualDeviceConfigSpec = new VirtualDeviceConfigSpec();
3257+
virtualDeviceConfigSpec.setDevice(virtualTPM);
3258+
virtualDeviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.REMOVE);
3259+
vmConfigSpec.getDeviceChange().add(virtualDeviceConfigSpec);
3260+
}
3261+
32563262
private void tearDownVm(VirtualMachineMO vmMo) throws Exception {
32573263

32583264
if (vmMo == null)

0 commit comments

Comments
 (0)