Shubhendu Tripathi has posted comments on this change.

Change subject: engine:BLL Command to Start Remove Gluster volume brick
......................................................................


Patch Set 5:

(17 comments)

....................................................
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StartRemoveGlusterVolumeBricksCommand.java
Line 49:     protected boolean canDoAction() {
Line 50:         if (!super.canDoAction()) {
Line 51:             return false;
Line 52:         }
Line 53:         if (getParameters().getBricks() == null || 
getParameters().getBricks().size() == 0) {
You may think of using isEmpty() method here
Line 54:             
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_BRICKS_REQUIRED);
Line 55:             return false;
Line 56:         }
Line 57:         if (getGlusterVolume().getBricks().size() == 1 ||


Line 63:                 || getGlusterVolume().getVolumeType() == 
GlusterVolumeType.DISTRIBUTED_REPLICATE) {
Line 64:             if (getParameters().getReplicaCount() < 
getGlusterVolume().getReplicaCount() - 1) {
Line 65:                 
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_CAN_NOT_REDUCE_REPLICA_COUNT_MORE_THAN_ONE);
Line 66:                 return false;
Line 67:             } else if (getParameters().getReplicaCount() > 
getGlusterVolume().getReplicaCount()) {
Shouldnt we check these conditions exclusively and throw errors? Check this.
Line 68:                 
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_CAN_NOT_INCREASE_REPLICA_COUNT);
Line 69:                 return false;
Line 70:             }
Line 71:         }


Line 98:         
getReturnValue().setActionReturnValue(returnValue.getReturnValue());
Line 99:     }
Line 100: 
Line 101:     protected void updateBricksWithTaskID(GlusterAsyncTask asyncTask) 
{
Line 102:         for (GlusterBrickEntity brickEntity : 
getParameters().getBricks()) {
We might need to fire these updates as part of single transaction
Line 103:             getGlusterBrickDao().updateBrickTask(brickEntity.getId(), 
asyncTask.getTaskId());
Line 104:         }
Line 105:         getGlusterVolumeDao().updateVolumeTask(getGlusterVolumeId(), 
asyncTask.getTaskId());
Line 106:     }


Line 112:      * @param bricks
Line 113:      *            The bricks to validate
Line 114:      * @return true if all bricks have valid ids, else false
Line 115:      */
Line 116:     private boolean validateBricks(List<GlusterBrickEntity> bricks) {
This method is not only validating the bricks list but also adds entries to 
bricks list. See if the these two logics can be broken in separate methods
Line 117:         GlusterVolumeEntity volume = getGlusterVolume();
Line 118:         for (GlusterBrickEntity brick : bricks) {
Line 119:             if (brick.getServerName() != null && 
brick.getBrickDirectory() != null) {
Line 120:                 // brick already contains required info.


....................................................
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
Line 261:     
RemoveGlusterHook(1418,ActionGroup.MANIPULATE_GLUSTER_HOOK,QuotaDependency.NONE),
Line 262:     RefreshGlusterHooks(1419, ActionGroup.MANIPULATE_GLUSTER_HOOK, 
QuotaDependency.NONE),
Line 263:     ManageGlusterService(1420, 
ActionGroup.MANIPULATE_GLUSTER_SERVICE, QuotaDependency.NONE),
Line 264:     StopRebalanceGlusterVolume(1421, 
ActionGroup.MANIPULATE_GLUSTER_VOLUME,false, QuotaDependency.NONE),
Line 265:     StartRemoveGlusterVolumeBrick(1422, 
ActionGroup.MANIPULATE_GLUSTER_VOLUME, QuotaDependency.NONE),
Shouldnt it be called StartRemoveGlusterVolumeBricks?
Line 266:     // Cluster Policy
Line 267:     AddClusterPolicy(1450, 
ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE),
Line 268:     EditClusterPolicy(1451, 
ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE),
Line 269:     RemoveClusterPolicy(1452, 
ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE),


....................................................
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/gluster/GlusterTaskType.java
Line 6: import org.ovirt.engine.core.common.job.StepEnum;
Line 7: 
Line 8: public enum GlusterTaskType {
Line 9:     REBALANCE_VOLUME(StepEnum.REBALANCING_VOLUME),
Line 10:     
REMOVING_GLUSTER_VOLUME_BIRCK(StepEnum.REMOVING_GLUSTER_VOLUME_BIRCK),
I think REMOVING_BRICKS is enough here.
Line 11:     ;
Line 12: 
Line 13:     private StepEnum step;
Line 14:     private static Map<StepEnum, GlusterTaskType> mappings;


....................................................
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
Line 82:     VAR__ACTION__LOGON,
Line 83:     VAR__ACTION__LOGOFF,
Line 84:     VAR__ACTION__REBALANCE_START,
Line 85:     VAR__ACTION__REBALANCE_STOP,
Line 86:     VAR__ACTION__START_REMOVE,
Shouldnt it be called VAR__ACTION__REMOVE_BRICK_START?
Also there should be similar entries for VAR__ACTION__REMOVE_BRICK_STOP, 
VAR__ACTION__REMOVE_BRICK_COMMIT and VAR__ACTION__REMOVE_BRICK_STATUS
Line 87:     VAR__ACTION__ASSIGN,
Line 88:     VAR__ACTION__START_PROFILE,
Line 89:     VAR__ACTION__STOP_PROFILE,
Line 90:     VAR__ACTION__ENABLE,


....................................................
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/job/StepEnum.java
Line 22: 
Line 23:     // Gluster
Line 24:     SETTING_GLUSTER_OPTION,
Line 25:     REBALANCING_VOLUME,
Line 26:     REMOVING_GLUSTER_VOLUME_BIRCK,
REMOVING_BRICKS should be enough
Line 27: 
Line 28:     /**
Line 29:      * Maps VDSM tasks type to {@code StepEnum} so it can be 
resolvable as readable description
Line 30:      */


....................................................
File backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
Line 293: VAR__ACTION__LOGOFF=$action log off
Line 294: VAR__ACTION__ASSIGN=$action assign
Line 295: VAR__ACTION__REBALANCE_START=$action rebalance
Line 296: VAR__ACTION__REBALANCE_STOP=$action stop rebalance
Line 297: VAR__ACTION__START_REMOVE=$action start removing
to be in sync with REBALANCE, it should be called 
VAR__ACTION__REMOVE_BRICKS_START. Similarly entries for 
VAR__ACTION__REMOVE_BRICKS_STOP, VAR__ACTION__REMOVE_BRICKS_COMMIT and 
VAR__ACTION__REMOVE_BRICKS_STATUS would be added
Line 298: VAR__ACTION__START_PROFILE=$action start profiling
Line 299: VAR__ACTION__STOP_PROFILE=$action stop profiling
Line 300: VAR__ACTION__ENABLE=$action enable
Line 301: VAR__ACTION__DISABLE=$action disable


....................................................
File 
backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
Line 610: GLUSTER_VOLUME_OPTIONS_RESET_ALL=All Volume Options reset on 
${glusterVolumeName}.
Line 611: GLUSTER_VOLUME_OPTIONS_RESET_FAILED=Could not reset Gluster Volume 
${glusterVolumeName} Options.
Line 612: GLUSTER_VOLUME_DELETE=Gluster Volume ${glusterVolumeName} deleted.
Line 613: GLUSTER_VOLUME_DELETE_FAILED=Could not delete Gluster Volume 
${glusterVolumeName}.
Line 614: GLUSTER_VOLUME_REMOVE_BRICKS=Bricks removed from Gluster Volume 
${glusterVolumeName}.
I think it would be better to show no of deleted bricks as well, as part of 
this message
Line 615: GLUSTER_VOLUME_REMOVE_BRICKS_FAILED=Could not remove Gluster Volume 
${glusterVolumeName} Bricks.
Line 616: GLUSTER_VOLUME_ADD_BRICK= ${NoOfBricks} brick(s) added to volume 
${glusterVolumeName}.
Line 617: GLUSTER_VOLUME_ADD_BRICK_FAILED=Gluster Volume ${glusterVolumeName} 
add brick failed.
Line 618: GLUSTER_VOLUME_REBALANCE_START=Gluster Volume ${glusterVolumeName} 
rebalance started.


Line 619: GLUSTER_VOLUME_REBALANCE_START_FAILED=Could not start Gluster Volume 
${glusterVolumeName} rebalance.
Line 620: GLUSTER_VOLUME_REBALANCE_STOP=Gluster Volume ${glusterVolumeName} 
rebalance stopped.
Line 621: GLUSTER_VOLUME_REBALANCE_STOP_FAILED=Could not stop rebalance of 
gluster volume ${glusterVolumeName}.
Line 622: START_REMOVING_GLUSTER_VOLUME_BRICKS=Started removing brick from 
Gluser Volume ${glusterVolumeName}
Line 623: START_REMOVING_GLUSTER_VOLUME_BRICKS_FAILED=Could not remove brick 
from Gluser Volume ${glusterVolumeName}
The message should be "Could not start remove brick from Gluster Volume <Volume 
Name>"
Line 624: GLUSTER_VOLUME_REPLACE_BRICK_FAILED=Replace Gluster Volume Brick 
failed
Line 625: GLUSTER_VOLUME_REPLACE_BRICK_START=Gluster Volume 
${glusterVolumeName} Replace Brick started.
Line 626: GLUSTER_VOLUME_REPLACE_BRICK_START_FAILED=Could not start Gluster 
Volume ${glusterVolumeName} Replace Brick.
Line 627: GLUSTER_SERVER_ADD_FAILED=Failed to add gluster server ${VdsName} 
into Cluster ${VdsGroupName}.


....................................................
File 
backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
Line 131: 
Line 132: # Gluster step types
Line 133: step.SETTING_GLUSTER_OPTION=Setting option ${Key}=${Value} on volume 
${GlusterVolume} of cluster ${Cluster}
Line 134: step.REBALANCING_VOLUME=Rebalancing Gluster Volume ${GlusterVolume} 
in Cluster ${Cluster}.( ${Status} ${info})
Line 135: step.REMOVING_GLUSTER_VOLUME_BIRCK = Removing Bricks from Gluster 
Volume ${GlusterVolume} in Cluster ${Cluster}.( ${Status} ${info})
step.REMOVING_BRICKS ?? Just a suggestion.
Line 136: 
Line 137: # Non-monitored job:
Line 138: job.AddVmInterface=Adding Network Interface ${InterfaceName} to VM 
${VM}
Line 139: job.RemoveVmInterface=Removing Network Interface ${InterfaceName} 
from VM ${VM}


....................................................
File 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
Line 805:     @DefaultStringValue("$action stop rebalance")
Line 806:     String VAR__ACTION__REBALANCE_STOP();
Line 807: 
Line 808:     @DefaultStringValue("$action start removing")
Line 809:     String VAR__ACTION__START_REMOVE();
VAR__ACTION__REMOVE_BRICKS_START. Sync with AppErrors.properties
Line 810: 
Line 811:     @DefaultStringValue("$action start profiling")
Line 812:     String VAR__ACTION__START_PROFILE();
Line 813: 


....................................................
File 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java
Line 257:     String AuditLogType___GLUSTER_VOLUME_REMOVE_BRICKS();
Line 258: 
Line 259:     String AuditLogType___GLUSTER_VOLUME_REMOVE_BRICKS_FAILED();
Line 260: 
Line 261:     String AuditLogType___START_REMOVING_GLUSTER_VOLUME_BRICKS();
What about renaming to AuditLogType___GLUSTER_VOLUME_REMOVE_BRICKS_START?? It 
would be in sync with other gluster entries.
Line 262: 
Line 263:     String 
AuditLogType___START_REMOVING_GLUSTER_VOLUME_BRICKS_FAILED();
Line 264: 
Line 265:     String AuditLogType___GLUSTER_VOLUME_ADD_BRICK();


Line 259:     String AuditLogType___GLUSTER_VOLUME_REMOVE_BRICKS_FAILED();
Line 260: 
Line 261:     String AuditLogType___START_REMOVING_GLUSTER_VOLUME_BRICKS();
Line 262: 
Line 263:     String 
AuditLogType___START_REMOVING_GLUSTER_VOLUME_BRICKS_FAILED();
What about renaming to 
AuditLogType___GLUSTER_VOLUME_REMOVE_BRICKS_START_FAILED?? It would be in sync 
with other gluster entries.
Line 264: 
Line 265:     String AuditLogType___GLUSTER_VOLUME_ADD_BRICK();
Line 266: 
Line 267:     String AuditLogType___GLUSTER_VOLUME_ADD_BRICK_FAILED();


....................................................
File 
frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties
Line 125: AuditLogType___GLUSTER_VOLUME_DELETE_FAILED=Gluster Volume could not 
be deleted
Line 126: AuditLogType___GLUSTER_VOLUME_REMOVE_BRICKS=Gluster Volume Bricks 
Removed
Line 127: AuditLogType___GLUSTER_VOLUME_REMOVE_BRICKS_FAILED=Gluster Volume 
Bricks could not be removed
Line 128: AuditLogType___START_REMOVING_GLUSTER_VOLUME_BRICKS=Started removing 
Gluster Volume Bricks
Line 129: AuditLogType___START_REMOVING_GLUSTER_VOLUME_BRICKS_FAILED=Could not 
remove Gluster volume bricks
Same as LocalizedEnums.java
Line 130: AuditLogType___GLUSTER_VOLUME_ADD_BRICK=Gluster Volume brick(s) added
Line 131: AuditLogType___GLUSTER_VOLUME_ADD_BRICK_FAILED=Failed to add brick(s) 
on Gluster Volume
Line 132: AuditLogType___GLUSTER_VOLUME_REBALANCE_START=Gluster Volume 
Rebalance started
Line 133: AuditLogType___GLUSTER_VOLUME_REBALANCE_START_FAILED=Gluster Volume 
Rebalance could not be started


....................................................
File 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
Line 296: VAR__ACTION__LOGON=$action log on
Line 297: VAR__ACTION__LOGOFF=$action log off
Line 298: VAR__ACTION__REBALANCE_START=$action rebalance
Line 299: VAR__ACTION__REBALANCE_STOP=$action stop rebalance
Line 300: VAR__ACTION__START_REMOVE=$action start removing
Same as backend version of AppError.properties
Line 301: VAR__ACTION__START_PROFILE=$action start profiling
Line 302: VAR__ACTION__STOP_PROFILE=$action stop profiling
Line 303: VAR__ACTION__ASSIGN=$action assign
Line 304: VAR__ACTION__REFRESH=$action refresh


-- 
To view, visit http://gerrit.ovirt.org/18923
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3ee4620b75b4b714087dbf1dec3720661a5ce6b
Gerrit-PatchSet: 5
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ramesh N <rnach...@redhat.com>
Gerrit-Reviewer: Kanagaraj M <kmayi...@redhat.com>
Gerrit-Reviewer: Sahina Bose <sab...@redhat.com>
Gerrit-Reviewer: Shubhendu Tripathi <shtri...@redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to