Change in vdsm[master]: gluster: Modified geo-rep verbs to include newly added "user"

dnarayan at redhat.com dnarayan at redhat.com
Tue Mar 3 11:36:44 UTC 2015


Darshan N has uploaded a new change for review.

Change subject: gluster: Modified geo-rep verbs to include newly added "user"
......................................................................

gluster: Modified geo-rep verbs to include newly added "user"

In this patch all the geo-replication related verbs have
been modified to include user name as an argument. This
is need to execute all gluster cli commands, when geo-
replication session is set with a non-root user. This
patch also modifies geo-rep list and status verbs to
list the remote user name which was newly added in gluster
cli.

Change-Id: I336e6c8c6d433787bda4b508b87b6bf9a90f137a
Signed-off-by: Darshan N <dnarayan at redhat.com>
---
M client/vdsClientGluster.py
M tests/glusterGeoRepStatus.xml
M tests/glusterTestData.py
M vdsm/gluster/api.py
M vdsm/gluster/apiwrapper.py
M vdsm/gluster/cli.py
M vdsm/rpc/vdsmapi-gluster-schema.json
7 files changed, 162 insertions(+), 60 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/18/38318/1

diff --git a/client/vdsClientGluster.py b/client/vdsClientGluster.py
index d86d16d..fd0f674 100644
--- a/client/vdsClientGluster.py
+++ b/client/vdsClientGluster.py
@@ -439,6 +439,7 @@
     def do_glusterVolumeGeoRepSessionStart(self, args):
         params = self._eqSplit(args)
         volumeName = params.get('volumeName', '')
+        userName = params.get('userName', '')
         remoteHost = params.get('remoteHost', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
         force = (params.get('force', 'no').upper() == 'YES')
@@ -446,6 +447,7 @@
         status = self.s.glusterVolumeGeoRepSessionStart(volumeName,
                                                         remoteHost,
                                                         remoteVolumeName,
+                                                        userName,
                                                         force)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
@@ -454,12 +456,14 @@
         params = self._eqSplit(args)
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
+        userName = params.get('userName', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
         force = (params.get('force', 'no').upper() == 'YES')
 
         status = self.s.glusterVolumeGeoRepSessionStop(volumeName,
                                                        remoteHost,
                                                        remoteVolumeName,
+                                                       userName,
                                                        force)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
@@ -468,10 +472,12 @@
         params = self._eqSplit(args)
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
+        userName = params.get('userName', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
 
         status = self.s.glusterVolumeGeoRepSessionList(volumeName, remoteHost,
-                                                       remoteVolumeName)
+                                                       remoteVolumeName,
+                                                       userName)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
 
@@ -479,11 +485,13 @@
         params = self._eqSplit(args)
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
+        userName = params.get('userName', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
 
         status = self.s.glusterVolumeGeoRepSessionStatus(volumeName,
                                                          remoteHost,
-                                                         remoteVolumeName)
+                                                         remoteVolumeName,
+                                                         userName)
 
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
@@ -493,11 +501,13 @@
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
+        userName = params.get('userName', '')
         force = (params.get('force', 'no').upper() == 'YES')
 
         status = self.s.glusterVolumeGeoRepSessionPause(volumeName,
                                                         remoteHost,
                                                         remoteVolumeName,
+                                                        userName,
                                                         force)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
@@ -507,11 +517,13 @@
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
+        userName = params.get('userName', '')
         force = (params.get('force', 'no').upper() == 'YES')
 
         status = self.s.glusterVolumeGeoRepSessionResume(volumeName,
                                                          remoteHost,
                                                          remoteVolumeName,
+                                                         userName,
                                                          force)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
@@ -520,11 +532,13 @@
         params = self._eqSplit(args)
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
+        userName = params.get('userName', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
 
         status = self.s.glusterVolumeGeoRepConfigList(volumeName,
                                                       remoteHost,
-                                                      remoteVolumeName)
+                                                      remoteVolumeName,
+                                                      userName)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
 
@@ -533,6 +547,7 @@
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
+        userName = params.get('userName', '')
         optionName = params.get('optionName', '')
         optionValue = params.get('optionValue', '')
 
@@ -540,7 +555,8 @@
                                                      remoteHost,
                                                      remoteVolumeName,
                                                      optionName,
-                                                     optionValue)
+                                                     optionValue,
+                                                     userName)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
 
@@ -549,12 +565,14 @@
         volumeName = params.get('volumeName', '')
         remoteHost = params.get('remoteHost', '')
         remoteVolumeName = params.get('remoteVolumeName', '')
+        userName = params.get('userName', '')
         optionName = params.get('optionName', '')
 
         status = self.s.glusterVolumeGeoRepConfigReset(volumeName,
                                                        remoteHost,
                                                        remoteVolumeName,
-                                                       optionName)
+                                                       optionName,
+                                                       userName)
         pp.pprint(status)
         return status['status']['code'], status['status']['message']
 
@@ -926,6 +944,7 @@
              ('volumeName=<volume_name> '
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
+              'userName=<user_name>'
               '[force={yes|no}]\n\t'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
@@ -936,6 +955,7 @@
              ('volumeName=<volume_name> '
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
+              'userName=<user_name>'
               '[force={yes|no}]\n\t'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
@@ -946,6 +966,7 @@
              ('volumeName=<volume_name> '
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
+              'userName=<user_name>'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
               'list the geo-replication sessions'
@@ -955,6 +976,7 @@
              ('volumeName=<volume_name> '
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
+              'userName=<user_name>'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
               'get the geo-replication session status'
@@ -964,6 +986,7 @@
              ('volumeName=<volume_name> '
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
+              'userName=<user_name>'
               '[force={yes|no}]\n\t'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
@@ -974,6 +997,7 @@
              ('volumeName=<volume_name> '
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
+              'userName=<user_name>'
               '[force={yes|no}]\n\t'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
@@ -984,6 +1008,7 @@
              ('volumeName=<volume_name> '
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
+              'userName=<user_name>'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
               'Get the list of geo-replication configuration for a session'
@@ -995,6 +1020,7 @@
               'remoteVolumeName=<remote_volume_name> '
               'optionName=<option_name>'
               'optionValue=<option_value>'
+              'userName=<user_name>'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
               'set a geo-replication configuration for a session'
@@ -1005,6 +1031,7 @@
               'remoteHost=<remote_host> '
               'remoteVolumeName=<remote_volume_name> '
               'optionName=<option_name>'
+              'userName=<user_name>'
               '<remote_host> is IP/dns name of host in remote Gluster cluster.'
               '<remote_volume_name> volume name in remote gluster cluster.',
               'Reset a geo-replication configuration to its default value'
diff --git a/tests/glusterGeoRepStatus.xml b/tests/glusterGeoRepStatus.xml
index afdff48..cf3a28c 100644
--- a/tests/glusterGeoRepStatus.xml
+++ b/tests/glusterGeoRepStatus.xml
@@ -13,6 +13,7 @@
             <master_node>localhost.localdomain</master_node>
             <master_node_uuid>6a2f7584-05a8-4651-8786-1cd6ae87b896</master_node_uuid>
             <master_brick>/root/b1_vol1</master_brick>
+	    <slave_user>root</slave_user>
             <slave>192.168.122.145::vol2</slave>
             <status>Stopped</status>
             <checkpoint_status>N/A</checkpoint_status>
diff --git a/tests/glusterTestData.py b/tests/glusterTestData.py
index 165c1c3..0e4d09b 100644
--- a/tests/glusterTestData.py
+++ b/tests/glusterTestData.py
@@ -1064,6 +1064,7 @@
                  'crawlStatus': 'N/A',
                  'filesPending': '0',
                  'filesSynced': '0',
+                 'user': 'root',
                  'hostUuid': '6a2f7584-05a8-4651-8786-1cd6ae87b896',
                  'remoteHost': '192.168.122.145',
                  'checkpointStatus': 'N/A',
diff --git a/vdsm/gluster/api.py b/vdsm/gluster/api.py
index 6d7e139..1a54da3 100644
--- a/vdsm/gluster/api.py
+++ b/vdsm/gluster/api.py
@@ -331,87 +331,102 @@
     @exportAsVerb
     def volumeGeoRepSessionStart(self, volumeName, remoteHost,
                                  remoteVolumeName,
+                                 userName=None,
                                  force=False, options=None):
         self.svdsmProxy.glusterVolumeGeoRepSessionStart(volumeName,
                                                         remoteHost,
                                                         remoteVolumeName,
+                                                        userName,
                                                         force)
 
     @exportAsVerb
-    def volumeGeoRepSessionStop(self, volumeName, remoteHost, remoteVolumeName,
+    def volumeGeoRepSessionStop(self, volumeName, remoteHost,
+                                remoteVolumeName, userName=None,
                                 force=False, options=None):
         self.svdsmProxy.glusterVolumeGeoRepSessionStop(volumeName,
                                                        remoteHost,
                                                        remoteVolumeName,
+                                                       userName,
                                                        force)
 
     @exportAsVerb
     def volumeGeoRepSessionList(self, volumeName=None, remoteHost=None,
-                                remoteVolumeName=None, options=None):
+                                remoteVolumeName=None, userName=None,
+                                options=None):
         status = self.svdsmProxy.glusterVolumeGeoRepStatus(
             volumeName,
             remoteHost,
-            remoteVolumeName
+            remoteVolumeName,
+            userName,
         )
         return {'sessions': status}
 
     @exportAsVerb
     def volumeGeoRepSessionStatus(self, volumeName, remoteHost,
-                                  remoteVolumeName, options=None):
+                                  remoteVolumeName, userName=None,
+                                  options=None):
         status = self.svdsmProxy.glusterVolumeGeoRepStatus(
             volumeName,
             remoteHost,
             remoteVolumeName,
+            userName,
             detail=True
         )
         return {'sessionStatus': status}
 
     @exportAsVerb
     def volumeGeoRepSessionPause(self, volumeName, remoteHost,
-                                 remoteVolumeName,
+                                 remoteVolumeName, userName=None,
                                  force=False, options=None):
         self.svdsmProxy.glusterVolumeGeoRepSessionPause(volumeName,
                                                         remoteHost,
                                                         remoteVolumeName,
+                                                        userName,
                                                         force)
 
     @exportAsVerb
     def volumeGeoRepSessionResume(self, volumeName, remoteHost,
-                                  remoteVolumeName,
+                                  remoteVolumeName, userName=None,
                                   force=False, options=None):
         self.svdsmProxy.glusterVolumeGeoRepSessionResume(volumeName,
                                                          remoteHost,
                                                          remoteVolumeName,
+                                                         userName,
                                                          force)
 
     @exportAsVerb
-    def volumeGeoRepConfigList(self, volumeName, remoteHost, remoteVolumeName,
+    def volumeGeoRepConfigList(self, volumeName, remoteHost,
+                               remoteVolumeName, userName=None,
                                options=None):
         status = self.svdsmProxy.glusterVolumeGeoRepConfig(
             volumeName,
             remoteHost,
-            remoteVolumeName
+            remoteVolumeName,
+            userName=userName
         )
         return {'sessionConfig': status}
 
     @exportAsVerb
     def volumeGeoRepConfigSet(self, volumeName, remoteHost, remoteVolumeName,
-                              optionName, optionValue, options=None):
+                              optionName, optionValue, userName=None,
+                              options=None):
         self.svdsmProxy.glusterVolumeGeoRepConfig(volumeName,
                                                   remoteHost,
                                                   remoteVolumeName,
                                                   optionName,
-                                                  optionValue)
+                                                  optionValue,
+                                                  userName)
 
     @exportAsVerb
     def volumeGeoRepConfigReset(self, volumeName, remoteHost,
-                                remoteVolumeName,
-                                optionName, options=None):
+                                remoteVolumeName, optionName,
+                                userName=None, options=None):
         self.svdsmProxy.glusterVolumeGeoRepConfig(
             volumeName,
             remoteHost,
             remoteVolumeName,
-            optionName)
+            optionName,
+            userName=userName)
 
     @exportAsVerb
     def volumeSnapshotCreate(self, volumeName, snapName,
diff --git a/vdsm/gluster/apiwrapper.py b/vdsm/gluster/apiwrapper.py
index f4177cd..490f20b 100644
--- a/vdsm/gluster/apiwrapper.py
+++ b/vdsm/gluster/apiwrapper.py
@@ -183,61 +183,71 @@
         return self._gluster.volumeRebalanceStatus(volumeName)
 
     def geoRepSessionStart(self, volumeName, remoteHost,
-                           remoteVolumeName, force=False):
+                           remoteVolumeName, userName=None, force=False):
         return self._gluster.volumeGeoRepSessionStart(volumeName,
                                                       remoteHost,
                                                       remoteVolumeName,
+                                                      userName,
                                                       force)
 
     def geoRepSessionStop(self, volumeName, remoteHost,
-                          remoteVolumeName, force=False):
+                          remoteVolumeName, userName=None, force=False):
         return self._gluster.volumeGeoRepSessionStop(volumeName,
                                                      remoteHost,
                                                      remoteVolumeName,
+                                                     userName,
                                                      force)
 
     def geoRepSessionStatus(self, masterVolumeName, remoteHost,
-                            remoteVolumeName):
+                            remoteVolumeName, userName=None):
         return self._gluster.volumeGeoRepSessionStatus(masterVolumeName,
                                                        remoteHost,
-                                                       remoteVolumeName)
+                                                       remoteVolumeName,
+                                                       userName)
 
     def geoRepSessionList(self, masterVolumeName=None, remoteHost=None,
-                          remoteVolumeName=None):
+                          remoteVolumeName=None, userName=None):
         return self._gluster.volumeGeoRepSessionList(masterVolumeName,
                                                      remoteHost,
-                                                     remoteVolumeName)
+                                                     remoteVolumeName,
+                                                     userName)
 
     def geoRepSessionPause(self, volumeName, remoteHost,
-                           remoteVolumeName, force=False):
+                           remoteVolumeName, userName=None, force=False):
         return self._gluster.volumeGeoRepSessionPause(volumeName,
                                                       remoteHost,
                                                       remoteVolumeName,
+                                                      userName,
                                                       force)
 
     def geoRepSessionResume(self, volumeName, remoteHost,
-                            remoteVolumeName, force=False):
+                            remoteVolumeName, userName=None, force=False):
         return self._gluster.volumeGeoRepSessionResume(volumeName,
                                                        remoteHost,
                                                        remoteVolumeName,
+                                                       userName,
                                                        force)
 
-    def geoRepConfigList(self, volumeName, remoteHost, remoteVolumeName):
+    def geoRepConfigList(self, volumeName, remoteHost, remoteVolumeName,
+                         userName=None):
         return self._gluster.volumeGeoRepConfigList(volumeName, remoteHost,
-                                                    remoteVolumeName)
+                                                    remoteVolumeName,
+                                                    userName)
 
     def geoRepConfigSet(self, volumeName, remoteHost, remoteVolumeName,
-                        optionName, optionValue):
+                        optionName, optionValue, userName=None):
         return self._gluster.volumeGeoRepConfigSet(volumeName, remoteHost,
                                                    remoteVolumeName,
-                                                   optionName, optionValue)
+                                                   optionName, optionValue,
+                                                   userName)
 
     def geoRepConfigReset(self, volumeName, remoteHost,
-                          remoteVolumeName, optionName):
+                          remoteVolumeName, optionName, userName=None):
         return self._gluster.volumeGeoRepConfigReset(volumeName,
                                                      remoteHost,
                                                      remoteVolumeName,
-                                                     optionName)
+                                                     optionName,
+                                                     userName)
 
     def snapshotCreate(self, volumeName,
                        snapName, snapDescription=None,
diff --git a/vdsm/gluster/cli.py b/vdsm/gluster/cli.py
index e60da27..3408f74 100644
--- a/vdsm/gluster/cli.py
+++ b/vdsm/gluster/cli.py
@@ -1066,9 +1066,13 @@
 
 @makePublic
 def volumeGeoRepSessionStart(volumeName, remoteHost, remoteVolumeName,
-                             force=False):
+                             userName=None, force=False):
+    if userName:
+        userAtHost = "%s@%s" % (userName, remoteHost)
+    else:
+        userAtHost = remoteHost
     command = _getGlusterVolGeoRepCmd() + [volumeName, "%s::%s" % (
-        remoteHost, remoteVolumeName), "start"]
+        userAtHost, remoteVolumeName), "start"]
     if force:
         command.append('force')
     try:
@@ -1081,9 +1085,13 @@
 
 @makePublic
 def volumeGeoRepSessionStop(volumeName, remoteHost, remoteVolumeName,
-                            force=False):
+                            userName=None, force=False):
+    if userName:
+        userAtHost = "%s@%s" % (userName, remoteHost)
+    else:
+        userAtHost = remoteHost
     command = _getGlusterVolGeoRepCmd() + [volumeName, "%s::%s" % (
-        remoteHost, remoteVolumeName), "stop"]
+        userAtHost, remoteVolumeName), "stop"]
     if force:
         command.append('force')
     try:
@@ -1132,6 +1140,7 @@
                 pairDetail['brickName'] = pair.find('master_brick').text
                 pairDetail['remoteHost'] = pair.find(
                     'slave').text.split("::")[0]
+                pairDetail['user'] = pair.find('slave_user').text
                 pairDetail['status'] = pair.find('status').text
                 pairDetail['checkpointStatus'] = pair.find(
                     'checkpoint_status').text
@@ -1156,12 +1165,16 @@
 
 @makePublic
 def volumeGeoRepStatus(volumeName=None, remoteHost=None,
-                       remoteVolumeName=None, detail=False):
+                       remoteVolumeName=None, userName=None, detail=False):
+    if userName:
+        userAtHost = "%s@%s" % (userName, remoteHost)
+    else:
+        userAtHost = remoteHost
     command = _getGlusterVolGeoRepCmd()
     if volumeName:
         command.append(volumeName)
     if remoteHost and remoteVolumeName:
-        command.append("%s::%s" % (remoteHost, remoteVolumeName))
+        command.append("%s::%s" % (userAtHost, remoteVolumeName))
     command.append("status")
     if detail:
         command.append("detail")
@@ -1178,9 +1191,13 @@
 
 @makePublic
 def volumeGeoRepSessionPause(volumeName, remoteHost, remoteVolumeName,
-                             force=False):
+                             userName=None, force=False):
+    if userName:
+        userAtHost = "%s@%s" % (userName, remoteHost)
+    else:
+        userAtHost = remoteHost
     command = _getGlusterVolGeoRepCmd() + [volumeName, "%s::%s" % (
-        remoteHost, remoteVolumeName), "pause"]
+        userAtHost, remoteVolumeName), "pause"]
     if force:
         command.append('force')
     try:
@@ -1193,9 +1210,13 @@
 
 @makePublic
 def volumeGeoRepSessionResume(volumeName, remoteHost, remoteVolumeName,
-                              force=False):
+                              userName=None, force=False):
+    if userName:
+        userAtHost = "%s@%s" % (userName, remoteHost)
+    else:
+        userAtHost = remoteHost
     command = _getGlusterVolGeoRepCmd() + [volumeName, "%s::%s" % (
-        remoteHost, remoteVolumeName), "resume"]
+        userAtHost, remoteVolumeName), "resume"]
     if force:
         command.append('force')
     try:
@@ -1222,9 +1243,14 @@
 @makePublic
 def volumeGeoRepConfig(volumeName, remoteHost,
                        remoteVolumeName, optionName=None,
-                       optionValue=None):
+                       optionValue=None,
+                       userName=None):
+    if userName:
+        userAtHost = "%s@%s" % (userName, remoteHost)
+    else:
+        userAtHost = remoteHost
     command = _getGlusterVolGeoRepCmd() + [volumeName, "%s::%s" % (
-        remoteHost, remoteVolumeName), "config"]
+        userAtHost, remoteVolumeName), "config"]
     if optionName and optionValue:
         command += [optionName, optionValue]
     elif optionName:
diff --git a/vdsm/rpc/vdsmapi-gluster-schema.json b/vdsm/rpc/vdsmapi-gluster-schema.json
index 82ce8be..5bf986f 100644
--- a/vdsm/rpc/vdsmapi-gluster-schema.json
+++ b/vdsm/rpc/vdsmapi-gluster-schema.json
@@ -1294,13 +1294,16 @@
 #
 # Starts the Geo Replication session
 #
-# @volumeName: Is an existing volume name in the master node
+# @volumeName:       Is an existing volume name in the master node
 #
-# @remoteHost: Is remote slave host name or ip
+# @remoteHost:       Is remote slave host name or ip
 #
 # @remoteVolumeName: Is an available existing volume name in the slave node
 #
-# @force: For starting a geo-replication session forcefully
+# @userName:         #optional Name of user in remote Machine
+#
+# @force:            #optional For starting a geo-replication session
+#                    forcefully
 #
 # Returns:
 # True if session is successfully started
@@ -1309,7 +1312,7 @@
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepSessionStart'},
  'data': {'volumeName': 'str', 'remoteHost': 'str', 'remoteVolumeName': 'str',
-          'force': 'bool'},
+          '*userName': 'str', '*force': 'bool'},
  'returns': 'bool'}
 
 ##
@@ -1317,13 +1320,15 @@
 #
 # Stops the Geo Replication session
 #
-# @volumeName: Is an existing volume name in the master node
+# @volumeName:       Is an existing volume name in the master node
 #
-# @remoteHost: Is remote slave host name or ip
+# @remoteHost:       Is remote slave host name or ip
 #
 # @remoteVolumeName: Is an available existing volume name in the slave node
 #
-# @force: For stoping a geo-replication session forcefully
+# @userName:         #optional Name of user in remote Machine
+#
+# @force:            #optional For stoping a geo-replication session forcefully
 #
 # Returns:
 # True if session is successfully stopped
@@ -1332,7 +1337,7 @@
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepSessionStop'},
  'data': {'volumeName': 'str', 'remoteHost': 'str', 'remoteVolumeName': 'str',
-          'force': 'bool'},
+          '*userName': 'str', '*force': 'bool'},
  'returns': 'bool'}
 
 # @geoRepPairInfo:
@@ -1346,6 +1351,8 @@
 # @brickName:          Local volume brick involved in session
 #
 # @remoteHost:         The remote host involved in the session
+#
+# @user:               Name of user in remote Machine
 #
 # @status:             Status of geo replication
 #
@@ -1366,7 +1373,7 @@
 # Since: 4.17.0
 ##
 {'type': 'geoRepPairInfo',
- 'data': {'host': 'str', 'hostUuid': 'UUID', 'brickName': 'str',
+ 'data': {'host': 'str', 'hostUuid': 'UUID', 'brickName': 'str', 'user': 'str',
           'remoteHost': 'str', 'status': 'str', 'checkpointStatus': 'str',
           'crawlStatus': 'str', '*filesSynced': 'str', '*filesPending': 'str',
           '*bytesPending': 'str', '*deletesPending': 'str',
@@ -1425,6 +1432,8 @@
 # @remoteVolumeName:   #optional Is an available existing volume name in the
 #                      remote node
 #
+# @userName:           #optional Name of user in remote Machine
+#
 # Returns:
 # list of geo-replicaion sessions
 #
@@ -1432,7 +1441,7 @@
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepSessionList'},
  'data': {'*volumeName': 'str', '*remoteHost': 'str',
-          '*remoteVolumeName': 'str'},
+          '*remoteVolumeName': 'str', '*userName': 'str'},
  'returns': 'GlusterGeoRepSessionMap'}
 
 ##
@@ -1446,6 +1455,8 @@
 #
 # @remoteVolumeName:   Is an available existing volume name in the remote node
 #
+# @userName:           #optional Name of user in remote Machine
+#
 # Returns:
 # Detailed information of geo-replication session
 #
@@ -1453,7 +1464,7 @@
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepSessionStatus'},
  'data': {'VolumeName': 'str', 'remoteHost': 'str',
-          'remoteVolumeName': 'str'},
+          'remoteVolumeName': 'str', '*userName': 'str'},
  'returns': 'GlusterGeoRepSessionMap'}
 
 ##
@@ -1467,6 +1478,8 @@
 #
 # @remoteVolumeName:   Is an available existing volume name in the remote node
 #
+# @userName:           #optional Name of user in remote Machine
+#
 # @force:              #optional For pausing a geo-replication session
 #                      forcefully
 #
@@ -1477,7 +1490,7 @@
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepSessionPause'},
  'data': {'volumeName': 'str', 'remoteHost': 'str', 'remoteVolumeName': 'str',
-          '*force': 'bool'},
+          '*userName': 'str', '*force': 'bool'},
  'returns': 'bool'}
 
 ##
@@ -1491,6 +1504,8 @@
 #
 # @remoteVolumeName:   Is an available existing volume name in the remote node
 #
+# @userName:           #optional Name of user in remote Machine
+#
 # @force:              #optional For resuming a geo-replication session
 #                      forcefully
 #
@@ -1501,7 +1516,7 @@
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepSessionResume'},
  'data': {'volumeName': 'str', 'remoteHost': 'str', 'remoteVolumeName': 'str',
-          '*force': 'bool'},
+          '*userName': 'str', '*force': 'bool'},
  'returns': 'bool'}
 
 ##
@@ -1538,13 +1553,16 @@
 #
 # @remoteVolumeName:   Is an available existing volume name in the remote node
 #
+# @userName:           #optional Name of user in remote Machine
+#
 # Returns:
 # List of geo replication configurations
 #
 # Since: 4.17.0
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepConfigList'},
- 'data': {'volumeName': 'str', 'remoteHost': 'str', 'remoteVolumeName': 'str'},
+ 'data': {'volumeName': 'str', 'remoteHost': 'str', 'remoteVolumeName': 'str',
+          '*userName': 'str'},
  'returns': 'GeoRepConfig'}
 
 ##
@@ -1562,6 +1580,8 @@
 #
 # @optionValue:        Value to the option
 #
+# @userName:           #optional Name of user in remote Machine
+#
 # Returns:
 # True if it sets value to the option successfully
 #
@@ -1570,7 +1590,7 @@
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepConfigSet'},
  'data': {'volumeName': 'str', 'remoteHost': 'str',
           'remoteVolumeName': 'str', 'optionName': 'str',
-          'optionValue': 'str'},
+          'optionValue': 'str', '*userName': 'str'},
  'returns': 'bool'}
 
 ##
@@ -1586,6 +1606,8 @@
 #
 # @optionName:         Valid configuration option name
 #
+# @userName:           #optional Name of user in remote Machine
+#
 # Returns:
 # True if default value is set successfully
 #
@@ -1593,7 +1615,7 @@
 ##
 {'command': {'class': 'GlusterVolume', 'name': 'geoRepConfigReset'},
  'data': {'volumeName': 'str', 'remoteHost': 'str', 'remoteVolumeName': 'str',
-          'optionName': 'str'},
+          'optionName': 'str', '*userName': 'str'},
  'returns': 'bool'}
 
 ##


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I336e6c8c6d433787bda4b508b87b6bf9a90f137a
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Darshan N <dnarayan at redhat.com>


More information about the vdsm-patches mailing list