diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SaveVmExternalDataCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SaveVmExternalDataCommand.java index 0949a126370..c4521c3f0ab 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SaveVmExternalDataCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SaveVmExternalDataCommand.java @@ -10,7 +10,6 @@ import org.ovirt.engine.core.common.action.ExternalDataStatus; import org.ovirt.engine.core.common.action.SaveVmExternalDataParameters; import org.ovirt.engine.core.common.action.VmExternalDataKind; -import org.ovirt.engine.core.common.businessentities.BiosType; import org.ovirt.engine.core.common.businessentities.VmDeviceGeneralType; import org.ovirt.engine.core.common.errors.EngineError; import org.ovirt.engine.core.common.errors.EngineException; @@ -47,8 +46,8 @@ private boolean hasTpmDevice() { return !vmDeviceDao.getVmDeviceByVmIdAndType(getParameters().getVmId(), VmDeviceGeneralType.TPM).isEmpty(); } - private boolean hasSecureBoot() { - return getVm().getBiosType() == BiosType.Q35_SECURE_BOOT + private boolean isUEFI() { + return getVm().getBiosType().isOvmf() && FeatureSupported.isNvramPersistenceSupported(getVm().getCompatibilityVersion()); } @@ -80,7 +79,7 @@ protected void executeCommand() { if (hasTpmDevice()) { dataToRetrieve.add(VmExternalDataKind.TPM); } - if (hasSecureBoot()) { + if (isUEFI()) { dataToRetrieve.add(VmExternalDataKind.NVRAM); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java index d5b3ec58941..4ab460c8f3c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java @@ -31,7 +31,6 @@ import org.ovirt.engine.core.bll.utils.VmDeviceUtils; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.action.VmExternalDataKind; -import org.ovirt.engine.core.common.businessentities.BiosType; import org.ovirt.engine.core.common.businessentities.Cluster; import org.ovirt.engine.core.common.businessentities.Quota; import org.ovirt.engine.core.common.businessentities.Snapshot; @@ -352,7 +351,7 @@ private void addVmExternalData(Map> vmEx vmExternalData.put(VmExternalDataKind.TPM, tpmData); } } - if (vm.getBiosType() == BiosType.Q35_SECURE_BOOT) { + if (vm.getBiosType().isOvmf()) { SecretValue nvramData = vmDao.getNvramData(vm.getId()).getFirst(); if (!SecretValue.isNull(nvramData) && !nvramData.getValue().equals("")) { vmExternalData.put(VmExternalDataKind.NVRAM, nvramData); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java index f36ed3e82b1..0cc574dbd40 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java @@ -29,7 +29,6 @@ import org.ovirt.engine.core.common.action.VmExternalDataKind; import org.ovirt.engine.core.common.action.VmManagementParametersBase; import org.ovirt.engine.core.common.businessentities.ArchitectureType; -import org.ovirt.engine.core.common.businessentities.BiosType; import org.ovirt.engine.core.common.businessentities.ChipsetType; import org.ovirt.engine.core.common.businessentities.Cluster; import org.ovirt.engine.core.common.businessentities.ConsoleTargetType; @@ -2287,7 +2286,7 @@ public void copyVmExternalData(Guid sourceVmId, Guid targetVmId) { if (hasTpmDevice(targetVmId)) { vmDao.copyTpmData(sourceVmId, targetVmId); } - if (getVmBase(targetVmId).getBiosType() == BiosType.Q35_SECURE_BOOT) { + if (getVmBase(targetVmId).getBiosType().isOvmf()) { vmDao.copyNvramData(sourceVmId, targetVmId); } } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateBrokerVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateBrokerVDSCommand.java index 2e70c9994c9..46ea7222037 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateBrokerVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateBrokerVDSCommand.java @@ -5,7 +5,6 @@ import javax.inject.Inject; -import org.ovirt.engine.core.common.businessentities.BiosType; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VmDevice; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; @@ -78,7 +77,7 @@ private Map createInfo() { if (!SecretValue.isNull(tpmData)) { createInfo.put(VdsProperties.tpmData, tpmData.getValue()); } - if (vm.getBiosType() == BiosType.Q35_SECURE_BOOT) { + if (vm.getBiosType().isOvmf()) { SecretValue nvramData = vmInfoBuildUtils.nvramData(vm.getId()); if (!SecretValue.isNull(nvramData)) { createInfo.put(VdsProperties.nvramData, nvramData.getValue());