test018-syncreplication-persist revision 1.1.1.1.2.2 1 1.1.1.1.2.2 yamt #! /bin/sh
2 1.1.1.1.2.2 yamt # $OpenLDAP: pkg/ldap/tests/scripts/test018-syncreplication-persist,v 1.38.2.3 2008/02/11 23:26:51 kurt Exp $
3 1.1.1.1.2.2 yamt ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 1.1.1.1.2.2 yamt ##
5 1.1.1.1.2.2 yamt ## Copyright 1998-2008 The OpenLDAP Foundation.
6 1.1.1.1.2.2 yamt ## All rights reserved.
7 1.1.1.1.2.2 yamt ##
8 1.1.1.1.2.2 yamt ## Redistribution and use in source and binary forms, with or without
9 1.1.1.1.2.2 yamt ## modification, are permitted only as authorized by the OpenLDAP
10 1.1.1.1.2.2 yamt ## Public License.
11 1.1.1.1.2.2 yamt ##
12 1.1.1.1.2.2 yamt ## A copy of this license is available in the file LICENSE in the
13 1.1.1.1.2.2 yamt ## top-level directory of the distribution or, alternatively, at
14 1.1.1.1.2.2 yamt ## <http://www.OpenLDAP.org/license.html>.
15 1.1.1.1.2.2 yamt
16 1.1.1.1.2.2 yamt if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then
17 1.1.1.1.2.2 yamt echo "Test does not support $BACKEND"
18 1.1.1.1.2.2 yamt exit 0
19 1.1.1.1.2.2 yamt fi
20 1.1.1.1.2.2 yamt
21 1.1.1.1.2.2 yamt echo "running defines.sh"
22 1.1.1.1.2.2 yamt . $SRCDIR/scripts/defines.sh
23 1.1.1.1.2.2 yamt
24 1.1.1.1.2.2 yamt if test $SYNCPROV = syncprovno; then
25 1.1.1.1.2.2 yamt echo "Syncrepl provider overlay not available, test skipped"
26 1.1.1.1.2.2 yamt exit 0
27 1.1.1.1.2.2 yamt fi
28 1.1.1.1.2.2 yamt
29 1.1.1.1.2.2 yamt mkdir -p $TESTDIR $DBDIR1 $DBDIR4
30 1.1.1.1.2.2 yamt
31 1.1.1.1.2.2 yamt #
32 1.1.1.1.2.2 yamt # Test replication:
33 1.1.1.1.2.2 yamt # - start producer
34 1.1.1.1.2.2 yamt # - start consumer
35 1.1.1.1.2.2 yamt # - populate over ldap
36 1.1.1.1.2.2 yamt # - perform some modifies and deleted
37 1.1.1.1.2.2 yamt # - attempt to modify the consumer (referral or chain)
38 1.1.1.1.2.2 yamt # - retrieve database over ldap and compare against expected results
39 1.1.1.1.2.2 yamt #
40 1.1.1.1.2.2 yamt
41 1.1.1.1.2.2 yamt echo "Starting producer slapd on TCP/IP port $PORT1..."
42 1.1.1.1.2.2 yamt . $CONFFILTER $BACKEND $MONITORDB < $SRMASTERCONF > $CONF1
43 1.1.1.1.2.2 yamt $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
44 1.1.1.1.2.2 yamt PID=$!
45 1.1.1.1.2.2 yamt if test $WAIT != 0 ; then
46 1.1.1.1.2.2 yamt echo PID $PID
47 1.1.1.1.2.2 yamt read foo
48 1.1.1.1.2.2 yamt fi
49 1.1.1.1.2.2 yamt KILLPIDS="$PID"
50 1.1.1.1.2.2 yamt
51 1.1.1.1.2.2 yamt sleep 1
52 1.1.1.1.2.2 yamt
53 1.1.1.1.2.2 yamt echo "Using ldapsearch to check that producer slapd is running..."
54 1.1.1.1.2.2 yamt for i in 0 1 2 3 4 5; do
55 1.1.1.1.2.2 yamt $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
56 1.1.1.1.2.2 yamt 'objectclass=*' > /dev/null 2>&1
57 1.1.1.1.2.2 yamt RC=$?
58 1.1.1.1.2.2 yamt if test $RC = 0 ; then
59 1.1.1.1.2.2 yamt break
60 1.1.1.1.2.2 yamt fi
61 1.1.1.1.2.2 yamt echo "Waiting 5 seconds for slapd to start..."
62 1.1.1.1.2.2 yamt sleep 5
63 1.1.1.1.2.2 yamt done
64 1.1.1.1.2.2 yamt
65 1.1.1.1.2.2 yamt if test $RC != 0 ; then
66 1.1.1.1.2.2 yamt echo "ldapsearch failed ($RC)!"
67 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
68 1.1.1.1.2.2 yamt exit $RC
69 1.1.1.1.2.2 yamt fi
70 1.1.1.1.2.2 yamt
71 1.1.1.1.2.2 yamt echo "Using ldapadd to create the context prefix entry in the producer..."
72 1.1.1.1.2.2 yamt $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \
73 1.1.1.1.2.2 yamt $LDIFORDEREDCP > /dev/null 2>&1
74 1.1.1.1.2.2 yamt RC=$?
75 1.1.1.1.2.2 yamt if test $RC != 0 ; then
76 1.1.1.1.2.2 yamt echo "ldapadd failed ($RC)!"
77 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
78 1.1.1.1.2.2 yamt exit $RC
79 1.1.1.1.2.2 yamt fi
80 1.1.1.1.2.2 yamt
81 1.1.1.1.2.2 yamt echo "Starting consumer slapd on TCP/IP port $PORT4..."
82 1.1.1.1.2.2 yamt . $CONFFILTER $BACKEND $MONITORDB < $P1SRSLAVECONF > $CONF4
83 1.1.1.1.2.2 yamt $SLAPD -f $CONF4 -h $URI4 -d $LVL $TIMING > $LOG4 2>&1 &
84 1.1.1.1.2.2 yamt SLAVEPID=$!
85 1.1.1.1.2.2 yamt if test $WAIT != 0 ; then
86 1.1.1.1.2.2 yamt echo SLAVEPID $SLAVEPID
87 1.1.1.1.2.2 yamt read foo
88 1.1.1.1.2.2 yamt fi
89 1.1.1.1.2.2 yamt KILLPIDS="$KILLPIDS $SLAVEPID"
90 1.1.1.1.2.2 yamt
91 1.1.1.1.2.2 yamt sleep 1
92 1.1.1.1.2.2 yamt
93 1.1.1.1.2.2 yamt echo "Using ldapsearch to check that consumer slapd is running..."
94 1.1.1.1.2.2 yamt for i in 0 1 2 3 4 5; do
95 1.1.1.1.2.2 yamt $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT4 \
96 1.1.1.1.2.2 yamt 'objectclass=*' > /dev/null 2>&1
97 1.1.1.1.2.2 yamt RC=$?
98 1.1.1.1.2.2 yamt if test $RC = 0 ; then
99 1.1.1.1.2.2 yamt break
100 1.1.1.1.2.2 yamt fi
101 1.1.1.1.2.2 yamt echo "Waiting 5 seconds for slapd to start..."
102 1.1.1.1.2.2 yamt sleep 5
103 1.1.1.1.2.2 yamt done
104 1.1.1.1.2.2 yamt
105 1.1.1.1.2.2 yamt if test $RC != 0 ; then
106 1.1.1.1.2.2 yamt echo "ldapsearch failed ($RC)!"
107 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
108 1.1.1.1.2.2 yamt exit $RC
109 1.1.1.1.2.2 yamt fi
110 1.1.1.1.2.2 yamt
111 1.1.1.1.2.2 yamt echo "Using ldapadd to populate the producer directory..."
112 1.1.1.1.2.2 yamt $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \
113 1.1.1.1.2.2 yamt $LDIFORDEREDNOCP > /dev/null 2>&1
114 1.1.1.1.2.2 yamt RC=$?
115 1.1.1.1.2.2 yamt if test $RC != 0 ; then
116 1.1.1.1.2.2 yamt echo "ldapadd failed ($RC)!"
117 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
118 1.1.1.1.2.2 yamt exit $RC
119 1.1.1.1.2.2 yamt fi
120 1.1.1.1.2.2 yamt
121 1.1.1.1.2.2 yamt echo "Waiting 15 seconds for syncrepl to receive changes..."
122 1.1.1.1.2.2 yamt sleep 15
123 1.1.1.1.2.2 yamt
124 1.1.1.1.2.2 yamt echo "Stopping the provider, sleeping 10 seconds and restarting it..."
125 1.1.1.1.2.2 yamt kill -HUP "$PID"
126 1.1.1.1.2.2 yamt wait $PID
127 1.1.1.1.2.2 yamt sleep 10
128 1.1.1.1.2.2 yamt echo "RESTART" >> $LOG1
129 1.1.1.1.2.2 yamt $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING >> $LOG1 2>&1 &
130 1.1.1.1.2.2 yamt PID=$!
131 1.1.1.1.2.2 yamt if test $WAIT != 0 ; then
132 1.1.1.1.2.2 yamt echo PID $PID
133 1.1.1.1.2.2 yamt read foo
134 1.1.1.1.2.2 yamt fi
135 1.1.1.1.2.2 yamt KILLPIDS="$PID $SLAVEPID"
136 1.1.1.1.2.2 yamt
137 1.1.1.1.2.2 yamt sleep 1
138 1.1.1.1.2.2 yamt
139 1.1.1.1.2.2 yamt echo "Using ldapsearch to check that producer slapd is running..."
140 1.1.1.1.2.2 yamt for i in 0 1 2 3 4 5; do
141 1.1.1.1.2.2 yamt $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
142 1.1.1.1.2.2 yamt 'objectclass=*' > /dev/null 2>&1
143 1.1.1.1.2.2 yamt RC=$?
144 1.1.1.1.2.2 yamt if test $RC = 0 ; then
145 1.1.1.1.2.2 yamt break
146 1.1.1.1.2.2 yamt fi
147 1.1.1.1.2.2 yamt echo "Waiting 5 seconds for slapd to start..."
148 1.1.1.1.2.2 yamt sleep 5
149 1.1.1.1.2.2 yamt done
150 1.1.1.1.2.2 yamt
151 1.1.1.1.2.2 yamt if test $RC != 0 ; then
152 1.1.1.1.2.2 yamt echo "ldapsearch failed ($RC)!"
153 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
154 1.1.1.1.2.2 yamt exit $RC
155 1.1.1.1.2.2 yamt fi
156 1.1.1.1.2.2 yamt
157 1.1.1.1.2.2 yamt echo "Using ldapmodify to modify producer directory..."
158 1.1.1.1.2.2 yamt
159 1.1.1.1.2.2 yamt #
160 1.1.1.1.2.2 yamt # Do some modifications
161 1.1.1.1.2.2 yamt #
162 1.1.1.1.2.2 yamt
163 1.1.1.1.2.2 yamt $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \
164 1.1.1.1.2.2 yamt $TESTOUT 2>&1 << EOMODS
165 1.1.1.1.2.2 yamt dn: cn=James A Jones 1, ou=Alumni Association, ou=People, dc=example,dc=com
166 1.1.1.1.2.2 yamt changetype: modify
167 1.1.1.1.2.2 yamt add: drink
168 1.1.1.1.2.2 yamt drink: Orange Juice
169 1.1.1.1.2.2 yamt -
170 1.1.1.1.2.2 yamt delete: sn
171 1.1.1.1.2.2 yamt sn: Jones
172 1.1.1.1.2.2 yamt -
173 1.1.1.1.2.2 yamt add: sn
174 1.1.1.1.2.2 yamt sn: Jones
175 1.1.1.1.2.2 yamt
176 1.1.1.1.2.2 yamt dn: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, dc=example,dc=com
177 1.1.1.1.2.2 yamt changetype: modify
178 1.1.1.1.2.2 yamt replace: drink
179 1.1.1.1.2.2 yamt drink: Iced Tea
180 1.1.1.1.2.2 yamt
181 1.1.1.1.2.2 yamt dn: cn=ITD Staff,ou=Groups,dc=example,dc=com
182 1.1.1.1.2.2 yamt changetype: modify
183 1.1.1.1.2.2 yamt delete: uniquemember
184 1.1.1.1.2.2 yamt uniquemember: cn=James A Jones 2, ou=Information Technology Division, ou=People, dc=example,dc=com
185 1.1.1.1.2.2 yamt uniquemember: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, dc=example,dc=com
186 1.1.1.1.2.2 yamt -
187 1.1.1.1.2.2 yamt add: uniquemember
188 1.1.1.1.2.2 yamt uniquemember: cn=Dorothy Stevens, ou=Alumni Association, ou=People, dc=example,dc=com
189 1.1.1.1.2.2 yamt uniquemember: cn=James A Jones 1, ou=Alumni Association, ou=People, dc=example,dc=com
190 1.1.1.1.2.2 yamt
191 1.1.1.1.2.2 yamt dn: cn=All Staff,ou=Groups,dc=example,dc=com
192 1.1.1.1.2.2 yamt changetype: modify
193 1.1.1.1.2.2 yamt delete: description
194 1.1.1.1.2.2 yamt
195 1.1.1.1.2.2 yamt dn: cn=Gern Jensen, ou=Information Technology Division, ou=People, dc=example,dc=com
196 1.1.1.1.2.2 yamt changetype: add
197 1.1.1.1.2.2 yamt objectclass: OpenLDAPperson
198 1.1.1.1.2.2 yamt cn: Gern Jensen
199 1.1.1.1.2.2 yamt sn: Jensen
200 1.1.1.1.2.2 yamt uid: gjensen
201 1.1.1.1.2.2 yamt title: Chief Investigator, ITD
202 1.1.1.1.2.2 yamt postaladdress: ITD $ 535 W. William St $ Ann Arbor, MI 48103
203 1.1.1.1.2.2 yamt seealso: cn=All Staff, ou=Groups, dc=example,dc=com
204 1.1.1.1.2.2 yamt drink: Coffee
205 1.1.1.1.2.2 yamt homepostaladdress: 844 Brown St. Apt. 4 $ Ann Arbor, MI 48104
206 1.1.1.1.2.2 yamt description: Very odd
207 1.1.1.1.2.2 yamt facsimiletelephonenumber: +1 313 555 7557
208 1.1.1.1.2.2 yamt telephonenumber: +1 313 555 8343
209 1.1.1.1.2.2 yamt mail: gjensen@mailgw.example.com
210 1.1.1.1.2.2 yamt homephone: +1 313 555 8844
211 1.1.1.1.2.2 yamt
212 1.1.1.1.2.2 yamt dn: ou=Retired, ou=People, dc=example,dc=com
213 1.1.1.1.2.2 yamt changetype: add
214 1.1.1.1.2.2 yamt objectclass: organizationalUnit
215 1.1.1.1.2.2 yamt ou: Retired
216 1.1.1.1.2.2 yamt
217 1.1.1.1.2.2 yamt dn: cn=Rosco P. Coltrane, ou=Information Technology Division, ou=People, dc=example,dc=com
218 1.1.1.1.2.2 yamt changetype: add
219 1.1.1.1.2.2 yamt objectclass: OpenLDAPperson
220 1.1.1.1.2.2 yamt cn: Rosco P. Coltrane
221 1.1.1.1.2.2 yamt sn: Coltrane
222 1.1.1.1.2.2 yamt uid: rosco
223 1.1.1.1.2.2 yamt description: Fat tycoon
224 1.1.1.1.2.2 yamt
225 1.1.1.1.2.2 yamt dn: cn=Rosco P. Coltrane, ou=Information Technology Division, ou=People, dc=example,dc=com
226 1.1.1.1.2.2 yamt changetype: modrdn
227 1.1.1.1.2.2 yamt newrdn: cn=Rosco P. Coltrane
228 1.1.1.1.2.2 yamt deleteoldrdn: 1
229 1.1.1.1.2.2 yamt newsuperior: ou=Retired, ou=People, dc=example,dc=com
230 1.1.1.1.2.2 yamt
231 1.1.1.1.2.2 yamt dn: cn=James A Jones 2, ou=Information Technology Division, ou=People, dc=example,dc=com
232 1.1.1.1.2.2 yamt changetype: delete
233 1.1.1.1.2.2 yamt
234 1.1.1.1.2.2 yamt EOMODS
235 1.1.1.1.2.2 yamt
236 1.1.1.1.2.2 yamt RC=$?
237 1.1.1.1.2.2 yamt if test $RC != 0 ; then
238 1.1.1.1.2.2 yamt echo "ldapmodify failed ($RC)!"
239 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
240 1.1.1.1.2.2 yamt exit $RC
241 1.1.1.1.2.2 yamt fi
242 1.1.1.1.2.2 yamt
243 1.1.1.1.2.2 yamt echo "Using ldappasswd to change some passwords..."
244 1.1.1.1.2.2 yamt $LDAPPASSWD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
245 1.1.1.1.2.2 yamt 'cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com' \
246 1.1.1.1.2.2 yamt > $TESTOUT 2>&1
247 1.1.1.1.2.2 yamt RC=$?
248 1.1.1.1.2.2 yamt if test $RC != 0 ; then
249 1.1.1.1.2.2 yamt echo "ldapmodify failed ($RC)!"
250 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
251 1.1.1.1.2.2 yamt exit $RC
252 1.1.1.1.2.2 yamt fi
253 1.1.1.1.2.2 yamt
254 1.1.1.1.2.2 yamt echo "Waiting 15 seconds for syncrepl to receive changes..."
255 1.1.1.1.2.2 yamt sleep 15
256 1.1.1.1.2.2 yamt
257 1.1.1.1.2.2 yamt echo "Stopping consumer to test recovery..."
258 1.1.1.1.2.2 yamt kill -HUP $SLAVEPID
259 1.1.1.1.2.2 yamt wait $SLAVEPID
260 1.1.1.1.2.2 yamt
261 1.1.1.1.2.2 yamt echo "Modifying more entries on the producer..."
262 1.1.1.1.2.2 yamt $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD >> \
263 1.1.1.1.2.2 yamt $TESTOUT 2>&1 << EOMODS
264 1.1.1.1.2.2 yamt dn: cn=Rosco P. Coltrane, ou=Retired, ou=People, dc=example,dc=com
265 1.1.1.1.2.2 yamt changetype: delete
266 1.1.1.1.2.2 yamt
267 1.1.1.1.2.2 yamt dn: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, dc=example,dc=com
268 1.1.1.1.2.2 yamt changetype: modify
269 1.1.1.1.2.2 yamt add: drink
270 1.1.1.1.2.2 yamt drink: Mad Dog 20/20
271 1.1.1.1.2.2 yamt
272 1.1.1.1.2.2 yamt dn: cn=Rosco P. Coltrane, ou=Retired, ou=People, dc=example,dc=com
273 1.1.1.1.2.2 yamt changetype: add
274 1.1.1.1.2.2 yamt objectclass: OpenLDAPperson
275 1.1.1.1.2.2 yamt sn: Coltrane
276 1.1.1.1.2.2 yamt uid: rosco
277 1.1.1.1.2.2 yamt cn: Rosco P. Coltrane
278 1.1.1.1.2.2 yamt
279 1.1.1.1.2.2 yamt EOMODS
280 1.1.1.1.2.2 yamt
281 1.1.1.1.2.2 yamt echo "Restarting consumer..."
282 1.1.1.1.2.2 yamt echo "RESTART" >> $LOG4
283 1.1.1.1.2.2 yamt $SLAPD -f $CONF4 -h $URI4 -d $LVL $TIMING >> $LOG4 2>&1 &
284 1.1.1.1.2.2 yamt SLAVEPID=$!
285 1.1.1.1.2.2 yamt if test $WAIT != 0 ; then
286 1.1.1.1.2.2 yamt echo SLAVEPID $SLAVEPID
287 1.1.1.1.2.2 yamt read foo
288 1.1.1.1.2.2 yamt fi
289 1.1.1.1.2.2 yamt KILLPIDS="$PID $SLAVEPID"
290 1.1.1.1.2.2 yamt
291 1.1.1.1.2.2 yamt echo "Waiting 25 seconds for syncrepl to receive changes..."
292 1.1.1.1.2.2 yamt sleep 25
293 1.1.1.1.2.2 yamt
294 1.1.1.1.2.2 yamt if test ! $BACKLDAP = "ldapno" ; then
295 1.1.1.1.2.2 yamt echo "Try updating the consumer slapd..."
296 1.1.1.1.2.2 yamt $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT4 -w $PASSWD > \
297 1.1.1.1.2.2 yamt $TESTOUT 2>&1 << EOMODS
298 1.1.1.1.2.2 yamt dn: cn=James A Jones 1, ou=Alumni Association, ou=People, dc=example, dc=com
299 1.1.1.1.2.2 yamt changetype: modify
300 1.1.1.1.2.2 yamt add: description
301 1.1.1.1.2.2 yamt description: This write must fail because directed to a shadow context,
302 1.1.1.1.2.2 yamt description: unless the chain overlay is configured appropriately ;)
303 1.1.1.1.2.2 yamt
304 1.1.1.1.2.2 yamt EOMODS
305 1.1.1.1.2.2 yamt
306 1.1.1.1.2.2 yamt RC=$?
307 1.1.1.1.2.2 yamt if test $RC != 0 ; then
308 1.1.1.1.2.2 yamt echo "ldapmodify failed ($RC)!"
309 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
310 1.1.1.1.2.2 yamt exit $RC
311 1.1.1.1.2.2 yamt fi
312 1.1.1.1.2.2 yamt
313 1.1.1.1.2.2 yamt # ITS#4964
314 1.1.1.1.2.2 yamt echo "Trying to change some passwords on the consumer..."
315 1.1.1.1.2.2 yamt $LDAPPASSWD -D "$MANAGERDN" -h $LOCALHOST -p $PORT4 -w $PASSWD \
316 1.1.1.1.2.2 yamt 'cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com' \
317 1.1.1.1.2.2 yamt > $TESTOUT 2>&1
318 1.1.1.1.2.2 yamt RC=$?
319 1.1.1.1.2.2 yamt if test $RC != 0 ; then
320 1.1.1.1.2.2 yamt echo "ldapmodify failed ($RC)!"
321 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
322 1.1.1.1.2.2 yamt exit $RC
323 1.1.1.1.2.2 yamt fi
324 1.1.1.1.2.2 yamt
325 1.1.1.1.2.2 yamt echo "Waiting 15 seconds for syncrepl to receive changes..."
326 1.1.1.1.2.2 yamt sleep 15
327 1.1.1.1.2.2 yamt fi
328 1.1.1.1.2.2 yamt
329 1.1.1.1.2.2 yamt OPATTRS="entryUUID creatorsName createTimestamp modifiersName modifyTimestamp"
330 1.1.1.1.2.2 yamt
331 1.1.1.1.2.2 yamt echo "Using ldapsearch to read all the entries from the producer..."
332 1.1.1.1.2.2 yamt $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
333 1.1.1.1.2.2 yamt '(objectclass=*)' '*' $OPATTRS > $MASTEROUT 2>&1
334 1.1.1.1.2.2 yamt RC=$?
335 1.1.1.1.2.2 yamt
336 1.1.1.1.2.2 yamt if test $RC != 0 ; then
337 1.1.1.1.2.2 yamt echo "ldapsearch failed at producer ($RC)!"
338 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
339 1.1.1.1.2.2 yamt exit $RC
340 1.1.1.1.2.2 yamt fi
341 1.1.1.1.2.2 yamt
342 1.1.1.1.2.2 yamt echo "Using ldapsearch to read all the entries from the consumer..."
343 1.1.1.1.2.2 yamt $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT4 \
344 1.1.1.1.2.2 yamt '(objectclass=*)' '*' $OPATTRS > $SLAVEOUT 2>&1
345 1.1.1.1.2.2 yamt RC=$?
346 1.1.1.1.2.2 yamt
347 1.1.1.1.2.2 yamt if test $RC != 0 ; then
348 1.1.1.1.2.2 yamt echo "ldapsearch failed at consumer ($RC)!"
349 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
350 1.1.1.1.2.2 yamt exit $RC
351 1.1.1.1.2.2 yamt fi
352 1.1.1.1.2.2 yamt
353 1.1.1.1.2.2 yamt test $KILLSERVERS != no && kill -HUP $KILLPIDS
354 1.1.1.1.2.2 yamt
355 1.1.1.1.2.2 yamt echo "Filtering producer results..."
356 1.1.1.1.2.2 yamt . $LDIFFILTER < $MASTEROUT > $MASTERFLT
357 1.1.1.1.2.2 yamt echo "Filtering consumer results..."
358 1.1.1.1.2.2 yamt . $LDIFFILTER < $SLAVEOUT > $SLAVEFLT
359 1.1.1.1.2.2 yamt
360 1.1.1.1.2.2 yamt echo "Comparing retrieved entries from producer and consumer..."
361 1.1.1.1.2.2 yamt $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
362 1.1.1.1.2.2 yamt
363 1.1.1.1.2.2 yamt if test $? != 0 ; then
364 1.1.1.1.2.2 yamt echo "test failed - producer and consumer databases differ"
365 1.1.1.1.2.2 yamt exit 1
366 1.1.1.1.2.2 yamt fi
367 1.1.1.1.2.2 yamt
368 1.1.1.1.2.2 yamt echo ">>>>> Test succeeded"
369 1.1.1.1.2.2 yamt
370 1.1.1.1.2.2 yamt test $KILLSERVERS != no && wait
371 1.1.1.1.2.2 yamt
372 1.1.1.1.2.2 yamt exit 0
373