Hello Piotr Kliczewski, Bala.FA, Dan Kenigsberg,

I'd like you to do a code review.  Please visit

    https://gerrit.ovirt.org/41214

to review the following change.

Change subject: gluster:Remove support for Replace gluster brick with data 
migration.
......................................................................

gluster:Remove support for Replace gluster brick with data migration.

This patch removes verbs related to replace gluster brick
with data migration. Now only replace brick with commit
is retained. As this feature is deprecated in
glusterfs-3.7 on wards. These verbs were not consumed
by engine, so it should not cause any backward-compatibility
issues when removed. The list of verbs removed are as
follows:
  *volumeReplaceBrickStart
  *volumeReplaceBrickAbort
  *volumeReplaceBrickPause
  *volumeReplaceBrickStatus
  *volumeReplaceBrickCommit

Change-Id: I1569972120da27c17407bec5301b1ba417ce0768
Signed-off-by: Darshan N <[email protected]>
Reviewed-on: https://gerrit.ovirt.org/40545
Continuous-Integration: Jenkins CI
Reviewed-by: Bala.FA <[email protected]>
Reviewed-by: Piotr Kliczewski <[email protected]>
Reviewed-by: Dan Kenigsberg <[email protected]>
Signed-off-by: Darshan N <[email protected]>
---
M client/vdsClientGluster.py
M vdsm/gluster/api.py
M vdsm/gluster/apiwrapper.py
M vdsm/gluster/cli.py
M vdsm/gluster/exception.py
M vdsm/rpc/vdsmapi-gluster-schema.json
6 files changed, 0 insertions(+), 273 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/14/41214/1

diff --git a/client/vdsClientGluster.py b/client/vdsClientGluster.py
index cf6eff6..c88a73b 100644
--- a/client/vdsClientGluster.py
+++ b/client/vdsClientGluster.py
@@ -163,58 +163,6 @@
         status = self.s.glusterHostRemoveByUuid(hostUuid, force)
         return status['status']['code'], status['status']['message']
 
-    def do_glusterVolumeReplaceBrickStart(self, args):
-        params = self._eqSplit(args)
-        volumeName = params.get('volumeName', '')
-        existingBrick = params.get('existingBrick', '')
-        newBrick = params.get('newBrick', '')
-
-        status = self.s.glusterVolumeReplaceBrickStart(volumeName,
-                                                       existingBrick,
-                                                       newBrick)
-        pp.pprint(status)
-        return status['status']['code'], status['status']['message']
-
-    def do_glusterVolumeReplaceBrickAbort(self, args):
-        params = self._eqSplit(args)
-        volumeName = params.get('volumeName', '')
-        existingBrick = params.get('existingBrick', '')
-        newBrick = params.get('newBrick', '')
-
-        status = self.s.glusterVolumeReplaceBrickAbort(volumeName,
-                                                       existingBrick,
-                                                       newBrick)
-        return status['status']['code'], status['status']['message']
-
-    def do_glusterVolumeReplaceBrickPause(self, args):
-        params = self._eqSplit(args)
-        volumeName = params.get('volumeName', '')
-        existingBrick = params.get('existingBrick', '')
-        newBrick = params.get('newBrick', '')
-
-        status = self.s.glusterVolumeReplaceBrickPause(volumeName,
-                                                       existingBrick,
-                                                       newBrick)
-        return status['status']['code'], status['status']['message']
-
-    def do_glusterVolumeReplaceBrickStatus(self, args):
-        status = self.s.glusterVolumeReplaceBrickStatus(args[0], args[1],
-                                                        args[2])
-        return status['status']['code'], status['status']['message']
-
-    def do_glusterVolumeReplaceBrickCommit(self, args):
-        params = self._eqSplit(args)
-        volumeName = params.get('volumeName', '')
-        existingBrick = params.get('existingBrick', '')
-        newBrick = params.get('newBrick', '')
-        force = (params.get('force', 'no').upper() == 'YES')
-
-        status = self.s.glusterVolumeReplaceBrickCommit(volumeName,
-                                                        existingBrick,
-                                                        newBrick,
-                                                        force)
-        return status['status']['code'], status['status']['message']
-
     def do_glusterVolumeRemoveBrickStart(self, args):
         params = self._eqSplit(args)
         volumeName = params.get('volumeName', '')
@@ -872,49 +820,6 @@
               '<hostUuid> is UUID of the host in '
               'gluster cluster',
               'remove server from gluster cluster'
-              )),
-         'glusterVolumeReplaceBrickStart': (
-             serv.do_glusterVolumeReplaceBrickStart,
-             ('volumeName=<volume_name> existingBrick=<existing_brick> '
-              'newBrick=<new_brick>\n\t'
-              '<volume_name> is existing volume name\n\t'
-              '<existing_brick> is existing brick\n\t'
-              '<new_brick> is new brick',
-              'start volume replace brick'
-              )),
-         'glusterVolumeReplaceBrickAbort': (
-             serv.do_glusterVolumeReplaceBrickAbort,
-             ('volumeName=<volume_name> existingBrick=<existing_brick> '
-              'newBrick=<new_brick>\n\t'
-              '<volume_name> is existing volume name\n\t'
-              '<existing_brick> is existing brick\n\t'
-              '<new_brick> is new brick',
-              'abort volume replace brick'
-              )),
-         'glusterVolumeReplaceBrickPause': (
-             serv.do_glusterVolumeReplaceBrickPause,
-             ('volumeName=<volume_name> existingBrick=<existing_brick> '
-              'newBrick=<new_brick>\n\t'
-              '<volume_name> is existing volume name\n\t'
-              '<existing_brick> is existing brick\n\t'
-              '<new_brick> is new brick',
-              'pause volume replace brick'
-              )),
-         'glusterVolumeReplaceBrickStatus': (
-             serv.do_glusterVolumeReplaceBrickStatus,
-             ('<volume_name> <existing_brick> <new_brick> \n\t<volume_name> '
-              'is existing volume name\n\t<brick> is existing brick\n\t'
-              '<new_brick> is new brick',
-              'get volume replace brick status'
-              )),
-         'glusterVolumeReplaceBrickCommit': (
-             serv.do_glusterVolumeReplaceBrickCommit,
-             ('volumeName=<volume_name> existingBrick=<existing_brick> '
-              'newBrick=<new_brick> [force={yes|no}]\n\t'
-              '<volume_name> is existing volume name\n\t'
-              '<existing_brick> is existing brick\n\t'
-              '<new_brick> is new brick',
-              'commit volume replace brick'
               )),
          'glusterVolumeRemoveBrickStart': (
              serv.do_glusterVolumeRemoveBrickStart,
diff --git a/vdsm/gluster/api.py b/vdsm/gluster/api.py
index f3d68b8..d7692f8 100644
--- a/vdsm/gluster/api.py
+++ b/vdsm/gluster/api.py
@@ -284,43 +284,6 @@
         return self.svdsmProxy.glusterVolumeRebalanceStatus(volumeName)
 
     @exportAsVerb
-    def volumeReplaceBrickStart(self, volumeName, existingBrick, newBrick,
-                                options=None):
-        return self.svdsmProxy.glusterVolumeReplaceBrickStart(volumeName,
-                                                              existingBrick,
-                                                              newBrick)
-
-    @exportAsVerb
-    def volumeReplaceBrickAbort(self, volumeName, existingBrick, newBrick,
-                                options=None):
-        self.svdsmProxy.glusterVolumeReplaceBrickAbort(volumeName,
-                                                       existingBrick,
-                                                       newBrick)
-
-    @exportAsVerb
-    def volumeReplaceBrickPause(self, volumeName, existingBrick, newBrick,
-                                options=None):
-        self.svdsmProxy.glusterVolumeReplaceBrickPause(volumeName,
-                                                       existingBrick,
-                                                       newBrick)
-
-    @exportAsVerb
-    def volumeReplaceBrickStatus(self, volumeName, oldBrick, newBrick,
-                                 options=None):
-        st, msg = self.svdsmProxy.glusterVolumeReplaceBrickStatus(volumeName,
-                                                                  oldBrick,
-                                                                  newBrick)
-        return {'replaceBrick': st, 'message': msg}
-
-    @exportAsVerb
-    def volumeReplaceBrickCommit(self, volumeName, existingBrick, newBrick,
-                                 force=False, options=None):
-        self.svdsmProxy.glusterVolumeReplaceBrickCommit(volumeName,
-                                                        existingBrick,
-                                                        newBrick,
-                                                        force)
-
-    @exportAsVerb
     def volumeRemoveBrickStart(self, volumeName, brickList,
                                replicaCount=0, options=None):
         return self.svdsmProxy.glusterVolumeRemoveBrickStart(volumeName,
diff --git a/vdsm/gluster/apiwrapper.py b/vdsm/gluster/apiwrapper.py
index c7b193e..76af453 100644
--- a/vdsm/gluster/apiwrapper.py
+++ b/vdsm/gluster/apiwrapper.py
@@ -164,10 +164,6 @@
         return self._gluster.volumeRemoveBrickForce(volumeName, brickList,
                                                     replicaCount)
 
-    def replaceBrickStart(self, volumeName, existingBrick, newBrick):
-        return self._gluster.volumeReplaceBrickStart(volumeName, existingBrick,
-                                                     newBrick)
-
     def profileInfo(self, volumeName, nfs=False):
         return self._gluster.volumeProfileInfo(volumeName, nfs)
 
diff --git a/vdsm/gluster/cli.py b/vdsm/gluster/cli.py
index 8554664..7620b96 100644
--- a/vdsm/gluster/cli.py
+++ b/vdsm/gluster/cli.py
@@ -726,83 +726,6 @@
 
 
 @makePublic
-def volumeReplaceBrickStart(volumeName, existingBrick, newBrick):
-    command = _getGlusterVolCmd() + ["replace-brick", volumeName,
-                                     existingBrick, newBrick, "start"]
-    try:
-        xmltree = _execGlusterXml(command)
-    except ge.GlusterCmdFailedException, e:
-        raise ge.GlusterVolumeReplaceBrickStartFailedException(rc=e.rc,
-                                                               err=e.err)
-    try:
-        return {'taskId': xmltree.find('volReplaceBrick/task-id').text}
-    except _etreeExceptions:
-        raise ge.GlusterXmlErrorException(err=[etree.tostring(xmltree)])
-
-
-@makePublic
-def volumeReplaceBrickAbort(volumeName, existingBrick, newBrick):
-    command = _getGlusterVolCmd() + ["replace-brick", volumeName,
-                                     existingBrick, newBrick, "abort"]
-    try:
-        _execGlusterXml(command)
-        return True
-    except ge.GlusterCmdFailedException, e:
-        raise ge.GlusterVolumeReplaceBrickAbortFailedException(rc=e.rc,
-                                                               err=e.err)
-
-
-@makePublic
-def volumeReplaceBrickPause(volumeName, existingBrick, newBrick):
-    command = _getGlusterVolCmd() + ["replace-brick", volumeName,
-                                     existingBrick, newBrick, "pause"]
-    try:
-        _execGlusterXml(command)
-        return True
-    except ge.GlusterCmdFailedException, e:
-        raise ge.GlusterVolumeReplaceBrickPauseFailedException(rc=e.rc,
-                                                               err=e.err)
-
-
-@makePublic
-def volumeReplaceBrickStatus(volumeName, existingBrick, newBrick):
-    rc, out, err = _execGluster(_getGlusterVolCmd() + ["replace-brick",
-                                                       volumeName,
-                                                       existingBrick, newBrick,
-                                                       "status"])
-    if rc:
-        raise ge.GlusterVolumeReplaceBrickStatusFailedException(rc, out,
-                                                                err)
-    message = "\n".join(out)
-    statLine = out[0].strip().upper()
-    if BrickStatus.PAUSED in statLine:
-        return BrickStatus.PAUSED, message
-    elif statLine.endswith('MIGRATION COMPLETE'):
-        return BrickStatus.COMPLETED, message
-    elif statLine.startswith('NUMBER OF FILES MIGRATED'):
-        return BrickStatus.RUNNING, message
-    elif statLine.endswith("UNKNOWN"):
-        return BrickStatus.UNKNOWN, message
-    else:
-        return BrickStatus.NA, message
-
-
-@makePublic
-def volumeReplaceBrickCommit(volumeName, existingBrick, newBrick,
-                             force=False):
-    command = _getGlusterVolCmd() + ["replace-brick", volumeName,
-                                     existingBrick, newBrick, "commit"]
-    if force:
-        command.append('force')
-    try:
-        _execGlusterXml(command)
-        return True
-    except ge.GlusterCmdFailedException, e:
-        raise ge.GlusterVolumeReplaceBrickCommitFailedException(rc=e.rc,
-                                                                err=e.err)
-
-
-@makePublic
 def volumeRemoveBrickStart(volumeName, brickList, replicaCount=0):
     command = _getGlusterVolCmd() + ["remove-brick", volumeName]
     if replicaCount:
diff --git a/vdsm/gluster/exception.py b/vdsm/gluster/exception.py
index 2fa1e88..ddff244 100644
--- a/vdsm/gluster/exception.py
+++ b/vdsm/gluster/exception.py
@@ -248,46 +248,6 @@
     message = "Volume delete failed"
 
 
-class GlusterVolumeReplaceBrickAlreadyStartedException(GlusterVolumeException):
-    code = 4141
-    message = "Volume replace brick failed"
-
-
-class GlusterVolumeReplaceBrickStartFailedException(GlusterVolumeException):
-    code = 4142
-    message = "Volume replace brick start failed"
-
-
-class GlusterVolumeReplaceBrickNotStartedException(GlusterVolumeException):
-    code = 4143
-    message = "Volume replace brick not started"
-
-
-class GlusterVolumeReplaceBrickAbortFailedException(GlusterVolumeException):
-    code = 4144
-    message = "Volume replace brick abort failed"
-
-
-class GlusterVolumeReplaceBrickPauseFailedException(GlusterVolumeException):
-    code = 4145
-    message = "Volume replace brick pause failed"
-
-
-class GlusterVolumeReplaceBrickStatusFailedException(GlusterVolumeException):
-    code = 4146
-    message = "Volume replace brick status failed"
-
-
-class GlusterVolumeReplaceBrickInProgressException(GlusterVolumeException):
-    code = 4147
-    message = "Volume replace brick in progress"
-
-
-class GlusterVolumeReplaceBrickCommitFailedException(GlusterVolumeException):
-    code = 4148
-    message = "Volume replace brick commit failed"
-
-
 class GlusterVolumesListFailedException(GlusterVolumeException):
     code = 4149
     message = "Volume list failed"
diff --git a/vdsm/rpc/vdsmapi-gluster-schema.json 
b/vdsm/rpc/vdsmapi-gluster-schema.json
index a471923..fc3dc25 100644
--- a/vdsm/rpc/vdsmapi-gluster-schema.json
+++ b/vdsm/rpc/vdsmapi-gluster-schema.json
@@ -1081,26 +1081,6 @@
  'returns': 'RebalanceRemoveStatus'}
 
 ##
-# @GlusterVolume.replaceBrickStart:
-#
-# Replace Gluster volume start
-#
-# @volumeName: Gluster volume name
-#
-# @existingBrick: Existing brick
-#
-# @newBrick: New brick
-#
-# Returns:
-# Success or failure
-#
-# Since: 4.10.3
-##
-{'command': {'class': 'GlusterVolume', 'name': 'replaceBrickStart'},
- 'data': {'volumeName': 'str', 'existingBrick': 'str', 'newBrick': 'str'},
- 'returns': 'bool'}
-
-##
 # @GlusterVolume.rebalanceStatus:
 #
 # Get Gluster volume Rebalance status


-- 
To view, visit https://gerrit.ovirt.org/41214
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1569972120da27c17407bec5301b1ba417ce0768
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.5-gluster
Gerrit-Owner: Darshan N <[email protected]>
Gerrit-Reviewer: Bala.FA <[email protected]>
Gerrit-Reviewer: Dan Kenigsberg <[email protected]>
Gerrit-Reviewer: Piotr Kliczewski <[email protected]>
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to