Jiří Moskovčák has uploaded a new change for review. Change subject: engine: don't allow to create VM with balloon on ppc64 ......................................................................
engine: don't allow to create VM with balloon on ppc64 Change-Id: Iee077b08a825e65de2cddce85bc88573e89da4ab Bug-Url: https://bugzilla.redhat.com/1127677 Signed-off-by: Jiri Moskovcak <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties M frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java M frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties M frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties 12 files changed, 100 insertions(+), 12 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/32243/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java index 3dd57eb..ef8b3e0 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java @@ -425,6 +425,11 @@ return false; } + if (isBalloonEnabled() && !getVdsGroup().isBalloonSupported()) { + return failCanDoAction(VdcBllMessages.BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH, + String.format("$clusterArch %1$s", getVdsGroup().getArchitecture())); + } + // otherwise.. storageToDisksMap = ImagesHandler.buildStorageToDiskMap(getImagesToCheckDestinationStorageDomains(), diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java index ea90db6..2a10a0e 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java @@ -191,6 +191,11 @@ } } + if (getVdsGroup() != null && getVm().isBalloonEnabled() && !getVdsGroup().isBalloonSupported()) { + return failCanDoAction(VdcBllMessages.BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH, + String.format("$clusterArch %1$s", getVdsGroup().getArchitecture())); + } + return canDoActionAfterCloneVm(domainsMap); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java index 8c6ccce..3e2e666 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java @@ -448,6 +448,11 @@ return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_MIN_MEMORY_CANNOT_EXCEED_MEMORY_SIZE); } + if (isBalloonEnabled() && !getVdsGroup().isBalloonSupported()) { + return failCanDoAction(VdcBllMessages.BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH, + String.format("$clusterArch %1$s", getVdsGroup().getArchitecture())); + } + return true; } @@ -632,6 +637,11 @@ return VmDeviceUtils.isVirtioScsiControllerAttached(vmId); } + boolean isBalloonEnabled() { + Boolean balloonEnabled = getParameters().isBalloonEnabled(); + return balloonEnabled != null ? balloonEnabled : VmDeviceUtils.isBalloonEnabled(getVmId()); + } + protected boolean isSoundDeviceEnabled() { Boolean soundDeviceEnabled = getParameters().isSoundDeviceEnabled(); return soundDeviceEnabled != null ? soundDeviceEnabled : diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java index 08fc849..bd9d4d4 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java @@ -601,4 +601,25 @@ cmd.getParameters().getVm().setName("aa-??bb"); assertFalse("Pattern-based name should not be supported for VM", cmd.validateInputs()); } + + @Test + public void refuseBalloonOnPPC() { + ArrayList<String> reasons = new ArrayList<String>(); + final int domainSizeGB = 20; + final int sizeRequired = 5; + AddVmCommand<VmManagementParametersBase> cmd = setupCanAddVmTests(domainSizeGB, sizeRequired); + doReturn(Collections.emptyList()).when(cmd).validateCustomProperties(any(VmStatic.class)); + + cmd.getParameters().setBalloonEnabled(true); + cmd.getParameters().getVm().setClusterArch(ArchitectureType.ppc64); + VDSGroup cluster = new VDSGroup(); + cluster.setArchitecture(ArchitectureType.ppc64); + cluster.setcompatibility_version(Version.getLast()); + doReturn(cluster).when(cmd).getVdsGroup(); + doReturn(true).when(cmd).buildAndCheckDestStorageDomains(); + assertFalse(cmd.canDoAction()); + assertTrue(cmd.getReturnValue() + .getCanDoActionMessages() + .contains(VdcBllMessages.BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH.toString())); + } } diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java index 70831d0..49817d8 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImportVmCommandTest.java @@ -31,6 +31,7 @@ import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.ovirt.engine.core.common.action.ImportVmParameters; +import org.ovirt.engine.core.common.businessentities.ArchitectureType; import org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.DiskImage; @@ -94,6 +95,34 @@ } @Test + public void refuseBalloonOnPPC() { + final ImportVmCommand<ImportVmParameters> c = setupDiskSpaceTest(0); + c.getParameters().getVm().setBalloonEnabled(true); + c.getParameters().getVm().setClusterArch(ArchitectureType.ppc64); + VDSGroup cluster = new VDSGroup(); + cluster.setArchitecture(ArchitectureType.ppc64); + cluster.setcompatibility_version(Version.getLast()); + doReturn(cluster).when(c).getVdsGroup(); + assertFalse(c.canDoAction()); + assertTrue(c.getReturnValue() + .getCanDoActionMessages() + .contains(VdcBllMessages.BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH.toString())); + } + + @Test + public void acceptBalloon() { + final ImportVmCommand<ImportVmParameters> c = setupDiskSpaceTest(0); + c.getParameters().getVm().setBalloonEnabled(true); + c.getParameters().getVm().setClusterArch(ArchitectureType.x86_64); + VDSGroup cluster = new VDSGroup(); + cluster.setArchitecture(ArchitectureType.x86_64); + cluster.setcompatibility_version(Version.getLast()); + doReturn(cluster).when(c).getVdsGroup(); + osRepository.getDisplayTypes().get(0).put(Version.getLast(), Arrays.asList(DisplayType.qxl)); + assertTrue(c.canDoAction()); + } + + @Test public void sufficientDiskSpace() { final int extraDiskSpaceRequired = 0; final ImportVmCommand<ImportVmParameters> c = setupDiskSpaceTest(extraDiskSpaceRequired); diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java index 6132ea1..56d5dbc 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java @@ -145,6 +145,7 @@ doReturn(vm).when(command).getVm(); doReturn(false).when(command).isVirtioScsiEnabledForVm(any(Guid.class)); + doReturn(true).when(command).isBalloonEnabled(); } @Test diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java index d04514c..9e78462 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java @@ -19,6 +19,7 @@ public class VDSGroup extends IVdcQueryable implements Serializable, BusinessEntity<Guid>, HasStoragePool<Guid>, Nameable, Commented { private static final long serialVersionUID = 5659359762655478095L; + public static final ArchitectureType BALLOON_DEVICE_BLACKLISTED_ARCH = ArchitectureType.ppc64; private Guid id; @@ -295,6 +296,10 @@ this.enableBallooning = enableBallooning; } + public boolean isBalloonSupported(){ + return this.architecture != BALLOON_DEVICE_BLACKLISTED_ARCH; + } + public void setDetectEmulatedMachine(boolean detectEmulatedMachine) { this.detectEmulatedMachine = detectEmulatedMachine; } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java index 7c5b2c4..39ace55 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java @@ -959,7 +959,10 @@ // Iscsi bonds ISCSI_BOND_WITH_SAME_NAME_EXIST_IN_DATA_CENTER(ErrorType.CONFLICT), ISCSI_BOND_NOT_SUPPORTED(ErrorType.NOT_SUPPORTED), - ISCSI_BOND_NOT_EXIST(ErrorType.BAD_PARAMETERS); + ISCSI_BOND_NOT_EXIST(ErrorType.BAD_PARAMETERS), + + //balloon on ppc + BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH(ErrorType.NOT_SUPPORTED); private ErrorType messageType; diff --git a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties index 649bc8e..b4470db 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties @@ -85,7 +85,7 @@ ${disksInfo} \n \n\ please deactivate/detach the Disk snapshots or turn off those VMs and try again. VDS_CANNOT_REMOVE_DEFAULT_VDS_GROUP=Cannot remove default Host Cluster. -VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Cannot ${action} ${type}. One or more VMs are still running on this Host. +VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Cannot ${action} ${type}. One or more VMs are still running on this Host. VDS_CANNOT_REMOVE_VDS_GROUP_VDS_DETECTED=Cannot ${action} ${type}. Host Cluster contains one or more Hosts. VDS_CANNOT_REMOVE_VDS_STATUS_ILLEGAL=Cannot ${action} ${type}. Host is operational. Please switch Host to Maintenance mode first. VDS_NOT_EXIST=Cannot ${action} ${type}. Internal Error: Host does not exists in DB. @@ -1097,8 +1097,8 @@ ACTION_TYPE_FAILED_CLUSTER_POLICY_FILTER_NOT_IMPLEMENTED=Cannot ${action} ${type}. Policy unit doesn't implement Filtering. ACTION_TYPE_FAILED_CLUSTER_POLICY_FUNCTION_NOT_IMPLEMENTED=Cannot ${action} ${type}. Policy unit doesn't implement score function. ACTION_TYPE_FAILED_CLUSTER_POLICY_BALANCE_NOT_IMPLEMENTED=Cannot ${action} ${type}. Policy unit doesn't implement load balancing logic. -ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_FIRST=Cannot ${action} ${type}. Only a single filter can be selected as first. -ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_LAST=Cannot ${action} ${type}. Only a single filter can be selected as last. +ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_FIRST=Cannot ${action} ${type}. Only a single filter can be selected as first. +ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_LAST=Cannot ${action} ${type}. Only a single filter can be selected as last. ACTION_TYPE_FAILED_CLUSTER_POLICY_FUNCTION_FACTOR_NEGATIVE=Cannot ${action} ${type}. Function factor cannot be negative. ACTION_TYPE_FAILED_CANNOT_REMOVE_POLICY_UNIT_ATTACHED_TO_CLUSTER_POLICY=Cannot ${action} ${type}. Policy unit is attached to the following cluster policies: ${cpNames}. # External Events Errors Messages @@ -1177,3 +1177,5 @@ ACTION_TYPE_FAILED_IDE_INTERFACE_DOES_NOT_SUPPORT_READ_ONLY_ATTR=Cannot ${action} ${type}. An IDE disk can't be read-only. ACTION_TYPE_FAILED_VIRT_IO_SCSI_INTERFACE_FOR_LUN_DISKS_DOES_NOT_SUPPORT_READ_ONLY_ATTR=Cannot ${action} ${type}. A VirtIO-SCSI LUN disk can't be read-only. + +BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH=Cannot ${action} ${type}. Balloon is not supported on '${clusterArch}' architecture. diff --git a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java index f5149b6..b4bf4b2 100644 --- a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java +++ b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java @@ -3135,4 +3135,7 @@ @DefaultStringValue("Cannot ${action} ${type}. ${interface} disks can't be read-only.") String ACTION_TYPE_FAILED_INTERFACE_DOES_NOT_SUPPORT_READ_ONLY_ATTR(); + + @DefaultStringValue("Cannot ${action} ${type}. Balloon is not supported on '${clusterArch}' architecture.") + String BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH(); } diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties index fbc7cb2..9cad15f 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties @@ -85,7 +85,7 @@ ${disksInfo} \n \n please deactivate/detach the Disk snapshots or turn off those VMs and try again. VDS_CANNOT_REMOVE_DEFAULT_VDS_GROUP=Cannot remove default Host Cluster. -VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Cannot ${action} ${type}. One or more VMs are still running on this Host. +VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Cannot ${action} ${type}. One or more VMs are still running on this Host. VDS_CANNOT_REMOVE_VDS_GROUP_VDS_DETECTED=Cannot ${action} ${type}. Host Cluster contains one or more Hosts. VDS_CANNOT_REMOVE_VDS_STATUS_ILLEGAL=Cannot ${action} ${type}. Host is operational. Please switch Host to Maintenance mode first. VDS_PROTOCOL_ERROR=Internal error: Host protocol error. @@ -482,7 +482,7 @@ ERROR_CANNOT_DESTROY_LAST_STORAGE_DOMAIN=Cannot destroy the master Storage Domain from the Data Center without another active Storage Domain to take its place.\n\ -Either activate another Storage Domain in the Data Center, or remove the Data Center.\n\ -If you have problems with the master Data Domain, consider following the recovery process described in the documentation, or contact your system administrator. - + ERROR_CANNOT_DESTROY_LAST_STORAGE_DOMAIN_HOST_NOT_ACTIVE=In order to complete the operation a new master Storage Domain needs to be elected, which requires at least one active Host in the Data Center.\n\ -Please make sure one of the Hosts is active in the Data Center first. NETWORK_VLAN_OUT_OF_RANGE=VLAN ID must be a number between 0 and 4094. @@ -502,7 +502,7 @@ EN_UNSUPPORTED_NOTIFICATION_EVENT=The notification event ${eventName} is unsupported. EN_EVENT_UP_SUBJECT_TEXT=Alert Notification. EN_EVENT_DOWN_SUBJECT_TEXT=Issue Solved Notification. -EN_ALREADY_SUBSCRIBED=User is already subscribed to this event with the same Notification method. +EN_ALREADY_SUBSCRIBED=User is already subscribed to this event with the same Notification method. EN_NOT_SUBSCRIBED=Cannot ${action} ${type}.User is not subscribed to this event with the given Notification method. ACTION_TYPE_FAILED_STORAGE_DOMAIN_TYPE_ILLEGAL=Cannot ${action} ${type}. Storage Domain type not specified. ACTION_TYPE_FAILED_STORAGE_DOMAIN_FORMAT_ILLEGAL=Cannot ${action} ${type}. Storage Domain format ${storageFormat} is illegal. @@ -1008,3 +1008,5 @@ ACTION_TYPE_FAILED_IDE_INTERFACE_DOES_NOT_SUPPORT_READ_ONLY_ATTR=Cannot ${action} ${type}. An IDE disk can't be read-only. ACTION_TYPE_FAILED_VIRT_IO_SCSI_INTERFACE_FOR_LUN_DISKS_DOES_NOT_SUPPORT_READ_ONLY_ATTR=Cannot ${action} ${type}. A VirtIO-SCSI LUN disk can't be read-only. + +BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH=Cannot ${action} ${type}. Balloon is not supported on '${clusterArch}' architecture. diff --git a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties index f27ce15..7dfe4a3 100644 --- a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties +++ b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties @@ -85,7 +85,7 @@ ${disksInfo} \n \n\ please deactivate/detach the Disk snapshots or turn off those VMs and try again. VDS_CANNOT_REMOVE_DEFAULT_VDS_GROUP=Cannot remove default Host Cluster. -VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Cannot ${action} ${type}. One or more VMs are still running on this Host. +VDS_CANNOT_REMOVE_VDS_DETECTED_RUNNING_VM=Cannot ${action} ${type}. One or more VMs are still running on this Host. VDS_CANNOT_REMOVE_VDS_GROUP_VDS_DETECTED=Cannot ${action} ${type}. Host Cluster contains one or more Hosts. VDS_CANNOT_REMOVE_VDS_STATUS_ILLEGAL=Cannot ${action} ${type}. Host is operational. Please switch Host to Maintenance mode first. VDS_NOT_EXIST=Cannot ${action} ${type}. Internal Error: Host does not exists in DB. @@ -507,7 +507,7 @@ ERROR_CANNOT_DESTROY_LAST_STORAGE_DOMAIN=Cannot destroy the master Storage Domain from the Data Center without another active Storage Domain to take its place.\n\ -Either activate another Storage Domain in the Data Center, or remove the Data Center.\n\ -If you have problems with the master Data Domain, consider following the recovery process described in the documentation, or contact your system administrator. - + ERROR_CANNOT_DESTROY_LAST_STORAGE_DOMAIN_HOST_NOT_ACTIVE=In order to complete the operation a new master Storage Domain needs to be elected, which requires at least one active Host in the Data Center.\n\ -Please make sure one of the Hosts is active in the Data Center first. NETWORK_VLAN_OUT_OF_RANGE=VLAN ID must be a number between 0 and 4094. @@ -527,7 +527,7 @@ EN_UNSUPPORTED_NOTIFICATION_EVENT=The notification event ${eventName} is unsupported. EN_EVENT_UP_SUBJECT_TEXT=Alert Notification. EN_EVENT_DOWN_SUBJECT_TEXT=Issue Solved Notification. -EN_ALREADY_SUBSCRIBED=User is already subscribed to this event with the same Notification method. +EN_ALREADY_SUBSCRIBED=User is already subscribed to this event with the same Notification method. EN_NOT_SUBSCRIBED=Cannot ${action} ${type}.User is not subscribed to this event with the given Notification method. ACTION_TYPE_FAILED_STORAGE_DOMAIN_TYPE_ILLEGAL=Cannot ${action} ${type}. Storage Domain type not specified. ACTION_TYPE_FAILED_STORAGE_DOMAIN_FORMAT_ILLEGAL=Cannot ${action} ${type}. Storage Domain format ${storageFormat} is illegal. @@ -1075,8 +1075,8 @@ ACTION_TYPE_FAILED_CLUSTER_POLICY_FILTER_NOT_IMPLEMENTED=Cannot ${action} ${type}. Policy unit doesn't implement Filtering. ACTION_TYPE_FAILED_CLUSTER_POLICY_FUNCTION_NOT_IMPLEMENTED=Cannot ${action} ${type}. Policy unit doesn't implement score function. ACTION_TYPE_FAILED_CLUSTER_POLICY_BALANCE_NOT_IMPLEMENTED=Cannot ${action} ${type}. Policy unit doesn't implement load balancing logic. -ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_FIRST=Cannot ${action} ${type}. Only a single filter can be selected as first. -ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_LAST=Cannot ${action} ${type}. Only a single filter can be selected as last. +ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_FIRST=Cannot ${action} ${type}. Only a single filter can be selected as first. +ACTION_TYPE_FAILED_CLUSTER_POLICY_ONLY_ONE_FILTER_CAN_BE_LAST=Cannot ${action} ${type}. Only a single filter can be selected as last. ACTION_TYPE_FAILED_CLUSTER_POLICY_FUNCTION_FACTOR_NEGATIVE=Cannot ${action} ${type}. Function factor cannot be negative. ACTION_TYPE_FAILED_CANNOT_REMOVE_POLICY_UNIT_ATTACHED_TO_CLUSTER_POLICY=Cannot ${action} ${type}. Policy unit is attached to the following cluster policies: ${cpNames}. # External Events Errors Messages @@ -1149,3 +1149,5 @@ ACTION_TYPE_FAILED_IDE_INTERFACE_DOES_NOT_SUPPORT_READ_ONLY_ATTR=Cannot ${action} ${type}. An IDE disk can't be read-only. ACTION_TYPE_FAILED_VIRT_IO_SCSI_INTERFACE_FOR_LUN_DISKS_DOES_NOT_SUPPORT_READ_ONLY_ATTR=Cannot ${action} ${type}. A VirtIO-SCSI LUN disk can't be read-only. + +BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH=Cannot ${action} ${type}. Balloon is not supported on '${clusterArch}' architecture. -- To view, visit http://gerrit.ovirt.org/32243 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iee077b08a825e65de2cddce85bc88573e89da4ab Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.4 Gerrit-Owner: Jiří Moskovčák <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
