From d993dc267d083728198af709abc8ca321c5d6432 Mon Sep 17 00:00:00 2001
From: ugaston <ugaston@localhost>
Date: Fri, 27 Jul 2007 17:36:20 +0000
Subject: [PATCH] New dsconfig wrappers + refactorying for replication configuration
---
opends/tests/functional-tests/shared/functions/topology.xml | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 109 insertions(+), 7 deletions(-)
diff --git a/opends/tests/functional-tests/shared/functions/topology.xml b/opends/tests/functional-tests/shared/functions/topology.xml
index 32efcc3..58349fc 100755
--- a/opends/tests/functional-tests/shared/functions/topology.xml
+++ b/opends/tests/functional-tests/shared/functions/topology.xml
@@ -121,13 +121,9 @@
<if expr="server.requiresSynchronization()">
<sequence>
<message> 'Instance requires REPLICATION configuration.' </message>
- <script>
- serverMap = {}
- serverMap['instance'] = server
- </script>
<call function="'configureReplication'">
- [serverMap]
+ [server]
</call>
</sequence>
</if>
@@ -457,7 +453,7 @@
- <function name="configureReplication">
+ <function name="DEPRECATEDconfigureReplication">
<function-prolog>
This function configures replication in a given server.
</function-prolog>
@@ -557,7 +553,112 @@
</function>
-
+
+ <function name="configureReplication">
+ <function-prolog>
+ This function configures replication in a given server.
+ </function-prolog>
+
+ <function-list-args>
+ <function-arg-def name="syncserver" type="required">
+ <function-arg-description>
+ Server class instance representing the server to configure.
+ </function-arg-description>
+ <function-arg-property name="type" value="Server"/>
+ </function-arg-def>
+ </function-list-args>
+
+ <sequence>
+ <!--- Configure replication using dsconfig -->
+ <message>
+ 'Configure replication on server on host %s at directory %s' % (syncserver.getHostname(),syncserver.getDir())
+ </message>
+
+ <script>
+ syncserverPath = '%s/%s' % (syncserver.getDir(),OPENDSNAME)
+ </script>
+
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : syncserver.getHostname(),
+ 'dsPath' : syncserverPath }
+ </call>
+
+ <message>
+ 'Create synchronization provider'
+ </message>
+
+ <call function="'createSyncProvider'">
+ { 'location' : syncserver.getHostname(),
+ 'dsPath' : syncserverPath,
+ 'dsInstanceHost' : syncserver.getHostname(),
+ 'dsInstancePort' : syncserver.getPort(),
+ 'dsInstanceDn' : syncserver.getRootDn(),
+ 'dsInstancePswd' : syncserver.getRootPwd() }
+ </call>
+
+ <script>
+ replicationServer = syncserver.getChangelogServer()
+ replicatedSuffixList = server.getSynchronizedSuffixList()
+ </script>
+
+ <if expr="replicationServer">
+ <sequence>
+ <message>
+ 'Create replication server listening on port: %s' % replicationServer.getPort()
+ </message>
+
+ <call function="'createReplicationServer'">
+ { 'location' : syncserver.getHostname(),
+ 'dsPath' : syncserverPath,
+ 'dsInstanceHost' : syncserver.getHostname(),
+ 'dsInstancePort' : syncserver.getPort(),
+ 'dsInstanceDn' : syncserver.getRootDn(),
+ 'dsInstancePswd' : syncserver.getRootPwd(),
+ 'replicationPort' : replicationServer.getPort(),
+ 'replicationServerId' : replicationServer.getId(),
+ 'replicationServerList' : replicationServer.getChangelogServerList() }
+ </call>
+ </sequence>
+ </if>
+
+
+ <iterate var="suffix" in="replicatedSuffixList" indexvar="i">
+ <sequence>
+ <message>
+ 'Create domain name for suffix: %s' % suffix.getSuffixDn()
+ </message>
+
+ <call function="'createMultimasterDomain'">
+ { 'location' : syncserver.getHostname(),
+ 'dsPath' : syncserverPath,
+ 'dsInstanceHost' : syncserver.getHostname(),
+ 'dsInstancePort' : syncserver.getPort(),
+ 'dsInstanceDn' : syncserver.getRootDn(),
+ 'dsInstancePswd' : syncserver.getRootPwd(),
+ 'domainName' : 'SUFFIX-%s' % i,
+ 'replicationDn' : suffix.getSuffixDn(),
+ 'serverId' : suffix.getId(),
+ 'replicationServerList' : suffix.getChangelogServerList() }
+ </call>
+ </sequence>
+ </iterate>
+
+
+ <!--- Stop DS -->
+ <call function="'StopDsWithScript'">
+ { 'location' : syncserver.getHostname(),
+ 'dsHost' : syncserver.getHostname(),
+ 'dsPath' : syncserverPath,
+ 'dsPort' : syncserver.getPort(),
+ 'dsBindDN' : syncserver.getRootDn(),
+ 'dsBindPwd' : syncserver.getRootPwd() }
+ </call>
+
+ </sequence>
+ </function>
+
<function name="readTopology">
@@ -811,5 +912,6 @@
</sequence>
</function>
+
</stax>
--
Gitblit v1.10.0