Sahina Bose has posted comments on this change. Change subject: engine : Bll Command to Create Geo Rep session ......................................................................
Patch Set 14: (9 comments) http://gerrit.ovirt.org/#/c/29834/14/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeGeoRepSessionCreateCommand.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeGeoRepSessionCreateCommand.java: Line 13: import org.ovirt.engine.core.common.vdscommands.gluster.GlusterSshSessionParameters; Line 14: import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeGeoRepVDSParamaters; Line 15: import org.ovirt.engine.core.dao.gluster.GlusterGeoRepDao; Line 16: Line 17: public class GlusterVolumeGeoRepSessionCreateCommand extends GlusterVolumeCommandBase<GlusterVolumeGeoRepCreateParamaters>{ Extend from GeoRepSessionCommandBase? Line 18: Line 19: GlusterVolumeEntity masterVolume; Line 20: GlusterVolumeGeoRepCreateParamaters parameter; Line 21: Line 16: Line 17: public class GlusterVolumeGeoRepSessionCreateCommand extends GlusterVolumeCommandBase<GlusterVolumeGeoRepCreateParamaters>{ Line 18: Line 19: GlusterVolumeEntity masterVolume; Line 20: GlusterVolumeGeoRepCreateParamaters parameter; What's the need for this variable? Wouldn't getParameters() suffice? Line 21: Line 22: public GlusterVolumeGeoRepSessionCreateCommand(GlusterVolumeGeoRepCreateParamaters params) { Line 23: super(params); Line 24: } Line 44: addCanDoActionMessageVariable("volumeName", masterVolume.getName()); Line 45: return false; Line 46: } Line 47: Line 48: List<GlusterGeoRepSession> sessions = getGlusterGeoRepDao().getGeoRepSessions(parameter.getVolumeId()); you could introduce a getGeoRepSession(masterVolumeId, slaveHost, slaveVolumeName) ? Line 49: if (sessions != null) { Line 50: for (GlusterGeoRepSession session : sessions) { Line 51: if (session.getMasterVolumeId() == parameter.getVolumeId() Line 52: && session.getSlaveHostName() == parameter.getSlaveHost() Line 55: return false; Line 56: } Line 57: } Line 58: } Line 59: if(parameter.getSlaveHost() == null || parameter.getSlaveVolumeName() == null || parameter.getUserName() == null || parameter.getSlavePassword() == null) { Shouldn't this check be before the earlier check? Line 60: return false; Line 61: } Line 62: Line 63: return true; Line 82: String slaveHost = parameter.getSlaveHost(); Line 83: String slaveUserPassword = parameter.getSlavePassword(); Line 84: String slaveSShFingerPrint = GlusterUtil.getInstance().getHostSSHFingerPrint(slaveHost); Line 85: VDSReturnValue sessionCreateReturnValue = null; Line 86: VDSReturnValue passwordlessSSHCreateReturnValue = runVdsCommand(VDSCommandType.CreatePasswordLessSSHSession, new GlusterSshSessionParameters(slaveHost, slaveSShFingerPrint, parameter.getUserName(), parameter.getSlavePassword())); slaveUserPassword instead? Line 87: if (passwordlessSSHCreateReturnValue.getSucceeded()) { Line 88: sessionCreateReturnValue = runVdsCommand(VDSCommandType.GlusterVolumeGeoRepSessionCreate, new GlusterVolumeGeoRepVDSParamaters(upServer.getId(), masterVolume.getName(), slaveHost, slaveUserPassword, parameter.getSlaveVolumeName(), parameter.isForce())); Line 89: if (!getSucceeded()) { Line 90: handleVdsError(AuditLogType.GLUSTER_VOLUME_GEO_REP_CREATE_FAILED, sessionCreateReturnValue.getVdsError().getMessage()); Line 84: String slaveSShFingerPrint = GlusterUtil.getInstance().getHostSSHFingerPrint(slaveHost); Line 85: VDSReturnValue sessionCreateReturnValue = null; Line 86: VDSReturnValue passwordlessSSHCreateReturnValue = runVdsCommand(VDSCommandType.CreatePasswordLessSSHSession, new GlusterSshSessionParameters(slaveHost, slaveSShFingerPrint, parameter.getUserName(), parameter.getSlavePassword())); Line 87: if (passwordlessSSHCreateReturnValue.getSucceeded()) { Line 88: sessionCreateReturnValue = runVdsCommand(VDSCommandType.GlusterVolumeGeoRepSessionCreate, new GlusterVolumeGeoRepVDSParamaters(upServer.getId(), masterVolume.getName(), slaveHost, slaveUserPassword, parameter.getSlaveVolumeName(), parameter.isForce())); Once password less ssh session is setup, is it required to pass the slavePassword again? Line 89: if (!getSucceeded()) { Line 90: handleVdsError(AuditLogType.GLUSTER_VOLUME_GEO_REP_CREATE_FAILED, sessionCreateReturnValue.getVdsError().getMessage()); Line 91: return; Line 92: } Line 85: VDSReturnValue sessionCreateReturnValue = null; Line 86: VDSReturnValue passwordlessSSHCreateReturnValue = runVdsCommand(VDSCommandType.CreatePasswordLessSSHSession, new GlusterSshSessionParameters(slaveHost, slaveSShFingerPrint, parameter.getUserName(), parameter.getSlavePassword())); Line 87: if (passwordlessSSHCreateReturnValue.getSucceeded()) { Line 88: sessionCreateReturnValue = runVdsCommand(VDSCommandType.GlusterVolumeGeoRepSessionCreate, new GlusterVolumeGeoRepVDSParamaters(upServer.getId(), masterVolume.getName(), slaveHost, slaveUserPassword, parameter.getSlaveVolumeName(), parameter.isForce())); Line 89: if (!getSucceeded()) { or sessionCreateReturnValue.getSucceeded() ? Line 90: handleVdsError(AuditLogType.GLUSTER_VOLUME_GEO_REP_CREATE_FAILED, sessionCreateReturnValue.getVdsError().getMessage()); Line 91: return; Line 92: } Line 93: setSucceeded(sessionCreateReturnValue.getSucceeded()); http://gerrit.ovirt.org/#/c/29834/14/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java File backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java: Line 378: REMOVE_GLUSTER_VOLUME_BRICKS_NOT_FOUND_FROM_CLI(4092, AuditLogSeverity.WARNING), Line 379: GLUSTER_VOLUME_DETAILS_REFRESH(4093), Line 380: GLUSTER_VOLUME_DETAILS_REFRESH_FAILED(4094, AuditLogSeverity.ERROR), Line 381: USER_FORCE_SELECTED_SPM_STOP_FAILED(4096, AuditLogSeverity.ERROR), Line 382: GLUSTER_VOLUME_GEO_REP_CREATE_FAILED(4096, AuditLogSeverity.ERROR), 4096 is already used above Line 383: GLUSTER_VOLUME_PASSWORD_LESS_SSH_FAILED(4097, AuditLogSeverity.ERROR), Line 384: GLUSTER_VOLUME_GEO_REP_CREATE(4099), Line 385: Line 386: USER_FORCE_SELECTED_SPM(159), http://gerrit.ovirt.org/#/c/29834/14/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties File frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties: Line 1094: ACTION_TYPE_FAILED_GLUSTER_VOLUME_CANNOT_STOP_REMOVE_BRICK_IN_PROGRESS= Cannot ${action} ${type}. Remove brick operation is running on the volume ${volumeName} in cluster ${vdsGroup}. Line 1095: ACTION_TYPE_FAILED_GLUSTER_OPERATION_INPROGRESS=Cannot ${action} ${type}. Gluster operation is in progress in cluster. Please try again. Line 1096: ACTION_TYPE_FAILED_GEOREP_SESSION_INVALID=Cannot ${action} ${type}. Geo-replication session not found. Line 1097: ACTION_TYPE_FAILED_GEOREP_SESSION_LOCKED=Cannot ${action} ${type}. Another action is in progress on this geo-replication session. Please try again. Line 1098: ACTION_TYPE_FAILED_GEOREP_SESSION_CREATED=Cannot ${action} ${type}. Geo-replication session is created. already created? Line 1099: ACTION_TYPE_FAILED_TAG_ID_REQUIRED=Cannot ${action} ${type}. Tag ID is required. Line 1100: Line 1101: ACTION_TYPE_FAILED_QOS_OUT_OF_RANGE_VALUES=Cannot ${action} ${type}. Values are out of range. Line 1102: ACTION_TYPE_FAILED_QOS_STORAGE_POOL_NOT_EXIST=Cannot ${action} ${type}. Invalid data center. -- To view, visit http://gerrit.ovirt.org/29834 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Iccc92235deea42d7818336b2402476193cbe789c Gerrit-PatchSet: 14 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: anmolbabu <anb...@redhat.com> Gerrit-Reviewer: Kanagaraj M <kmayi...@redhat.com> Gerrit-Reviewer: Ramesh N <rnach...@redhat.com> Gerrit-Reviewer: Sahina Bose <sab...@redhat.com> Gerrit-Reviewer: Shubhendu Tripathi <shtri...@redhat.com> Gerrit-Reviewer: anmolbabu <anb...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org 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