From e3bdec086e224de9a9062a088498d3bc43888d0a Mon Sep 17 00:00:00 2001
From: ugaston <ugaston@localhost>
Date: Mon, 07 Apr 2008 09:23:56 +0000
Subject: [PATCH] Fix replication initialisation suites
---
opends/tests/functional-tests/testcases/replication/binarycopy/binarycopy.xml | 201 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 133 insertions(+), 68 deletions(-)
diff --git a/opends/tests/functional-tests/testcases/replication/binarycopy/binarycopy.xml b/opends/tests/functional-tests/testcases/replication/binarycopy/binarycopy.xml
index 9d5b774..feff2c6 100644
--- a/opends/tests/functional-tests/testcases/replication/binarycopy/binarycopy.xml
+++ b/opends/tests/functional-tests/testcases/replication/binarycopy/binarycopy.xml
@@ -53,10 +53,7 @@
file="'%s/testcases/replication/replication_setup.xml'
% (TESTS_DIR)"/>
<call function="'replication_setup'" />
-
- <script>
- synchroSuffix = master.getSynchronizedSuffixList()[0].getSuffixDn()
- </script>
+
<!--- Test Case information
#@TestMarker Replication Binary Copy Tests
@@ -66,9 +63,16 @@
#@TestPurpose Initialise replicated servers using off-line
backup/restore
#@TestPreamble
- #@TestSteps
+ #@TestSteps Call dsreplication pre-external-initialization
+ #@TestSteps Stop servers
+ #@TestSteps Import data on server A
+ #@TestSteps Back-up server A
+ #@TestSteps Restore back-up on other servers
+ #@TestSteps Start servers
+ #@TestSteps Call dsreplication post-external-initialization
+ #@TestSteps Add entry on server A
#@TestPostamble
- #@TestResult
+ #@TestResult Success if trees synchronized
-->
<testcase name="getTestCaseName('Off-line initialisation')">
<sequence>
@@ -77,12 +81,35 @@
'Replication: Binary Copy: Off-line initialisation. \
Initialise replicated servers using off-line backup/restore'
</message>
+
+
+ <!-- Pre-initialise the servers in the topology -->
+ <message>
+ '+++++ binary copy off-line: prepare servers for external \
+ initialization'
+ </message>
+ <call function="'preInitializeReplication'">
+ { 'location' : clientHost,
+ 'dsPath' : clientPath,
+ 'dsInstanceHost' : masterHost,
+ 'dsInstancePort' : master.getPort(),
+ 'localOnly' : False,
+ 'replicationDnList' : [synchroSuffix],
+ 'adminUID' : adminUID,
+ 'adminPswd' : adminPswd
+ }
+ </call>
+
<!-- Stop the servers in the topology -->
<call function="'stopServers'">
[_topologyServerList]
</call>
<!-- Import data into "master" server -->
+ <message>
+ '+++++ binary copy off-line: import data on %s:%s' \
+ % (masterHost, master.getPort())
+ </message>
<call function="'ImportLdifWithScript'">
{ 'location' : masterHost,
'dsPath' : masterPath,
@@ -90,22 +117,12 @@
'dsLdifFile' : '%s/replication/Example.ldif' % masterDataDir
}
</call>
-
- <!-- Check some data was imported into "master" server -->
- <call function="'checkImport'">
- { 'location' : clientHost,
- 'dsPath' : clientPath,
- 'dsHost' : masterHost,
- 'dsPort' : master.getPort(),
- 'dsDn' : master.getRootDn(),
- 'dsPswd' : master.getRootPwd(),
- 'expectedEntries' : ['uid=scarter,ou=People,o=example',
- 'uid=dmiller, ou=People, o=example',
- 'uid=rhunt, ou=People, o=example']
- }
- </call>
-
+
<!-- Backup "master" server -->
+ <message>
+ '+++++ binary copy off-line: back-up server %s:%s' \
+ % (masterHost, master.getPort())
+ </message>
<call function="'backup'">
{ 'location' : masterHost,
'dsPath' : masterPath,
@@ -116,18 +133,6 @@
<!-- Copy backup to "consumer" servers and restore it -->
<paralleliterate var="consumer" in="consumerList">
<sequence>
- <if expr="os.path.exists('%s/config/schematokens.dat'
- % masterPath)" >
- <call function="'copyFile'">
- { 'location' : masterHost,
- 'srcfile' : '%s/config/schematokens.dat' \
- % masterPath,
- 'destfile' : '%s/%s/config/schematokens.dat' \
- % (consumer.getDir(),OPENDSNAME),
- 'remotehost' : consumer.getHostname()
- }
- </call>
- </if>
<call function="'CopyFolderByExtension'">
{ 'location' : masterHost,
'remotehost' : consumer.getHostname(),
@@ -138,6 +143,11 @@
'extension' : '*'
}
</call>
+
+ <message>
+ '+++++ binary copy off-line: restore back-up on %s:%s' \
+ % (consumer.getHostname(), consumer.getPort())
+ </message>
<call function="'restore'">
{ 'location' : consumer.getHostname(),
'dsPath' : '%s/%s' % (consumer.getDir(), OPENDSNAME),
@@ -152,9 +162,42 @@
<call function="'startServers'">
[_topologyServerList]
</call>
-
-
+
+ <!-- Check some data was imported into "master" server -->
+ <call function="'checkImport'">
+ { 'location' : clientHost,
+ 'dsPath' : clientPath,
+ 'dsHost' : masterHost,
+ 'dsPort' : master.getPort(),
+ 'dsDn' : master.getRootDn(),
+ 'dsPswd' : master.getRootPwd(),
+ 'expectedEntries' : ['uid=scarter,ou=People,o=example',
+ 'uid=dmiller, ou=People, o=example',
+ 'uid=rhunt, ou=People, o=example'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <!-- Post-initialise the servers in the topology -->
+ <message>
+ '+++++ binary copy off-line: end external server initialization'
+ </message>
+ <call function="'postInitializeReplication'">
+ { 'location' : clientHost,
+ 'dsPath' : clientPath,
+ 'dsInstanceHost' : masterHost,
+ 'dsInstancePort' : master.getPort(),
+ 'replicationDnList' : [synchroSuffix],
+ 'adminUID' : adminUID,
+ 'adminPswd' : adminPswd
+ }
+ </call>
+
<!-- Add entry to "master" server -->
+ <message>
+ '+++++ binary copy off-line: add entry to %s:%s' \
+ % (masterHost, master.getPort())
+ </message>
<call function="'addEntry'">
{ 'location' : clientHost,
'dsPath' : clientPath,
@@ -183,9 +226,14 @@
#@TestPurpose Initialise replicated servers using on-line
backup/restore
#@TestPreamble
- #@TestSteps
+ #@TestSteps Call dsreplication pre-external-initialization
+ #@TestSteps Import data on server A
+ #@TestSteps Back-up server A
+ #@TestSteps Restore back-up on other servers
+ #@TestSteps Call dsreplication post-external-initialization
+ #@TestSteps Add entry on server A
#@TestPostamble
- #@TestResult
+ #@TestResult Success if trees synchronized
-->
<testcase name="getTestCaseName('On-line initialisation')">
<sequence>
@@ -194,27 +242,29 @@
'Replication: Binary Copy: On-line initialisation. Initialise \
replicated servers using on-line backup/restore'
</message>
-
- <!-- Clean the servers in the topology
- <call function="'deleteTrees'">
- [_topologyServerList, synchroSuffix, False]
- </call> -->
-
- <!-- Delete manually added entry so that replication server won't
- add it automatically later on -->
- <call function="'ldapDeleteWithScript'">
- { 'location' : clientHost,
- 'dsPath' : clientPath,
- 'dsInstanceHost' : master.getHostname(),
- 'dsInstancePort' : master.getPort(),
- 'dsInstanceDn' : master.getRootDn(),
- 'dsInstancePswd' : master.getRootPwd(),
- 'dsDn' : ['uid=tfitter, ou=People,%s' \
- % synchroSuffix]
+
+ <!-- Pre-initialise the servers in the topology -->
+ <message>
+ '+++++ binary copy on-line: prepare servers for external \
+ initialization'
+ </message>
+ <call function="'preInitializeReplication'">
+ { 'location' : clientHost,
+ 'dsPath' : clientPath,
+ 'dsInstanceHost' : masterHost,
+ 'dsInstancePort' : master.getPort(),
+ 'localOnly' : False,
+ 'replicationDnList' : [synchroSuffix],
+ 'adminUID' : adminUID,
+ 'adminPswd' : adminPswd
}
- </call>
-
+ </call>
+
<!-- Import data into "master" server -->
+ <message>
+ '+++++ binary copy on-line: import data on %s:%s' \
+ % (masterHost, master.getPort())
+ </message>
<call function="'importLdifTask'">
{ 'location' : clientHost,
'dsPath' : clientPath,
@@ -244,6 +294,10 @@
</call>
<!-- Backup "master" server -->
+ <message>
+ '+++++ binary copy on-line: back-up server %s:%s' \
+ % (masterHost, master.getPort())
+ </message>
<call function="'backupTask'">
{ 'location' : clientHost,
'dsPath' : clientPath,
@@ -260,18 +314,6 @@
<!-- Copy backup to "consumer" servers and restore it -->
<paralleliterate var="consumer" in="consumerList">
<sequence>
- <if expr="os.path.exists
- ('%s/config/schematokens.dat' % masterPath)">
- <call function="'copyFile'">
- { 'location' : masterHost,
- 'srcfile' : '%s/config/schematokens.dat' \
- % masterPath,
- 'destfile' : '%s/%s/config/schematokens.dat' \
- % (consumer.getDir(),OPENDSNAME),
- 'remotehost' : consumer.getHostname()
- }
- </call>
- </if>
<call function="'CopyFolderByExtension'">
{ 'location' : masterHost,
'remotehost' : consumer.getHostname(),
@@ -283,6 +325,10 @@
}
</call>
+ <message>
+ '+++++ binary copy on-line: restore back-up on %s:%s' \
+ % (consumer.getHostname(), consumer.getPort())
+ </message>
<call function="'restoreTask'">
{ 'location' : clientHost,
'dsPath' : clientPath,
@@ -298,7 +344,26 @@
</sequence>
</paralleliterate>
+ <!-- Post-initialise the servers in the topology -->
+ <message>
+ '+++++ binary copy on-line: end external server initialization'
+ </message>
+ <call function="'postInitializeReplication'">
+ { 'location' : clientHost,
+ 'dsPath' : clientPath,
+ 'dsInstanceHost' : masterHost,
+ 'dsInstancePort' : master.getPort(),
+ 'replicationDnList' : [synchroSuffix],
+ 'adminUID' : adminUID,
+ 'adminPswd' : adminPswd
+ }
+ </call>
+
<!-- Add entry to "master" server -->
+ <message>
+ '+++++ binary copy on-line: add entry to %s:%s' \
+ % (masterHost, master.getPort())
+ </message>
<call function="'addEntry'">
{ 'location' : clientHost,
'dsPath' : clientPath,
--
Gitblit v1.10.0