mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

ugaston
12.46.2009 69a5e67a588c3e4724f93e20792bb12c51595c2e
opends/tests/staf-tests/functional-tests/testcases/privileges/privileges_users.xml
@@ -2653,14 +2653,14 @@
                  <!--
                  <script>
                      listAttr=[]
                      listAttr.append('objectclass: top')
                      listAttr.append('objectclass: person')
                      listAttr.append('objectclass: mozillaobject')
                      listAttr.append('cn: Salmon Fish')
                      listAttr.append('sn: Fish')
                      listAttr.append('givenname: Salmon')
                      listAttr.append('l: Cupertino')
                      listAttr.append('uid: sfish')
                      listAttr.append('objectclass:top')
                      listAttr.append('objectclass:person')
                      listAttr.append('objectclass:mozillaobject')
                      listAttr.append('cn:Salmon Fish')
                      listAttr.append('sn:Fish')
                      listAttr.append('givenname:Salmon')
                      listAttr.append('l:Cupertino')
                      listAttr.append('uid:sfish')
                  </script>
      
                  <call function="'addAnEntry'">
opends/tests/staf-tests/functional-tests/testcases/replication/changelog/changelog.xml
@@ -138,20 +138,26 @@
                                
              <!-- Search changelog in the various replication servers -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>                    
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                    
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=iabizen.0',
                      'dsAttributes'     : 'dn'
@@ -173,12 +179,12 @@
                  <!-- Search for entry modify -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'l=GEC',
                      'dsAttributes'     : 'dn'
@@ -275,25 +281,32 @@
              <!-- Export changelog in the various replication servers, then
                check for added entry in the exported files -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                    
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    serverDataDir = '%s/%s' % (server.getDir(),remote.reldatadir)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                    replServerDataDir = '%s/%s' \
                      % (replServer.getDir(),remote.reldatadir)
                    exportedChangelog = \
                      '%s/replication/changelog_export_online.ldif' \
                      % serverDataDir
                      % replServerDataDir
                  </script>
                  <!-- Export changelog data from server -->
                  <call function="'exportLdifTask'">
                    { 'location'       : server.getHostname(),
                      'dsPath'         : serverPath,
                      'dsInstanceHost' : server.getHostname(),
                      'dsInstancePort' : server.getPort(),
                      'dsInstanceDn'   : server.getRootDn(),
                      'dsInstancePswd' : server.getRootPwd(),
                    { 'location'       : replServer.getHostname(),
                      'dsPath'         : replServerPath,
                      'dsInstanceHost' : replServer.getHostname(),
                      'dsInstancePort' : replServer.getPort(),
                      'dsInstanceDn'   : replServer.getRootDn(),
                      'dsInstancePswd' : replServer.getRootPwd(),
                      'taskID'         : 'changelog export task',
                      'ldifFile'       : exportedChangelog,
                      'backEnd'        : 'replicationChanges'
@@ -303,7 +316,7 @@
                  <!-- Check for the added entry inside the exported file -->
                  <call function="'grep'">
                    {
                      'location'   : server.getHostname(),
                      'location'   : replServer.getHostname(),
                      'filename'   : exportedChangelog,
                      'testString' : 'uid=iabizen.2'
                    }
@@ -392,25 +405,37 @@
              </call>
                                
              <!-- Stop the servers in the topology -->
              <script>
                if globalSplitServers:
                  serverList = _topologyReplServerList
                else:
                  serverList = _topologyServerList
              </script>
              <call function="'stopServers'">
                [_topologyServerList]
                [serverList]
              </call>
                                              
              <!-- Backup changelog in the various replication servers -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>                    
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    serverDataDir = '%s/%s' % (server.getDir(),remote.reldatadir)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                    replServerDataDir = '%s/%s' \
                      % (replServer.getDir(),remote.reldatadir)
                    changelogBackupDir = '%s/replication/changelog_backup' \
                                         % serverDataDir
                                         % replServerDataDir
                  </script>
                  <call function="'backup'">
                    { 'location'  : server.getHostname(),
                      'dsPath'    : serverPath,
                    { 'location'  : replServer.getHostname(),
                      'dsPath'    : replServerPath,
                      'backupDir' : changelogBackupDir,
                      'backEnd'   : 'replicationChanges'
                    }
@@ -419,10 +444,15 @@
              </paralleliterate>
                                        
              <!-- Start the servers in the topology -->
              <script>
                if globalSplitServers:
                  serverList = _topologyReplServerList
                else:
                  serverList = _topologyServerList
              </script>
              <call function="'startServers'">
                [_topologyServerList]
              </call>
                [serverList]
              </call>
              <!-- Add entry B to "master" server -->
              <script>
@@ -460,7 +490,7 @@
                                
              <!-- Stop the servers in the topology -->
              <call function="'stopServers'">
                [_topologyServerList]
                [_splitServerList]
              </call>
                                              
@@ -472,10 +502,18 @@
                <sequence>
                    
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    serverDataDir = '%s/%s' % (server.getDir(),remote.reldatadir)
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                    replServerDataDir = '%s/%s' \
                      % (replServer.getDir(),remote.reldatadir)
                    changelogBackupDir = '%s/replication/changelog_backup' \
                                         % serverDataDir
                                         % replServerDataDir
                  </script>
                  <!-- Restore master_backup -->  
@@ -516,8 +554,8 @@
                                                            
                  <!-- Restore changelog_backup -->
                  <call function="'restore'">
                    { 'location'  : server.getHostname(),
                      'dsPath'    : serverPath,
                    { 'location'  : replServer.getHostname(),
                      'dsPath'    : replServerPath,
                      'backupDir' : changelogBackupDir
                    }
                  </call>                    
@@ -526,7 +564,7 @@
                                        
              <!-- Start the servers in the topology -->
              <call function="'startServers'">
                [_topologyServerList]
                [_splitServerList]
              </call>                                
                
@@ -534,10 +572,17 @@
              <!-- Search synchroSuffix and changelog in the various servers,
                looking for entries A (should be there) and B (shouldn't be) -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                <sequence>
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                  <!-- Search for entry A (should be there) -->
@@ -555,12 +600,12 @@
                    }                
                  </call>                                                        
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=iabizen.A',
                      'dsAttributes'     : 'dn',
@@ -596,12 +641,12 @@
                    }                
                  </call>                                                        
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=iabizen.B',
                      'dsAttributes'     : 'dn',
@@ -707,22 +752,30 @@
                
              <!-- Backup changelog in the various replication servers -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>                    
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    serverDataDir = '%s/%s' % (server.getDir(),remote.reldatadir)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                    replServerDataDir = '%s/%s' \
                      % (replServer.getDir(),remote.reldatadir)
                    changelogBackupDir = \
                      '%s/replication/changelog_backup_online' % serverDataDir
                      '%s/replication/changelog_backup_online' \
                      % replServerDataDir
                  </script>
                  <call function="'backupTask'">
                    { 'location'       : server.getHostname(),
                      'dsPath'         : serverPath,
                      'dsInstanceHost' : server.getHostname(),
                      'dsInstancePort' : server.getPort(),
                      'dsInstanceDn'   : server.getRootDn(),
                      'dsInstancePswd' : server.getRootPwd(),
                    { 'location'       : replServer.getHostname(),
                      'dsPath'         : replServerPath,
                      'dsInstanceHost' : replServer.getHostname(),
                      'dsInstancePort' : replServer.getPort(),
                      'dsInstanceDn'   : replServer.getRootDn(),
                      'dsInstancePswd' : replServer.getRootPwd(),
                      'taskID'         : 'changelog backup task',
                      'backupDir'      : changelogBackupDir,
                      'backEnd'        : 'replicationChanges'
@@ -774,20 +827,29 @@
                <sequence>
                    
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    serverDataDir = '%s/%s' % (server.getDir(),remote.reldatadir)
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                    replServerDataDir = '%s/%s' \
                      % (replServer.getDir(),remote.reldatadir)
                    changelogBackupDir = \
                      '%s/replication/changelog_backup_online' % serverDataDir
                      '%s/replication/changelog_backup_online' \
                      % replServerDataDir
                  </script>
                  <!-- Restore changelog_backup -->
                  <call function="'restoreTask'">
                    { 'location'       : server.getHostname(),
                      'dsPath'         : serverPath,
                      'dsInstanceHost' : server.getHostname(),
                      'dsInstancePort' : server.getPort(),
                      'dsInstanceDn'   : server.getRootDn(),
                      'dsInstancePswd' : server.getRootPwd(),
                    { 'location'       : replServer.getHostname(),
                      'dsPath'         : replServerPath,
                      'dsInstanceHost' : replServer.getHostname(),
                      'dsInstancePort' : replServer.getPort(),
                      'dsInstanceDn'   : replServer.getRootDn(),
                      'dsInstancePswd' : replServer.getRootPwd(),
                      'taskID'         : 'changelog restore task',
                      'backupDir'      : changelogBackupDir
                    }
@@ -842,12 +904,20 @@
                looking for entries AA (should be there) and BB (shouldn't be) 
                -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>                    
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                  <!-- Search for entry AA (should be there) -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
@@ -863,12 +933,12 @@
                    }                
                  </call>                                                        
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=iabizen.AA',
                      'dsAttributes'     : 'dn',
@@ -904,12 +974,12 @@
                    }                
                  </call>                                                        
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=iabizen.BB',
                      'dsAttributes'     : 'dn',
@@ -1006,20 +1076,27 @@
                
              <!-- Search changelog in the various replication servers -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                    
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                    
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges' ,
                      'dsFilter'         : 'uid=iabizen.3',
                      'dsAttributes'     : 'dn'
@@ -1059,10 +1136,17 @@
              <!-- Search changelog in the various replication servers -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                <sequence>
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                                                                         
                  <!-- Search for entry in the suffix (should NOT be there) -->
@@ -1082,12 +1166,12 @@
                  <!-- Search for corresponding change in the changelog
                    (should NOT be there) -->                                               
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                    { 'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=iabizen.3',
                      'dsAttributes'     : 'dn',
@@ -1153,19 +1237,30 @@
                specified in the conf expires'
              </message>
              <script>
                if globalSplitServers:
                  masterReplServer = _topologyReplServerList[0]
                else:
                  masterReplServer = master
                masterReplServerHost = masterReplServer.getHostname()
                masterReplServerPath = '%s/%s' % \
                                       (masterReplServer.getDir(), OPENDSNAME)
              </script>
              <message>
                'Set purge delay to 20 seconds on server %s:%s' \
                % (masterHost, master.getPort())
                % (masterReplServerHost, masterReplServer.getPort())
              </message>
              <!-- Set purge delay to 20s on "master" server -->              
              <call function="'dsconfigSet'">
                { 'location'            : masterHost,
                  'dsPath'              : masterPath,
                  'dsInstanceHost'      : masterHost,
                  'dsInstanceAdminPort' : master.getAdminPort(),
                  'dsInstanceDn'        : master.getRootDn(),
                  'dsInstancePswd'      : master.getRootPwd(),
                { 'location'            : masterReplServerHost,
                  'dsPath'              : masterReplServerPath,
                  'dsInstanceHost'      : masterReplServerHost,
                  'dsInstanceAdminPort' : masterReplServer.getAdminPort(),
                  'dsInstanceDn'        : masterReplServer.getRootDn(),
                  'dsInstancePswd'      : masterReplServer.getRootPwd(),
                  'objectName'          : 'replication-server' ,
                  'propertyType'        : 'provider',
                  'propertyName'        : 'Multimaster Synchronization',
@@ -1237,20 +1332,26 @@
                
              <!-- Search changelog in the various replication servers -->                                                           
              <paralleliterate var="server" 
                               in="_topologyServerList">
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>                    
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                  <call function="'ldapSearchWithScript'">
                    {
                      'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges' ,
                      'dsFilter'         : 'uid=iabizen.X',
                      'dsAttributes'     : 'dn'
@@ -1287,17 +1388,22 @@
                               indexvar="i">
                <sequence>                    
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                                                                                                                        
                  <call function="'ldapSearchWithScript'">
                    {
                      'location'         : server.getHostname(),
                      'dsPath'           : serverPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'location'         : replServer.getHostname(),
                      'dsPath'           : replServerPath,
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=iabizen.X',
                      'dsAttributes'     : 'dn',
@@ -1310,7 +1416,7 @@
                    resultLength = len(searchResult) > 0
                    if i == 0:
                      # index [0] corresponds to "master" server
                      # index [0] corresponds to "master" repl server
                      # => purge delay expired => changelog purged
                      # => expect NO entry returned
                      # => len(searchResult) = 0 => resultLength = 0
opends/tests/staf-tests/functional-tests/testcases/replication/conflict/conflict.xml
@@ -80,6 +80,13 @@
            server2DataDir = '%s/%s' % (server2.getDir(),remote.reldatadir)
            server1name = '%s:%s' % (server1Host, server1.getPort())
            server2name = '%s:%s' % (server2Host, server2.getPort())
            if globalSplitServers:
              replServer1 = _topologyReplServerList[0]
              replServer2 = _topologyReplServerList[1]
            else:
              replServer1 = server1
              replServer2 = server2
            # Filter used for retrieving conflict counters from cn=monitor              
            filter0 = '(base-dn=%s)' % synchroSuffix
@@ -286,7 +293,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -343,7 +350,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -445,7 +452,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -503,7 +510,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -618,7 +625,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -690,7 +697,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -805,7 +812,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -877,7 +884,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -984,7 +991,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -1043,7 +1050,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -1150,7 +1157,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -1209,7 +1216,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -1323,7 +1330,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -1382,7 +1389,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -1491,7 +1498,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -1550,7 +1557,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -1669,7 +1676,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -1741,7 +1748,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -1854,7 +1861,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -1913,7 +1920,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -2026,7 +2033,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -2085,7 +2092,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -2202,7 +2209,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -2261,7 +2268,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -2377,7 +2384,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -2436,7 +2443,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -2541,7 +2548,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Add child entry on server2 -->
@@ -2632,7 +2639,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -2809,7 +2816,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Delete parent entry on server1-->
@@ -2900,7 +2907,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -3067,7 +3074,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -3153,7 +3160,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Check conflict is resolved -->
@@ -3316,7 +3323,7 @@
              <!-- Disconnect Replication Servers -->
              <call function="'disconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <iterate var="server"
@@ -3402,7 +3409,7 @@
                
              <!-- Reconnect Replication Servers -->
              <call function="'reconnectReplicationServers'">
                [ clientHost, clientPath, [server1, server2] ]
                [ clientHost, clientPath, [replServer1, replServer2] ]
              </call>
              <!-- Delete entry on server1-->
opends/tests/staf-tests/functional-tests/testcases/replication/encryption/encryption.xml
@@ -119,7 +119,7 @@
                    listAttr.append('givenname:Izen-%s' % i)
                    listAttr.append('sn:Abizen-%s' % i)
                    listAttr.append('cn:Izen-%s Abizen-%s' % (i, i))
                    listAttr.append('l: ICNC')
                    listAttr.append('l:ICNC')
                  </script>
          
                  <call function="'addAnEntry'">
opends/tests/staf-tests/functional-tests/testcases/replication/failover/failover.xml
@@ -160,6 +160,13 @@
                    nextServer = _topologyServerList[(i + 1) % nbOfServers]
                    nextServerPath = '%s/%s' % (nextServer.getDir(), OPENDSNAME)
                    userDn = 'uid=iabizen-%s, ou=People, %s' % (i, synchroSuffix)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                    
                  <!-- Stop server (simulate failover?) -->
@@ -172,6 +179,17 @@
                      'dsBindPwd'   :  server.getRootPwd()
                    }
                  </call>
                  <if expr="globalSplitServers">
                    <call function="'StopDsWithScript'">
                      { 'location'    :  replServer.getHostname(),
                        'dsPath'      :  replServerPath,
                        'dsHost'      :  replServer.getHostname(),
                        'dsAdminPort' :  replServer.getAdminPort(),
                        'dsBindDN'    :  replServer.getRootDn(),
                        'dsBindPwd'   :  replServer.getRootPwd()
                      }
                    </call>
                  </if>
                    
                  <!-- Add entry to one of the other servers -->
                  <script>
@@ -186,13 +204,13 @@
                  </script>
          
                  <call function="'addAnEntry'">
                    { 'location'  :  nextServer.getHostname(),
                      'dsPath'  :  nextServerPath,
                      'dsInstanceHost'  :  nextServer.getHostname(),
                      'dsInstancePort'  :  nextServer.getPort(),
                      'dsInstanceDn'  :  nextServer.getRootDn(),
                      'dsInstancePswd'  :  nextServer.getRootPwd(),
                      'DNToAdd'  :  userDn,
                    { 'location'       :  nextServer.getHostname(),
                      'dsPath'         :  nextServerPath,
                      'dsInstanceHost' :  nextServer.getHostname(),
                      'dsInstancePort' :  nextServer.getPort(),
                      'dsInstanceDn'   :  nextServer.getRootDn(),
                      'dsInstancePswd' :  nextServer.getRootPwd(),
                      'DNToAdd'        :  userDn,
                      'listAttributes' : listAttr,
                      'expectedRC'     :  0
                    }
@@ -203,7 +221,14 @@
                    { 'location'  :  server.getHostname(),
                      'dsPath'    :  serverPath
                    }
                  </call>
                  </call>
                  <if expr="globalSplitServers">
                    <call function="'StartDsWithScript'">
                      { 'location'    :  replServer.getHostname(),
                        'dsPath'      :  replServerPath
                      }
                    </call>
                  </if>
                </sequence>                  
              </iterate>
                                        
@@ -236,10 +261,15 @@
                 'Replication: Failover: All but one servers down (stopped). Check replication when all but one servers are off-line'
              </message>
              <!-- Start the "consumer" servers -->
              <!-- Stop the "consumer" servers -->
              <call function="'stopServers'">
                [consumerList]
              </call>
              <if expr="globalSplitServers">
                <call function="'stopServers'">
                  [_topologyReplServerList[1:]]
                </call>
              </if>
 
                    
              <!-- Add entry to master servers -->
@@ -257,14 +287,14 @@
              </script>
          
              <call function="'addAnEntry'">
                { 'location'  :  masterHost,
                  'dsPath'  :  masterPath,
                  'dsInstanceHost'  :  masterHost,
                  'dsInstancePort'  :  master.getPort(),
                  'dsInstanceDn'  :  master.getRootDn(),
                  'dsInstancePswd'  :  master.getRootPwd(),
                  'DNToAdd'  :  userDn,
                  'listAttributes' : listAttr,
                { 'location'       :  masterHost,
                  'dsPath'         :  masterPath,
                  'dsInstanceHost' :  masterHost,
                  'dsInstancePort' :  master.getPort(),
                  'dsInstanceDn'   :  master.getRootDn(),
                  'dsInstancePswd' :  master.getRootPwd(),
                  'DNToAdd'        :  userDn,
                  'listAttributes' :  listAttr,
                  'expectedRC'     :  0
                }
              </call>
@@ -273,6 +303,11 @@
              <call function="'startServers'">
                [consumerList]
              </call>
              <if expr="globalSplitServers">
                <call function="'startServers'">
                  [_topologyReplServerList[1:]]
                </call>
              </if>
                                  
                
              <!-- Verify the synchronization of the trees among the servers in the topology -->          
@@ -314,6 +349,13 @@
                    nextServer = _topologyServerList[(i + 1) % nbOfServers]
                    nextServerPath = '%s/%s' % (nextServer.getDir(), OPENDSNAME)
                    userDn = 'uid=ideiturak-%s, ou=People, %s' % (i, synchroSuffix)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                    
                  <!-- Kill server (simulate failover?) -->
@@ -322,6 +364,13 @@
                      'dsPath'    :  serverPath
                    }
                  </call>
                  <if expr="globalSplitServers">
                    <call function="'killDs'">
                      { 'location'  :  replServer.getHostname(),
                        'dsPath'    :  replServerPath
                      }
                    </call>
                  </if>
                    
                  <!-- Add entry to one of the other servers -->
                  <script>
@@ -336,13 +385,13 @@
                  </script>
          
                  <call function="'addAnEntry'">
                    { 'location'  :  nextServer.getHostname(),
                      'dsPath'  :  nextServerPath,
                      'dsInstanceHost'  :  nextServer.getHostname(),
                      'dsInstancePort'  :  nextServer.getPort(),
                      'dsInstanceDn'  :  nextServer.getRootDn(),
                      'dsInstancePswd'  :  nextServer.getRootPwd(),
                      'DNToAdd'  :  userDn,
                    { 'location'       :  nextServer.getHostname(),
                      'dsPath'         :  nextServerPath,
                      'dsInstanceHost' :  nextServer.getHostname(),
                      'dsInstancePort' :  nextServer.getPort(),
                      'dsInstanceDn'   :  nextServer.getRootDn(),
                      'dsInstancePswd' :  nextServer.getRootPwd(),
                      'DNToAdd'        :  userDn,
                      'listAttributes' : listAttr,
                      'expectedRC'     :  0
                    }
@@ -353,7 +402,15 @@
                    { 'location'  :  server.getHostname(),
                      'dsPath'    :  serverPath
                    }
                  </call>
                  </call>
                  <if expr="globalSplitServers">
                    <call function="'StartDsWithScript'">
                      { 'location'    :  replServer.getHostname(),
                        'dsPath'      :  replServerPath
                      }
                    </call>
                  </if>
                </sequence>                  
              </iterate>
                                        
@@ -386,10 +443,17 @@
                 'Replication: Failover: All but one servers down (killed). Check replication when all but one servers fail'
              </message>
                 
              <paralleliterate var="server" in="consumerList">
              <paralleliterate var="server" in="consumerList" indexvar="i">
                <sequence>
                  <script>
                    serverPath = '%s/%s' % (server.getDir(), OPENDSNAME)
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i+1]
                    else:
                      replServer = server
                    replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME)
                  </script>
                    
                  <!-- Kill server (simulate failover?) -->
@@ -397,7 +461,14 @@
                    { 'location'  :  server.getHostname(),
                      'dsPath'    :  serverPath
                    }
                  </call>
                  </call>
                  <if expr="globalSplitServers">
                    <call function="'killDs'">
                      { 'location'  :  replServer.getHostname(),
                        'dsPath'    :  replServerPath
                      }
                    </call>
                  </if>
                </sequence>
              </paralleliterate>
 
@@ -417,13 +488,13 @@
              </script>
          
              <call function="'addAnEntry'">
                { 'location'  :  masterHost,
                  'dsPath'  :  masterPath,
                  'dsInstanceHost'  :  masterHost,
                  'dsInstancePort'  :  master.getPort(),
                  'dsInstanceDn'  :  master.getRootDn(),
                  'dsInstancePswd'  :  master.getRootPwd(),
                  'DNToAdd'  :  userDn,
                { 'location'       :  masterHost,
                  'dsPath'         :  masterPath,
                  'dsInstanceHost' :  masterHost,
                  'dsInstancePort' :  master.getPort(),
                  'dsInstanceDn'   :  master.getRootDn(),
                  'dsInstancePswd' :  master.getRootPwd(),
                  'DNToAdd'        :  userDn,
                  'listAttributes' : listAttr,
                  'expectedRC'     :  0
                }
@@ -433,6 +504,11 @@
              <call function="'startServers'">
                [consumerList]
              </call>
              <if expr="globalSplitServers">
                <call function="'startServers'">
                  [_topologyReplServerList[1:]]
                </call>
              </if>
                                        
                
              <!-- Verify the synchronization of the trees among the servers in the topology -->          
opends/tests/staf-tests/functional-tests/testcases/replication/replication.xml
@@ -60,6 +60,11 @@
            testList.append('conflict')
            
            globalAssuredReplication = None
            if (REPLICATION_SPLIT_SERVERS == 'true'):
              globalSplitServers = True
            else:
              globalSplitServers = None
          </script>
          
          <iterate var="_test" in="testList" >
opends/tests/staf-tests/functional-tests/testcases/replication/replication_cleanup.xml
@@ -48,12 +48,12 @@
                  
          <!-- Stop the servers in the topology -->      
          <call function="'stopServers'">
            [_topologyServerList]
            [_splitServerList]
          </call>
          
          <!-- Copy the server logs to the controller machine -->
          <if expr="suiteSuffix != None">
            <paralleliterate var="server" in="_topologyServerList" indexvar="i">
            <paralleliterate var="server" in="_splitServerList" indexvar="i">
              <sequence>
                <script>
                  suffix     = suiteSuffix + '_%s' % (i + 1)
opends/tests/staf-tests/functional-tests/testcases/replication/replication_setup.xml
@@ -89,8 +89,9 @@
          </message>
                 
          <call function="'createTopology'">
            { 'topologyDescFile' : topologyFile,
              'sharedDataFolder' : 'replication'
            { 'topologyDescFile'        : topologyFile,
              'sharedDataFolder'        : 'replication',
              'splitReplicationServers' : globalSplitServers
            }
          </call>  
      
@@ -156,11 +157,11 @@
                          
          <!-- Start the servers in the topology -->        
          <call function="'startServers'">
            [_topologyServerList]
            [_splitServerList]
          </call>            
              
          <iterate var="server" in="consumerList">
          <iterate var="server" in="_splitServerList[1:]">
            <sequence>
              <!-- Configure replication if required so by the server
               !  (i.e. server is a changelog server and/or has synchronized 
@@ -173,8 +174,23 @@
                  </message>
                    
                  <script>
                    replicationServer = server.getChangelogServer()
                    replicatedSuffixList = server.getSynchronizedSuffixList()
                    if master.isOnlyLdapServer():
                      masterReplPort = None
                    else:
                      masterReplPort = masterReplicationServer.getPort()
                    if server.isOnlyLdapServer():
                      serverReplPort = None
                    else:
                      replicationServer = server.getChangelogServer()
                      serverReplPort = replicationServer.getPort()
                    if server.isOnlyReplServer():
                      suffixServer = master
                    else:
                      suffixServer = server
                    replicatedSuffixList = suffixServer.getSynchronizedSuffixList()
                    replicatedDnList = []
                    for suffix in replicatedSuffixList:
                      replicatedDnList.append(suffix.getSuffixDn())
@@ -184,26 +200,29 @@
                    'Enable replication for server:\nHost: %s\nLdap port: %s\n\
                    Replication port: %s\nReplicated DN list: %s' \
                      % (server.getHostname(), server.getPort(), 
                         replicationServer.getPort(), replicatedDnList)
                         serverReplPort, replicatedDnList)
                  </message>
                                        
                  <call function="'enableReplication'">
                    { 'location'             : clientHost,
                      'dsPath'               : clientPath,
                      'dsInstanceHost'       : server.getHostname(),
                      'dsInstanceAdminPort'  : server.getAdminPort(),
                      'dsInstanceDn'         : server.getRootDn(),
                      'dsInstancePswd'       : server.getRootPwd(),
                      'dsReplicationPort'    : replicationServer.getPort(),
                      'dsSecureReplication'  : secureReplication,
                      'refInstanceHost'      : masterHost,
                      'refInstanceAdminPort' : master.getAdminPort(),
                      'refInstanceDn'        : master.getRootDn(),
                      'refInstancePswd'      : master.getRootPwd(),
                      'refReplicationPort'  : masterReplicationServer.getPort(),
                      'refReplicationPort'   : masterReplPort,
                      'refSecureReplication' : secureReplication,
                      'replicationDnList'    : replicatedDnList,
                      'useSecondServerAsSchemaSource'  :  True
                      'refOnlyLdapServer'    : master.isOnlyLdapServer(),
                      'refOnlyReplServer'    : master.isOnlyReplServer(),
                      'dsInstanceHost'       : server.getHostname(),
                      'dsInstanceAdminPort'  : server.getAdminPort(),
                      'dsInstanceDn'         : server.getRootDn(),
                      'dsInstancePswd'       : server.getRootPwd(),
                      'dsReplicationPort'    : serverReplPort,
                      'dsSecureReplication'  : secureReplication,
                      'dsOnlyLdapServer'     : server.isOnlyLdapServer(),
                      'dsOnlyReplServer'     : server.isOnlyReplServer(),
                      'replicationDnList'    : replicatedDnList
                    }                      
                  </call>
                </sequence>
@@ -218,7 +237,7 @@
             !   Server.
             !   This is used by the Conflict testsuite, in order to be able
             !   to simulate conflict scenarios -->
            <paralleliterate var="server" in="_topologyServerList">
            <paralleliterate var="server" in="_topologyServerList" indexvar="i">
              <sequence>
                <script>
                  ldapServer = '%s:%s' % (server.getHostname(), 
@@ -252,9 +271,16 @@
                </if>
                <script>
                  replicationServer = server.getChangelogServer()
                  replServer = '%s:%s' % (server.getHostname(),
                                          replicationServer.getPort())
                  if globalSplitServers:
                    splitServer = _topologyReplServerList[i]
                    replicationServer = splitServer.getChangelogServer()
                    replServer = '%s:%s' % (splitServer.getHostname(),
                                            replicationServer.getPort())
                  else:
                    replicationServer = server.getChangelogServer()
                    replServer = '%s:%s' % (server.getHostname(),
                                            replicationServer.getPort())
                  options = '--domain-name "%s" --set replication-server:%s' \
                            % (domainMap[ldapServer], replServer)
                </script>
opends/tests/staf-tests/functional-tests/testcases/replication/resynchronization/resynchronization.xml
@@ -61,7 +61,6 @@
          
          <script>
            server3            = _topologyServerList[2]
            replicationServer3 = server3.getChangelogServer()
            
            # Remove 3rd server from replicated servers list until replication
            # is enabled on the 3rd one
@@ -363,16 +362,24 @@
                Initialise newly added server using on-line backup/restore'
              </message>
              <paralleliterate var="server" in="_topologyServerList">
              <paralleliterate var="server"
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                  </script>
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : clientHost,
                      'dsPath'           : clientPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=*'
                    }                
@@ -384,7 +391,7 @@
                  </script>
                  <message>
                    '==> REPLICATION CHANGES %s:%s : \n%s\n' % \
                    (server.getHostname(), server.getPort(), searchResult)
                    (replServer.getHostname(), replServer.getPort(), searchResult)
                  </message>
                </sequence>
              </paralleliterate>
@@ -406,16 +413,24 @@
                }
              </call>
              
              <paralleliterate var="server" in="_topologyServerList">
              <paralleliterate var="server"
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                  </script>
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : clientHost,
                      'dsPath'           : clientPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=*'
                    }                
@@ -427,7 +442,7 @@
                  </script>
                  <message>
                    '==> REPLICATION CHANGES %s:%s : \n%s\n' % \
                    (server.getHostname(), server.getPort(), searchResult)
                    (replServer.getHostname(), replServer.getPort(), searchResult)
                  </message>
                </sequence>
              </paralleliterate>
@@ -484,16 +499,24 @@
                }
              </call>
              <paralleliterate var="server" in="_topologyServerList">
              <paralleliterate var="server"
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                  </script>
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : clientHost,
                      'dsPath'           : clientPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=*'
                    }                
@@ -505,7 +528,7 @@
                  </script>
                  <message>
                    '==> REPLICATION CHANGES %s:%s : \n%s\n' % \
                    (server.getHostname(), server.getPort(), searchResult)
                    (replServer.getHostname(), replServer.getPort(), searchResult)
                  </message>
                </sequence>
              </paralleliterate>
@@ -524,16 +547,24 @@
                }
              </call>
              
              <paralleliterate var="server" in="_topologyServerList">
              <paralleliterate var="server"
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                  </script>
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : clientHost,
                      'dsPath'           : clientPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=*'
                    }                
@@ -545,7 +576,7 @@
                  </script>
                  <message>
                    '==> REPLICATION CHANGES %s:%s : \n%s\n' % \
                    (server.getHostname(), server.getPort(), searchResult)
                    (replServer.getHostname(), replServer.getPort(), searchResult)
                  </message>
                </sequence>
              </paralleliterate>
@@ -567,16 +598,24 @@
                }
              </call>
              
              <paralleliterate var="server" in="_topologyServerList">
              <paralleliterate var="server"
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                  </script>
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : clientHost,
                      'dsPath'           : clientPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=*'
                    }                
@@ -588,35 +627,54 @@
                  </script>
                  <message>
                    '==> REPLICATION CHANGES %s:%s : \n%s\n' % \
                    (server.getHostname(), server.getPort(), searchResult)
                    (replServer.getHostname(), replServer.getPort(), searchResult)
                  </message>
                </sequence>
              </paralleliterate>
              
              <!-- Add new server to topology -->
              <script>
                if master.isOnlyLdapServer():
                  masterReplPort = None
                else:
                  masterReplPort = masterReplicationServer.getPort()
                if server3.isOnlyLdapServer():
                  server3ReplPort = None
                else:
                  replicationServer3 = server3.getChangelogServer()
                  server3ReplPort = replicationServer3.getPort()
              </script>
              <message>
                '+++++ resynchronization add server: Enable replication for \
                server:\nHost: %s\nLdap port: %s\nReplication port: %s\n\
                Replicated DN list: %s' \
                % (server3.getHostname(), server3.getPort(), 
                   replicationServer3.getPort(), [synchroSuffix])
                   server3ReplPort, [synchroSuffix])
              </message>
              <call function="'enableReplication'">
                { 'location'             : clientHost,
                  'dsPath'               : clientPath,
                  'dsInstanceHost'       : server3.getHostname(),
                  'dsInstanceAdminPort'  : server3.getAdminPort(),
                  'dsInstanceDn'         : server3.getRootDn(),
                  'dsInstancePswd'       : server3.getRootPwd(),
                  'dsReplicationPort'    : replicationServer3.getPort(),
                  'refInstanceHost'      : masterHost,
                  'refInstanceAdminPort' : master.getAdminPort(),
                  'refInstanceDn'        : master.getRootDn(),
                  'refInstancePswd'      : master.getRootPwd(),
                  'refReplicationPort'   : masterReplicationServer.getPort(),
                  'refReplicationPort'   : masterReplPort,
                  'refOnlyLdapServer'    : master.isOnlyLdapServer(),
                  'refOnlyReplServer'    : master.isOnlyReplServer(),
                  'dsInstanceHost'       : server3.getHostname(),
                  'dsInstanceAdminPort'  : server3.getAdminPort(),
                  'dsInstanceDn'         : server3.getRootDn(),
                  'dsInstancePswd'       : server3.getRootPwd(),
                  'dsReplicationPort'    : server3ReplPort,
                  'dsOnlyLdapServer'     : server3.isOnlyLdapServer(),
                  'dsOnlyReplServer'     : server3.isOnlyReplServer(),
                  'replicationDnList'    : [synchroSuffix]
                }                      
              </call>
              </call>
              <script>
                # Add 3rd server to replicated servers list now that replication
@@ -625,16 +683,24 @@
                consumerList = consumerList + [server3]
              </script>                            
              
              <paralleliterate var="server" in="_topologyServerList">
              <paralleliterate var="server"
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                  </script>
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : clientHost,
                      'dsPath'           : clientPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=*'
                    }                
@@ -646,7 +712,7 @@
                  </script>
                  <message>
                    '==> REPLICATION CHANGES %s:%s : \n%s\n' % \
                    (server.getHostname(), server.getPort(), searchResult)
                    (replServer.getHostname(), replServer.getPort(), searchResult)
                  </message>
                </sequence>
              </paralleliterate>
@@ -680,16 +746,24 @@
                }
              </call>
              
              <paralleliterate var="server" in="_topologyServerList">
              <paralleliterate var="server"
                               in="_topologyServerList"
                               indexvar="i">
                <sequence>
                  <script>
                    if globalSplitServers:
                      replServer = _topologyReplServerList[i]
                    else:
                      replServer = server
                  </script>
                  <!-- Search for entry add -->
                  <call function="'ldapSearchWithScript'">
                    { 'location'         : clientHost,
                      'dsPath'           : clientPath,
                      'dsInstanceHost'   : server.getHostname(),
                      'dsInstancePort'   : server.getPort(),
                      'dsInstanceDn'     : server.getRootDn(),
                      'dsInstancePswd'   : server.getRootPwd(),
                      'dsInstanceHost'   : replServer.getHostname(),
                      'dsInstancePort'   : replServer.getPort(),
                      'dsInstanceDn'     : replServer.getRootDn(),
                      'dsInstancePswd'   : replServer.getRootPwd(),
                      'dsBaseDN'         : 'dc=replicationChanges',
                      'dsFilter'         : 'uid=*'
                    }                
@@ -701,7 +775,7 @@
                  </script>
                  <message>
                    '==> REPLICATION CHANGES %s:%s : \n%s\n' % \
                    (server.getHostname(), server.getPort(), searchResult)
                    (replServer.getHostname(), replServer.getPort(), searchResult)
                  </message>
                </sequence>
              </paralleliterate>
opends/tests/staf-tests/functional-tests/testcases/replication/totalupdate/totalupdate.xml
@@ -188,10 +188,10 @@
                listAttr.append('objectclass:organizationalperson')
                listAttr.append('objectclass:inetorgperson')
                listAttr.append('objectclass:person')
                listAttr.append('givenname: Professor Moriarty')
                listAttr.append('sn: Moriarty')
                listAttr.append('cn: Professor Moriarty')
                listAttr.append('l: London')
                listAttr.append('givenname:Professor Moriarty')
                listAttr.append('sn:Moriarty')
                listAttr.append('cn:Professor Moriarty')
                listAttr.append('l:London')
              </script>
      
              <call function="'addAnEntry'">
@@ -315,19 +315,37 @@
                
              <!-- Re-enable schema replication on "master" server, and 
                at the same time initialise the schema across the topology -->
              <script>
                if master.isOnlyLdapServer():
                  masterReplPort = None
                else:
                  masterReplPort = masterReplicationServer.getPort()
                if consumer.isOnlyLdapServer():
                  consumerReplPort = None
                else:
                  replicationServer = consumer.getChangelogServer()
                  consumerReplPort = replicationServer.getPort()
              </script>
              <call function="'enableReplication'">
                { 'location'             : clientHost,
                  'dsPath'               : clientPath,
                  'dsInstanceHost'       : masterHost,
                  'dsInstanceAdminPort'  : master.getAdminPort(),
                  'dsInstanceDn'         : master.getRootDn(),
                  'dsInstancePswd'       : master.getRootPwd(),
                  'refInstanceHost'      : consumer.getHostname(),
                  'refInstanceAdminPort' : consumer.getAdminPort(),
                  'refInstanceDn'        : consumer.getRootDn(),
                  'refInstancePswd'      : consumer.getRootPwd(),
                  'refInstanceHost'      : masterHost,
                  'refInstanceAdminPort' : master.getAdminPort(),
                  'refInstanceDn'        : master.getRootDn(),
                  'refInstancePswd'      : master.getRootPwd(),
                  'refReplicationPort'   : masterReplPort,
                  'refOnlyLdapServer'    : master.isOnlyLdapServer(),
                  'refOnlyReplServer'    : master.isOnlyReplServer(),
                  'dsInstanceHost'       : consumer.getHostname(),
                  'dsInstanceAdminPort'  : consumer.getAdminPort(),
                  'dsInstanceDn'         : consumer.getRootDn(),
                  'dsInstancePswd'       : consumer.getRootPwd(),
                  'dsReplicationPort'    : consumerReplPort,
                  'dsOnlyLdapServer'     : consumer.isOnlyLdapServer(),
                  'dsOnlyReplServer'     : consumer.isOnlyReplServer(),
                  'replicationDnList'    : ['cn=schema']
                }
                }
              </call>
                
              <!-- Add entry to "consumer" server -->    
@@ -493,10 +511,10 @@
                listAttr.append('objectclass:organizationalperson')
                listAttr.append('objectclass:inetorgperson')
                listAttr.append('objectclass:person')
                listAttr.append('givenname: Professor Moriarty')
                listAttr.append('sn: Moriarty')
                listAttr.append('cn: Professor Moriarty')
                listAttr.append('l: London')
                listAttr.append('givenname:Professor Moriarty')
                listAttr.append('sn:Moriarty')
                listAttr.append('cn:Professor Moriarty')
                listAttr.append('l:London')
              </script>
      
              <call function="'addAnEntry'">
opends/tests/staf-tests/shared/ant/build.properties
@@ -126,3 +126,4 @@
logs.uri=file://
tests.os.string=${os.name}
tests.jvm.string=${java.version}(${sun.arch.data.model} bits)
replication.split=false
opends/tests/staf-tests/shared/functions/tools.xml
@@ -475,6 +475,14 @@
            </else>
          </if>
        </sequence>
        <else>
          <sequence>
            <message log="1" level="'Error'">
              'LdifDiffWithScript: command run FAILED.'
            </message>
            <return> -1 </return>
          </sequence>
        </else>
      </if>
      <if expr="diffRC == 0">
opends/tests/staf-tests/shared/functions/topology.xml
@@ -56,12 +56,25 @@
        </function-arg-description>
        <function-arg-property name="type" value="string"/>
      </function-arg-def>
      <function-arg-def name="splitReplicationServers"
                        type="optional"
                        default="False">
        <function-arg-description>
          Specifies whether the replication servers should be split from the
          ldap servers and be configured on separate instances.
        </function-arg-description>
        <function-arg-property name="type" value="boolean"/>
      </function-arg-def>
    </function-map-args>
    
    <sequence>
      <script>
        if not sharedDataFolder and CurrentTestPath.has_key('group'):
          sharedDataFolder=CurrentTestPath['group']
        _topologyServerList = []
        _topologyReplServerList = []
        _splitServerList = []
      </script>
      
      <call function="'prepareInstanceCreation'">
@@ -100,12 +113,34 @@
              { 'file' : topologyDescFile }
            </call>
            
            <if expr="splitReplicationServers">
              <sequence>
                <message>
                  'Replication servers will be splitted from ldap servers.'
                </message>
                <iterate var="server" in="_topologyServerList" indexvar="i">
                  <sequence>
                    <script>
                      _topologyReplServerList.append(server.splitReplServer())
                      _splitServerList.append(server)
                      _splitServerList.append(_topologyReplServerList[i])
                    </script>
                  </sequence>
                </iterate>
              </sequence>
              <else>
                <script>
                  _splitServerList = _topologyServerList
                </script>
              </else>
            </if>
            <message>
              'Number of server instances required by the deployment: %s' \
              % len(_topologyServerList)
              % len(_splitServerList)
            </message>
         
            <iterate var="server" in="_topologyServerList">
            <iterate var="server" in="_splitServerList">
              <sequence>
                <!-- Create the instance-->
                <call function="'createInstance'">
@@ -1031,8 +1066,26 @@
          Encrypt communications over dsReplicationPort (secure replication)
        </function-arg-description>
        <function-arg-property name="type" value="boolean" />
      </function-arg-def>
      </function-arg-def>
      <function-arg-def name="dsOnlyLdapServer"
                        type="optional"
                        default="None">
        <function-arg-description>
          Server only to contain replicated data (no Repl server/changelog)
        </function-arg-description>
        <function-arg-property name="type" value="boolean" />
      </function-arg-def>
      <function-arg-def name="dsOnlyReplServer"
                        type="optional"
                        default="None">
        <function-arg-description>
          Server only to contain Repl server/changelog (no replicated data)
        </function-arg-description>
        <function-arg-property name="type" value="boolean" />
      </function-arg-def>
      <function-arg-def name="refInstanceHost"
                        type="optional"
                        default="STAF_REMOTE_HOSTNAME">
@@ -1079,7 +1132,26 @@
          Encrypt communications over refReplicationPort (secure replication)
        </function-arg-description>
        <function-arg-property name="type" value="boolean" />
      </function-arg-def>
      </function-arg-def>
      <function-arg-def name="refOnlyLdapServer"
                        type="optional"
                        default="None">
        <function-arg-description>
          Server only to contain replicated data (no Repl server/changelog)
        </function-arg-description>
        <function-arg-property name="type" value="boolean" />
      </function-arg-def>
      <function-arg-def name="refOnlyReplServer"
                        type="optional"
                        default="None">
        <function-arg-description>
          Server only to contain Repl server/changelog (no replicated data)
        </function-arg-description>
        <function-arg-property name="type" value="boolean" />
      </function-arg-def>
                        
      <function-arg-def name="replicationDnList" type="required">
        <function-arg-description>
@@ -1089,8 +1161,8 @@
      </function-arg-def>        
        
      <function-arg-def name="adminUID" 
                                   type="optional"
                                   default="AdminUID">
                        type="optional"
                        default="AdminUID">
        <function-arg-description>
          Global Administrator UID
        </function-arg-description>
@@ -1098,8 +1170,8 @@
      </function-arg-def>
      
      <function-arg-def name="adminPswd" 
                                   type="optional"
                                   default="AdminPswd">
                        type="optional"
                        default="AdminPswd">
        <function-arg-description>
          Global Administrator password
        </function-arg-description>
@@ -1148,41 +1220,53 @@
        STAFCmdParamsList.append('-Q')
        STAFCmdParamsList.append('-X')
          
        if dsInstanceHost:
          STAFCmdParamsList.append('--host1 %s' % dsInstanceHost)
        if dsInstanceAdminPort:
          STAFCmdParamsList.append('--port1 %s' % dsInstanceAdminPort)
        if dsInstanceDn:
          STAFCmdParamsList.append('--bindDN1 "%s"' % dsInstanceDn)
        if dsInstancePswd:
          STAFCmdParamsList.append('--bindPassword1 "%s"' % dsInstancePswd)
        if dsReplicationPort:
          STAFCmdParamsList.append('--replicationPort1 %s' % dsReplicationPort)
        if dsSecureReplication:
          STAFCmdParamsList.append('--secureReplication1')
        if refInstanceHost:
          STAFCmdParamsList.append('--host2 %s' % refInstanceHost)
          STAFCmdParamsList.append('--host1 %s' % refInstanceHost)
      
        if refInstanceAdminPort:
          STAFCmdParamsList.append('--port2 %s' % refInstanceAdminPort)
          STAFCmdParamsList.append('--port1 %s' % refInstanceAdminPort)
      
        if refInstanceDn:
          STAFCmdParamsList.append('--bindDN2 "%s"' % refInstanceDn)
          STAFCmdParamsList.append('--bindDN1 "%s"' % refInstanceDn)
      
        if refInstancePswd:
          STAFCmdParamsList.append('--bindPassword2 "%s"' % refInstancePswd)
          STAFCmdParamsList.append('--bindPassword1 "%s"' % refInstancePswd)
        if refReplicationPort:
          STAFCmdParamsList.append('--replicationPort2 %s' % refReplicationPort)
          STAFCmdParamsList.append('--replicationPort1 %s' % refReplicationPort)
        if refSecureReplication:
          STAFCmdParamsList.append('--secureReplication2')
          STAFCmdParamsList.append('--secureReplication1')
        if refOnlyLdapServer:
          STAFCmdParamsList.append('--noReplicationServer1')
        if refOnlyReplServer:
          STAFCmdParamsList.append('--onlyReplicationServer1')
        if dsInstanceHost:
          STAFCmdParamsList.append('--host2 %s' % dsInstanceHost)
        if dsInstanceAdminPort:
          STAFCmdParamsList.append('--port2 %s' % dsInstanceAdminPort)
        if dsInstanceDn:
          STAFCmdParamsList.append('--bindDN2 "%s"' % dsInstanceDn)
        if dsInstancePswd:
          STAFCmdParamsList.append('--bindPassword2 "%s"' % dsInstancePswd)
        if dsReplicationPort:
          STAFCmdParamsList.append('--replicationPort2 %s' % dsReplicationPort)
        if dsSecureReplication:
          STAFCmdParamsList.append('--secureReplication2')
        if dsOnlyLdapServer:
          STAFCmdParamsList.append('--noReplicationServer2')
        if dsOnlyReplServer:
          STAFCmdParamsList.append('--onlyReplicationServer2')
        if replicationDnList:
          for dn in replicationDnList:
@@ -1723,7 +1807,7 @@
        <else>
          <!-- MULTIPLE instance deployment: parameters read from
            topologyDescFile -->
          <iterate var="server" in="_topologyServerList">
          <iterate var="server" in="_splitServerList">
            <call function="'removeInstance'">
              { 'dsHost' : server.getHostname(),
                'dsDir'  : server.getDir()
opends/tests/staf-tests/shared/python/replication.py
@@ -90,7 +90,7 @@
    self.synchronizedSuffixList = []
  def __repr__(self):
    return "Server: hostname=%s, directory=%s" % (self.hostanme, self.dir)
    return "Server: hostname=%s, directory=%s" % (self.hostname, self.dir)
  def addChangelogServer(self, changelogServer):
    self.changelogServer = changelogServer
@@ -132,7 +132,32 @@
    return self.synchronizedSuffixList
    
  def requiresSynchronization(self):
    return (self.changelogServer is not None) or (len(self.synchronizedSuffixList) > 0)
    return (self.changelogServer is not None) or (len(self.synchronizedSuffixList) > 0)
  def isOnlyLdapServer(self):
    return (self.changelogServer is None) and (len(self.synchronizedSuffixList) > 0)
  def isOnlyReplServer(self):
    return (self.changelogServer is not None) and (len(self.synchronizedSuffixList) == 0)
  def splitReplServer(self):
    new_hostname = self.hostname
    new_dir = '%s-repl-server' % self.dir
    new_port = str( int(self.port) + 1 )
    new_adminPort = str( int(self.adminPort) + 1 )
    new_sslPort = str( int(self.sslPort) + 1 )
    new_jmxPort = str( int(self.jmxPort) + 1 )
    new_rootDn = self.rootDn
    new_rootPwd = self.rootPwd
    new_baseDn = self.baseDn
    new_changelogServer = self.changelogServer
    self.changelogServer = None
    replServer = Server(new_hostname, new_dir, new_port, new_adminPort, new_sslPort,
                        new_jmxPort, new_rootDn, new_rootPwd, new_baseDn)
    replServer.addChangelogServer(new_changelogServer)
    return replServer
opends/tests/staf-tests/shared/tests/config.py.stubs
@@ -52,6 +52,7 @@
DIRECTORY_INSTANCE_SFX        = 'dc=com'
DIRECTORY_INSTANCE_BE         = 'userRoot'
REPLICATION_CONFIG_DIR        = '${tests.run.dir}/${tests.run.time}/config'
REPLICATION_SPLIT_SERVERS     = '${replication.split}'
JAVA_HOME                     = '${remote.javahome}'
LOCAL_JAVA_HOME               = '${local.javahome}'
LOGS_ROOT                     = '${tests.run.dir}/${tests.run.time}'