Ramesh N has uploaded a new change for review. Change subject: engine:fix validation issues in start remove replicated bricks ......................................................................
engine:fix validation issues in start remove replicated bricks Fixing the validation issue when user tries to reduce the replica count by removing one brick from all the replica pairs. Since it is replicated volume and removing on replicated brick doesn't requrie data migration Change-Id: Ib662c2161e96cc1eac1574bea1fc97cdff5feabf Signed-off-by: Ramesh Nachimuthu <rnach...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/gluster/GlusterBrickValidator.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/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties 5 files changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/21243/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/gluster/GlusterBrickValidator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/gluster/GlusterBrickValidator.java index c97c0b5..a3e81df 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/gluster/GlusterBrickValidator.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/gluster/GlusterBrickValidator.java @@ -32,7 +32,9 @@ return new ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_CAN_NOT_REMOVE_ALL_BRICKS_FROM_VOLUME); } if (volumeEntity.getVolumeType().isReplicatedType()) { - if (replicaCount < volumeEntity.getReplicaCount() - 1) { + if (replicaCount == volumeEntity.getReplicaCount() - 1 && !forceRemove) { + return new ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_WITH_DATA_MIGRATION); + } else if (replicaCount < volumeEntity.getReplicaCount() - 1) { return new ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_MORE_THAN_ONE); } else if (replicaCount > volumeEntity.getReplicaCount()) { return new ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT); 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 5524631..d82595e 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 @@ -761,6 +761,7 @@ ACTION_TYPE_FAILED_GLUSTER_VOLUME_REMOVE_BRICKS_NOT_FINISHED(ErrorType.CONFLICT), ACTION_TYPE_FAILED_CAN_NOT_REMOVE_ALL_BRICKS_FROM_VOLUME(ErrorType.CONFLICT), ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_MORE_THAN_ONE(ErrorType.CONFLICT), + ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_WITH_DATA_MIGRATION(ErrorType.CONFLICT), ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT_MORE_THAN_ONE(ErrorType.CONFLICT), ACTION_TYPE_FAILED_CAN_NOT_INCREASE_STRIPE_COUNT_MORE_THAN_ONE(ErrorType.CONFLICT), ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT(ErrorType.CONFLICT), 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 2ce72db..9edcb1d 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties @@ -311,7 +311,7 @@ VAR__ACTION__ASSIGN=$action assign VAR__ACTION__REBALANCE_START=$action rebalance VAR__ACTION__REBALANCE_STOP=$action stop rebalance -VAR__ACTION__REMOVE_BRICKS_START=$action start removing +VAR__ACTION__REMOVE_BRICKS_START=$action start removing bricks VAR__ACTION__REMOVE_BRICKS_STOP=$action stop remove bricks VAR__ACTION__REMOVE_BRICKS_COMMIT=$action commit remove bricks VAR__ACTION__START_PROFILE=$action start profiling @@ -956,6 +956,7 @@ ACTION_TYPE_FAILED_NOT_A_GLUSTER_VOLUME_BRICK=Cannot ${action} ${type}. Replacing brick is not a Gluster volume brick. ACTION_TYPE_FAILED_NO_GLUSTER_HOST_TO_PEER_PROBE=Cannot ${action} ${type}. There is no available server in the cluster to probe the new server. ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_MORE_THAN_ONE=Cannot ${action} ${type}. Replica count cannot be reduced by more than one. +ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_WITH_DATA_MIGRATION=Cannot ${action} from ${type}. Data migration is not needed while reducing the replica count. ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT=Cannot ${action} ${type}. Replica count cannot be increased when removing bricks. ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT=Cannot ${action} ${type}. Replica count cannot be reduced when adding bricks. ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT_MORE_THAN_ONE=Cannot ${action} ${type}. Replica count cannot be increased by more than one. 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 b73e475..161f567 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 @@ -826,6 +826,9 @@ @DefaultStringValue("$action rebalance") String VAR__ACTION__REBALANCE_START(); + @DefaultStringValue("$action start remove brick") + String VAR__ACTION__REMOVE_BRICKS_START(); + @DefaultStringValue("$action stop rebalance") String VAR__ACTION__REBALANCE_STOP(); @@ -2525,6 +2528,9 @@ @DefaultStringValue("Cannot ${action} ${type}. Replica count cannot be reduced by more than one.") String ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_MORE_THAN_ONE(); + @DefaultStringValue("Cannot ${action} from ${type}. Data migration is not needed while reducing the replica count.") + String ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_WITH_DATA_MIGRATION(); + @DefaultStringValue("Cannot ${action} ${type}. Replica count cannot be increased when removing bricks.") String ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT(); 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 c4d41b8..636f501 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 @@ -315,7 +315,7 @@ VAR__ACTION__LOGOFF=$action log off VAR__ACTION__REBALANCE_START=$action rebalance VAR__ACTION__REBALANCE_STOP=$action stop rebalance -VAR__ACTION__REMOVE_BRICKS_START=$action start removing +VAR__ACTION__REMOVE_BRICKS_START=$action start remove bricks VAR__ACTION__REMOVE_BRICKS_STOP=$action stop remove bricks VAR__ACTION__REMOVE_BRICKS_COMMIT=$action commit remove bricks VAR__ACTION__START_PROFILE=$action start profiling @@ -952,6 +952,7 @@ ACTION_TYPE_FAILED_BRICK_ID_REQUIRED=Cannot ${action} ${type}. Brick ID is required. ACTION_TYPE_FAILED_ONE_OR_MORE_BRICKS_ARE_DOWN=Cannot ${action} ${type}. One or more bricks are down. ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_MORE_THAN_ONE=Cannot ${action} ${type}. Replica count cannot be reduced by more than one. +ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_WITH_DATA_MIGRATION=Cannot ${action} from ${type}. Data migration is not needed while reducing the replica count. ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT=Cannot ${action} ${type}. Replica count cannot be increased when removing bricks. ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT=Cannot ${action} ${type}. Replica count cannot be reduced when adding bricks. ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT_MORE_THAN_ONE=Cannot ${action} ${type}. Replica count cannot be increased by more than one. -- To view, visit http://gerrit.ovirt.org/21243 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib662c2161e96cc1eac1574bea1fc97cdff5feabf Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ramesh N <rnach...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches