Martin Mucha has uploaded a new change for review. Change subject: core: MacPool related Commands ......................................................................
core: MacPool related Commands commands for adding/modifying/removing MacPools. Change-Id: I9c0c3657e3e53699bcafa375befdce848b01a2f3 Bug-Url: https://bugzilla.redhat.com/1078844 Signed-off-by: Martin Mucha <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddMacPoolCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveMacPoolCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateMacPoolCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MacPoolParameter.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.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 13 files changed, 331 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/28705/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddMacPoolCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddMacPoolCommand.java new file mode 100644 index 0000000..d3cf927 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddMacPoolCommand.java @@ -0,0 +1,81 @@ +package org.ovirt.engine.core.bll; + +import java.util.Collections; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolPerDC; +import org.ovirt.engine.core.bll.utils.PermissionSubject; +import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.action.MacPoolParameter; +import org.ovirt.engine.core.common.businessentities.MacPool; +import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.dao.MacPoolDAO; + +public class AddMacPoolCommand extends CommandBase<MacPoolParameter> { + + private MacPoolDAO macPoolDao; + + public AddMacPoolCommand(MacPoolParameter parameters) { + super(parameters); + } + + @Override + public List<PermissionSubject> getPermissionCheckSubjects() { + return Collections.singletonList(new PermissionSubject(MultiLevelAdministrationHandler.SYSTEM_OBJECT_ID, + VdcObjectType.System, //TODO MM: fix? + getActionType().getActionGroup())); + } + + @Override + protected boolean canDoAction() { + final boolean wrongInput = getParameters() == null || + getParameters().getMacPool() == null; + + if (!super.canDoAction() || wrongInput) { + return false; + } + + final MacPool macPool = getMacPool(); + + if (macPool.isDefaultPool()) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_CANNOT_SET_DEFAULT_POOL_THIS_WAY); + return false; + } + + if (StringUtils.isEmpty(macPool.getName()) && macPool.isShared()) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_SHARED_POOL_MUST_HAVE_NAME); + return false; + } + + if (macPool.getRanges() == null || macPool.getRanges().isEmpty()) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_MUST_HAVE_RANGE); + return false; + } + + return true; + } + + private MacPool getMacPool() { + return getParameters().getMacPool(); + } + + @Override + protected void executeCommand() { + this.macPoolDao = getDbFacade().getMacPoolDao(); + MacPool macPool = getMacPool(); + + macPoolDao.save(macPool); + + MacPoolPerDC.getInstance().createPool(macPool); + setSucceeded(true); + getReturnValue().setActionReturnValue(macPool.getId()); + } + + @Override + public void rollback() { + super.rollback(); + MacPoolPerDC.getInstance().removePool(getMacPool().getId()); + } + +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveMacPoolCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveMacPoolCommand.java new file mode 100644 index 0000000..4781c87 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveMacPoolCommand.java @@ -0,0 +1,78 @@ +package org.ovirt.engine.core.bll; + +import java.util.Collections; +import java.util.List; + +import org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolPerDC; +import org.ovirt.engine.core.bll.utils.PermissionSubject; +import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.action.IdParameters; +import org.ovirt.engine.core.common.businessentities.MacPool; +import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dao.MacPoolDAO; +import org.ovirt.engine.core.utils.transaction.RollbackHandler; + +public class RemoveMacPoolCommand extends org.ovirt.engine.core.bll.CommandBase<IdParameters> implements RollbackHandler { + + private MacPoolDAO macPoolDao; + private MacPool deletedMacPool; + + public RemoveMacPoolCommand(IdParameters parameters) { + super(parameters); + macPoolDao = getDbFacade().getMacPoolDao(); + } + + @Override + protected void executeCommand() { + final Guid macPoolId = getParameters().getId(); + + deletedMacPool = macPoolDao.get(getParameters().getId()); + macPoolDao.remove(macPoolId); + MacPoolPerDC.getInstance().removePool(macPoolId); + + getReturnValue().setSucceeded(true); + } + + @Override + protected boolean canDoAction() { + final boolean wrongInput = getParameters() == null || + getParameters().getId() == null || + getParameters().getId().equals(Guid.Empty); + + if (!super.canDoAction() || wrongInput) { + return false; + } + + final MacPoolDAO macPoolDao = getDbFacade().getMacPoolDao(); + final Guid macPoolId = getParameters().getId(); + final MacPool macPool = macPoolDao.get(macPoolId); + final int dcUsageCount = macPoolDao.getDCUsageCount(macPoolId); + + if (macPool == null) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_DOES_NOT_EXIST); + return false; + } + + final boolean canBeRemoved = macPool.canBeRemoved() && dcUsageCount == 0; + if (!canBeRemoved) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_CANNOT_BE_REMOVED); + return false; + } else { + return true; + } + } + + @Override + public List<PermissionSubject> getPermissionCheckSubjects() { + return Collections.singletonList(new PermissionSubject(MultiLevelAdministrationHandler.SYSTEM_OBJECT_ID, + VdcObjectType.System/*VdcObjectType.MacPool*/, getActionType().getActionGroup())); //TODO MM: fix? + } + + + @Override + public void rollback() { + super.rollback(); + MacPoolPerDC.getInstance().createPool(deletedMacPool); + } +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateMacPoolCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateMacPoolCommand.java new file mode 100644 index 0000000..1f249d6 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateMacPoolCommand.java @@ -0,0 +1,89 @@ +package org.ovirt.engine.core.bll; + +import java.util.Collections; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.ovirt.engine.core.bll.network.macpoolmanager.MacPoolPerDC; +import org.ovirt.engine.core.bll.utils.PermissionSubject; +import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.action.MacPoolParameter; +import org.ovirt.engine.core.common.businessentities.MacPool; +import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dao.MacPoolDAO; + +public class UpdateMacPoolCommand extends CommandBase<MacPoolParameter> { + + private final MacPoolDAO macPoolDao; + private MacPool oldMacPool; + + public UpdateMacPoolCommand(MacPoolParameter parameters) { + super(parameters); + macPoolDao = getDbFacade().getMacPoolDao(); + } + + @Override + protected boolean canDoAction() { + final boolean wrongInput = getParameters() == null || + getMacPool() == null || + getMacPoolId() == null; + + if (!super.canDoAction() || wrongInput) { + return false; + } + + final MacPool macPool = getParameters().getMacPool(); + if (StringUtils.isEmpty(macPool.getName()) && macPool.isShared()) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_SHARED_POOL_MUST_HAVE_NAME); + return false; + } + + if (macPool.getRanges() == null || macPool.getRanges().isEmpty()) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_MUST_HAVE_RANGE); + return false; + } + + oldMacPool = macPoolDao.get(getMacPoolId()); + if (oldMacPool == null) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_DOES_NOT_EXIST); + return false; + } + + if (oldMacPool.isShared() != macPool.isShared() && getMacPoolDAO().getDCUsageCount(getMacPoolId()) != 0) { + addCanDoActionMessage(VdcBllMessages.MAC_POOL_TRYING_TO_REUSE_NON_SHARED_POOL); + return false; + } + + return true; + } + + private MacPool getMacPool() { + return getParameters().getMacPool(); + } + + private Guid getMacPoolId() { + return getMacPool().getId(); + } + + @Override + protected void executeCommand() { + macPoolDao.update(getMacPool()); + MacPoolPerDC.getInstance().modifyPool(getMacPool()); + + setSucceeded(true); + getReturnValue().setActionReturnValue(getMacPoolId()); + } + + @Override + public List<PermissionSubject> getPermissionCheckSubjects() { + return Collections.singletonList(new PermissionSubject(MultiLevelAdministrationHandler.SYSTEM_OBJECT_ID, + VdcObjectType.System/*VdcObjectType.MacPool*/, getActionType().getActionGroup())); //TODO MM: fix? + } + + @Override + public void rollback() { + super.rollback(); + MacPoolPerDC.getInstance().modifyPool(oldMacPool); + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java index 25f009f..4f593d0 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcObjectType.java @@ -34,7 +34,8 @@ PROVIDER(24, "Provider"), GlusterService(25, "GlusterService"), ExternalTask(26, "ExternalTask"), - VnicProfile(27, "Vnic Profile"); + VnicProfile(27, "Vnic Profile"), + MacPool(28, "MacPool"); private int value; private String vdcObjectTranslationVal; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MacPoolParameter.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MacPoolParameter.java new file mode 100644 index 0000000..8a369d9 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MacPoolParameter.java @@ -0,0 +1,23 @@ +package org.ovirt.engine.core.common.action; + +import org.ovirt.engine.core.common.businessentities.MacPool; + +public class MacPoolParameter extends VdcActionParametersBase{ + + private MacPool macPool; + + public MacPoolParameter() { + } + + public MacPoolParameter(MacPool macPool) { + this.macPool = macPool; + } + + public MacPool getMacPool() { + return macPool; + } + + public void setMacPool(MacPool macPool) { + this.macPool = macPool; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java index 0906e30..f6c082f 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java @@ -362,7 +362,12 @@ RemoveAuditLogById(2100, false, QuotaDependency.NONE), ClearAllDismissedAuditLogs(2101, false, QuotaDependency.NONE), - SetDataOnSession(3000, false, QuotaDependency.NONE); + SetDataOnSession(3000, false, QuotaDependency.NONE), + + // Mac Pool + AddMacPool(2200, ActionGroup.CREATE_MAC_POOL, false, QuotaDependency.NONE), + UpdateMacPool(2201, ActionGroup.EDIT_MAC_POOL, false, QuotaDependency.NONE), + RemoveMacPool(2202, ActionGroup.DELETE_MAC_POOL, false, QuotaDependency.NONE); private int intValue; private ActionGroup actionGroup; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java index 5aeec1e..619a8a9 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/ActionGroup.java @@ -132,7 +132,12 @@ AUDIT_LOG_MANAGEMENT(1304, RoleType.ADMIN, false), // affinity group CRUD commands - MANIPULATE_AFFINITY_GROUPS(1550, RoleType.ADMIN, true, ApplicationMode.VirtOnly); + MANIPULATE_AFFINITY_GROUPS(1550, RoleType.ADMIN, true, ApplicationMode.VirtOnly), + + // MAC pool actions groups + CREATE_MAC_POOL(1660, RoleType.ADMIN, true, ApplicationMode.VirtOnly), + EDIT_MAC_POOL(1661, RoleType.ADMIN, true, ApplicationMode.VirtOnly), + DELETE_MAC_POOL(1662, RoleType.ADMIN, true, ApplicationMode.VirtOnly); private int id; private RoleType roleType; 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 6b9a0f8..54f9496 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 @@ -362,6 +362,12 @@ VM_CANNOT_UPDATE_ILLEGAL_FIELD(ErrorType.BAD_PARAMETERS), VM_CANNOT_UPDATE_DEVICE_VM_NOT_DOWN(ErrorType.BAD_PARAMETERS), MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES(ErrorType.CONFLICT), + MAC_POOL_CANNOT_BE_REMOVED(ErrorType.CONFLICT), + MAC_POOL_DOES_NOT_EXIST(ErrorType.BAD_PARAMETERS), + MAC_POOL_SHARED_POOL_MUST_HAVE_NAME(ErrorType.BAD_PARAMETERS), + MAC_POOL_CANNOT_SET_DEFAULT_POOL_THIS_WAY(ErrorType.BAD_PARAMETERS), + MAC_POOL_MUST_HAVE_RANGE(ErrorType.BAD_PARAMETERS), + MAC_POOL_TRYING_TO_REUSE_NON_SHARED_POOL(ErrorType.BAD_PARAMETERS), VM_CANNOT_MOVE_TO_CLUSTER_IN_OTHER_STORAGE_POOL(ErrorType.CONFLICT), VM_CLUSTER_IS_NOT_VALID(ErrorType.BAD_PARAMETERS), VM_CANNOT_REMOVE_VM_WHEN_STATUS_IS_NOT_DOWN(ErrorType.CONFLICT), diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java index ad22917..0b1be38 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java @@ -26,6 +26,7 @@ import org.ovirt.engine.core.dao.AuditLogDAO; import org.ovirt.engine.core.dao.DbGroupDAO; import org.ovirt.engine.core.dao.DbUserDAO; +import org.ovirt.engine.core.dao.MacPoolDAO; import org.ovirt.engine.core.dao.PermissionDAO; import org.ovirt.engine.core.dao.RoleDAO; import org.ovirt.engine.core.dao.RoleGroupMapDAO; @@ -570,6 +571,10 @@ return getDbFacade().getStoragePoolDao(); } + public MacPoolDAO getMacPoolDAO() { + return getDbFacade().getMacPoolDao(); + } + public StorageDomainStaticDAO getStorageDomainStaticDAO() { return getDbFacade().getStorageDomainStaticDao(); } 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 1be9581..d59381c 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties @@ -9,6 +9,11 @@ IRS_PROTOCOL_ERROR=Storage Manager protocol error. IRS_RESPONSE_ERROR=Storage Manager response error. MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES=Not enough MAC addresses left in MAC Address Pool. +MAC_POOL_CANNOT_BE_REMOVED=Mac pool cannot be removed. Either it's used or it's default mac pool. +MAC_POOL_DOES_NOT_EXIST=Mac pool does not exist. +MAC_POOL_SHARED_POOL_MUST_HAVE_NAME=Mac pool cannot be created. Shared MAC pools must have names. +MAC_POOL_MUST_HAVE_RANGE=MacPool must contain at least one mac range. +MAC_POOL_TRYING_TO_REUSE_NON_SHARED_POOL=Trying to use non shared pool which is used by someone else VMT_CANNOT_REMOVE_DETECTED_DERIVED_VM=Cannot delete Template. Template is being used by the following VMs: ${vmsList}. VMT_CANNOT_REMOVE_BASE_WITH_VERSIONS=Cannot delete Base Template that has Template Versions, please first remove all Template Versions for this Template: ${versionsList}. ACTION_TYPE_FAILED_DETECTED_DERIVED_DISKS=Cannot ${action} ${type}. The following Disk(s) are based on it: \n ${disksInfo}. 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 c62c318..6b29a51 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 @@ -37,6 +37,24 @@ @DefaultStringValue("Not enough MAC addresses left in MAC Address Pool.") String MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES(); + @DefaultStringValue("Mac pool cannot be removed. Either it's used or it's default mac pool.") + String MAC_POOL_CANNOT_BE_REMOVED(); + + @DefaultStringValue("Mac pool does not exist.") + String MAC_POOL_DOES_NOT_EXIST(); + + @DefaultStringValue("Mac pool cannot be created. Shared MAC pools must have names.") + String MAC_POOL_SHARED_POOL_MUST_HAVE_NAME(); + + @DefaultStringValue("Do not specify default MAC pool on pool create/update. Use specific command to select default MAC pool.") + String MAC_POOL_CANNOT_SET_DEFAULT_POOL_THIS_WAY(); + + @DefaultStringValue("MacPool must contain at least one mac range") + String MAC_POOL_MUST_HAVE_RANGE(); + + @DefaultStringValue("Trying to use non shared pool which is used by someone else") + String MAC_POOL_TRYING_TO_REUSE_NON_SHARED_POOL(); + @DefaultStringValue("Cannot delete Template. Template is being used by the following VMs: ${vmsList}.") String VMT_CANNOT_REMOVE_DETECTED_DERIVED_VM(); 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 8cbbf12..0b709f6 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 @@ -9,6 +9,12 @@ IRS_PROTOCOL_ERROR=Storage Manager protocol error. IRS_RESPONSE_ERROR=Storage Manager response error. MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES=Not enough MAC addresses left in MAC Address Pool. +MAC_POOL_CANNOT_BE_REMOVED=Mac pool cannot be removed. Either it's used or it's default mac pool. +MAC_POOL_DOES_NOT_EXIST=Mac pool does not exist. +MAC_POOL_SHARED_POOL_MUST_HAVE_NAME=Mac pool cannot be created. Shared MAC pools must have names. +MAC_POOL_CANNOT_SET_DEFAULT_POOL_THIS_WAY=Do not specify default MAC pool on pool create/update. Use specific command to select default MAC pool. +MAC_POOL_MUST_HAVE_RANGE=MacPool must contain at least one mac range. +MAC_POOL_TRYING_TO_REUSE_NON_SHARED_POOL=Trying to use non shared pool which is used by someone else VMT_CANNOT_REMOVE_DETECTED_DERIVED_VM=Cannot delete Template. Template is being used by the following VMs: ${vmsList}. VMT_CANNOT_REMOVE_BASE_WITH_VERSIONS=Cannot delete Base Template that has Template Versions, please first remove all Template Versions for this Template: ${versionsList}. ACTION_TYPE_FAILED_DETECTED_DERIVED_DISKS=Cannot ${action} ${type}. The following Disk(s) are based on it: \n ${disksInfo}. 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 a4966f0..2f7eedc 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 @@ -9,6 +9,12 @@ IRS_PROTOCOL_ERROR=Storage Manager protocol error. IRS_RESPONSE_ERROR=Storage Manager response error. MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES=Not enough MAC addresses left in MAC Address Pool. +MAC_POOL_CANNOT_BE_REMOVED=Mac pool cannot be removed. Either it's used or it's default mac pool. +MAC_POOL_DOES_NOT_EXIST=Mac pool does not exist. +MAC_POOL_SHARED_POOL_MUST_HAVE_NAME=Mac pool cannot be created. Shared MAC pools must have names. +MAC_POOL_CANNOT_SET_DEFAULT_POOL_THIS_WAY=Do not specify default MAC pool on pool create/update. Use specific command to select default MAC pool. +MAC_POOL_MUST_HAVE_RANGE=MacPool must contain at least one mac range. +MAC_POOL_TRYING_TO_REUSE_NON_SHARED_POOL=Trying to use non shared pool which is used by someone else VMT_CANNOT_REMOVE_DETECTED_DERIVED_VM=Cannot delete Template. Template is being used by the following VMs: ${vmsList}. VMT_CANNOT_REMOVE_BASE_WITH_VERSIONS=Cannot delete Base Template that has Template Versions, please first remove all Template Versions for this Template: ${versionsList}. ACTION_TYPE_FAILED_DETECTED_DERIVED_DISKS=Cannot ${action} ${type}. The following Disk(s) are based on it: \n ${disksInfo}. -- To view, visit http://gerrit.ovirt.org/28705 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9c0c3657e3e53699bcafa375befdce848b01a2f3 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Mucha <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
