Upgrade-Revert 2-server
replication topology
0. Pick up OpenDS zip package,
version-0
$
start-ds -F OpenDS Directory Server 1.0.0 Build
ID:
20080125094425Z Major Version:
1 Minor Version:
0 Point Version:
0 Version Qualifier: Revision Number:
3751 Fix IDs: Debug Build:
false Build OS:
SunOS 5.10 sparc Build User:
ugaston Build Java Version:
1.6.0 Build Java Vendor:
Sun Microsystems Inc. Build JVM Version:
1.6.0-b105 Build JVM Vendor:
Sun Microsystems Inc. Upgrade Event IDs:
1,2,3,4,5
|
1.
Set up 1st server using setup GUI:
Settings:
- ldap: 1389
- ldaps: 1636
- self-signed certificate
- startTLS enabled
Topology options:
- part of replication
topology
- replication port: 1212
Directory Data:
- base DN: o=example
- import file: Short_Example.ldif (100 entries)
2.
Set up 2nd server using setup GUI:
Settings:
- ldap: 2389
- ldaps: 2636
- self-signed certificate
- startTLS enabled
Topology options:
- part of replication topology
- replication
port: 2323
- already another server in topology
(port: 1389)
Global admin ID: admin
Global admin pwd: admin
Data
Replication:
- create local instance of
existing base DN and configure replication (o=example, 100
entries)
3. Add one entry on each server instance:
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 100 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 100
|
$
./ldapmodify -a -p 1389 -D "cn=directory manager"
-w secret12 dn: uid=pmoriarty, ou=People, o=example cn:
Professor Moriarty sn: Moriarty givenname:
Professor objectclass: top objectclass: person objectclass:
organizationalPerson objectclass: inetOrgPerson ou:
Accounting ou: People l: London uid:
pmoriarty userpassword: jajejijoju
Processing
ADD request for uid=pmoriarty,ou=People,o=example ADD operation
successful for DN uid=pmoriarty,ou=People,o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 101 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 101
|
$
./ldapmodify -a -p 2389 -D "cn=directory manager"
-w secret12 dn: uid=dwatson, ou=People, o=example cn: Doctor
Watson sn: Watson givenname: Doctor objectclass:
top objectclass: person objectclass:
organizationalPerson objectclass: inetOrgPerson ou:
Accounting ou: People l: Baker Street uid:
dwatson userpassword: elementary
Processing
ADD request for uid=dwatson,ou=People,o=example ADD operation
successful for DN uid=dwatson,ou=People,o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 102 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 102
|
4. Upgrade 1st server to
version-1:
$
upgrade Would you like to
upgrade this installation to a newer version or revert to an older
version?
1) Upgrade to a newer
version 2) Revert to a previous
version
Enter choice [1]: Enter the name and path of the
OpenDS install file (.zip):
/usr/project/iplanet/ws/opends.ug/opends/build/package/OpenDS-1.0.0.zip Initializing
Upgrade ..... Done. Calculating Schema Customizations .....
Done. Calculating Configuration Customizations .....
Done. Backing Up Files ..... Done. Upgrading Components
..... Done. Preparing Customizations ..... Done. Applying
Schema Customizations ..... Done. Applying Configuration
Customizations ..... Done. Verifying Upgrade .....
Done. Starting Directory Server ..... Done. Cleaning Up
..... Done. Recording Upgrade History ..... Done. See
/amaiur/servers/server1/OpenDS-1.0.0/history/log for a history
installation history. OpenDS QuickUpgrade Completed
Successfully. The OpenDS installation
at /amaiur/servers/server1/OpenDS-1.0.0 has now been upgraded
to version OpenDS Directory Server 1.0.0 (Build ID:
20080128143348Z).
See /var/tmp/opends-upgrade-57522.log for
a detailed log of this operation.
$ tail
/var/tmp/opends-upgrade-57522.log Jan
28, 2008 4:54:39 PM
org.opends.quicksetup.util.FileManager$DeleteOperation apply INFO:
deleting directory
/amaiur/servers/server1/OpenDS-1.0.0/tmp/upgrade Jan 28, 2008
4:54:39 PM org.opends.quicksetup.upgrader.Upgrader run INFO:
clean up complete Jan 28, 2008 4:54:39 PM
org.opends.quicksetup.upgrader.Upgrader run INFO: recording
upgrade history Jan 28, 2008 4:54:39 PM
org.opends.quicksetup.upgrader.Upgrader run INFO: history
recorded Jan 28, 2008 4:54:39 PM
org.opends.quicksetup.upgrader.Upgrader run INFO: upgrade
completed successfully
$ grep ERROR
/var/tmp/opends-upgrade-57522.log INFO:
server: [28/Jan/2008:16:52:46 +0100] category=SYNC
severity=SEVERE_ERROR msgID=14942294 msg=Replication server caught
exception while listening for client connections Socket
closed INFO: server: [28/Jan/2008:16:52:46 +0100] category=SYNC
severity=SEVERE_ERROR msgID=-1 msg=Error during the changelog
database trimming or flush process. The Changelog service is going
to shutdown(JE 3.2.70) Can't open a cursor Database state can't be
DbState.CLOSED must be DbState.OPEN (Database.java:1079
Database.java:369 ReplicationDB.java:365 ReplicationDB.java:315
ReplicationDB.java:206 DbHandler.java:408 DbHandler.java:358
Thread.java:619) INFO: server: [28/Jan/2008:16:52:46 +0100]
category=SYNC severity=SEVERE_ERROR msgID=-1 msg=Error closing the
changelog database :(JE 3.2.70) There is 1 open Database in the
Environment.
$ start-ds -F OpenDS
Directory Server 1.0.0 Build ID:
20080128143348Z Major Version:
1 Minor Version:
0 Point Version:
0 Version Qualifier: Revision Number:
3777 Fix IDs: Debug Build:
false Build OS:
SunOS 5.10 sparc Build User:
ugaston Build Java Version:
1.6.0 Build Java Vendor:
Sun Microsystems Inc. Build JVM Version:
1.6.0-b105 Build JVM Vendor:
Sun Microsystems Inc. Upgrade Event IDs:
1,2,3,4,5
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 102 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 102
|
5. Add one entry on each
server instance:
$
./ldapmodify -a -p 1389 -D "cn=directory manager"
-w secret12 dn: uid=ilestrade, ou=People, o=example cn:
Inspecteur Lestrade sn: Lestrade givenname:
Inspecteur objectclass: top objectclass: person objectclass:
organizationalPerson objectclass: inetOrgPerson ou:
Accounting ou: People l: Scotland Yard uid:
ilestrade userpassword: illcatchyou
Processing
ADD request for uid=ilestrade,ou=People,o=example ADD operation
successful for DN uid=ilestrade,ou=People,o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 103 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 103
|
$
./ldapmodify -a -p 2389 -D "cn=directory manager"
-w secret12 dn: uid=acdoyle, ou=People, o=example cn: Arthur
Connan Doyle sn: Doyle givenname: Arthur Connan objectclass:
top objectclass: person objectclass:
organizationalPerson objectclass: inetOrgPerson ou:
Accounting ou: People l: London uid:
acdoyle userpassword: sherlock
Processing
ADD request for uid=acdoyle,ou=People,o=example ADD operation
successful for DN uid=acdoyle,ou=People,o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 104 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 104
|
6. Upgrade 2nd server to
version-1:
$
upgrade Would you like to
upgrade this installation to a newer version or revert to an older
version?
1) Upgrade to a newer
version 2) Revert to a previous
version
Enter choice [1]: Enter the name and path of the
OpenDS install file (.zip):
/usr/project/iplanet/ws/opends.ug/opends/build/package/OpenDS-1.0.0.zip Initializing
Upgrade ..... Done. Calculating Schema Customizations .....
Done. Calculating Configuration Customizations .....
Done. Backing Up Files ..... Done. Upgrading Components
..... Done. Preparing Customizations ..... Done. Applying
Schema Customizations ..... Done. Applying Configuration
Customizations ..... Done. Verifying Upgrade .....
Done. Starting Directory Server ..... Done. Cleaning Up
..... Done. Recording Upgrade History ..... Done. See
/amaiur/servers/server2/OpenDS-1.0.0/history/log for a history
installation history. OpenDS QuickUpgrade Completed
Successfully. The OpenDS installation
at /amaiur/servers/server2/OpenDS-1.0.0 has now been upgraded
to version OpenDS Directory Server 1.0.0 (Build ID:
20080128143348Z).
See /var/tmp/opends-upgrade-28222.log for
a detailed log of this operation.
$ tail
/var/tmp/opends-upgrade-28222.log Jan
28, 2008 5:16:07 PM
org.opends.quicksetup.util.FileManager$DeleteOperation apply INFO:
deleting directory
/amaiur/servers/server2/OpenDS-1.0.0/tmp/upgrade Jan 28, 2008
5:16:07 PM org.opends.quicksetup.upgrader.Upgrader run INFO:
clean up complete Jan 28, 2008 5:16:07 PM
org.opends.quicksetup.upgrader.Upgrader run INFO: recording
upgrade history Jan 28, 2008 5:16:07 PM
org.opends.quicksetup.upgrader.Upgrader run INFO: history
recorded Jan 28, 2008 5:16:07 PM
org.opends.quicksetup.upgrader.Upgrader run INFO: upgrade
completed successfully
$ grep ERROR
/var/tmp/opends-upgrade-28222.log INFO:
server: [28/Jan/2008:17:14:14 +0100] category=SYNC
severity=SEVERE_ERROR msgID=14942294 msg=Replication server caught
exception while listening for client connections Socket
closed
$ start-ds -F OpenDS
Directory Server 1.0.0 Build ID:
20080128143348Z Major Version:
1 Minor Version:
0 Point Version:
0 Version Qualifier: Revision Number:
3777 Fix IDs: Debug Build:
false Build OS:
SunOS 5.10 sparc Build User:
ugaston Build Java Version:
1.6.0 Build Java Vendor:
Sun Microsystems Inc. Build JVM Version:
1.6.0-b105 Build JVM Vendor:
Sun Microsystems Inc. Upgrade Event IDs:
1,2,3,4,5
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 104 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 104
|
7. Add entry on each server
instance:
$
./ldapmodify -a -p 2389 -D "cn=directory manager"
-w secret12 dn: uid=hpoirot, ou=People, o=example cn:
Hercules Poirot sn: Poirot givenname: Hercules objectclass:
top objectclass: person objectclass:
organizationalPerson objectclass: inetOrgPerson ou:
Accounting ou: People l: Belgium uid:
hpoirot userpassword: hastings
Processing
ADD request for uid=hpoirot,ou=People,o=example ADD operation
successful for DN uid=hpoirot,ou=People,o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 105 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 105
|
$
./ldapmodify -a -p 1389 -D "cn=directory manager"
-w secret12 dn: uid=mmarple, ou=People, o=example cn: Miss
Marple sn: Marple givenname: Miss objectclass:
top objectclass: person objectclass:
organizationalPerson objectclass: inetOrgPerson ou:
Accounting ou: People l: Kent uid: mmarple userpassword:
teapot
Processing ADD
request for uid=mmarple,ou=People,o=example ADD operation
successful for DN uid=mmarple,ou=People,o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 106 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 106
|
8. Restart server instances
9. Delete entry on one server:
$
./ldapdelete -p 1389 -D "cn=directory manager" -w
secret12 "uid=mmarple, ou=People, o=example" Processing
DELETE request for uid=mmarple, ou=People, o=example DELETE
operation successful for DN uid=mmarple, ou=People, o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 105 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 105
|
10. Downgrade (revert) 1st
server:
$
upgrade Would you like to
upgrade this installation to a newer version or revert to an older
version?
1) Upgrade to a newer
version 2) Revert to a previous
version
Enter choice [1]: 2 Confirm
Reversion How would you like to specify the archive used to
revert this instance?
1) Use the
most recent versioned archive 2)
Manually specify a reversion archive directory
Enter choice
[1]: 1 Confirm
Reversion This installation will be reverted to version OpenDS
Directory Server 1.0.0 (Build ID: 20080125094425Z) using the
files
in /amaiur/servers/server1/OpenDS-1.0.0/history/1201535573019/files.
1) Continue 2) Cancel
Enter
choice [1]: Stopping Directory Server ..... Done. Initializing
Reversion ..... Done. Reverting Components ..... Done. Starting
Directory Server ..... Done. Cleaning Up ..... Done. Recording
Reversion History ..... Done. See
/amaiur/servers/server1/OpenDS-1.0.0/history/log for a history
installation history. OpenDS Reversion Completed
Successfully. The OpenDS installation
at /amaiur/servers/server1/OpenDS-1.0.0 has now been reverted
to version OpenDS Directory Server 1.0.0 (Build ID:
20080125094425Z). See /var/tmp/opends-upgrade-58428.log for a
detailed log of this operation. $
$ tail
/var/tmp/opends-upgrade-58428.log Jan
28, 2008 6:03:49 PM
org.opends.quicksetup.util.FileManager$DeleteOperation apply INFO:
deleting directory
/amaiur/servers/server1/OpenDS-1.0.0/tmp/revert/lib Jan 28,
2008 6:03:49 PM
org.opends.quicksetup.util.FileManager$DeleteOperation apply INFO:
deleting directory
/amaiur/servers/server1/OpenDS-1.0.0/tmp/revert Jan 28, 2008
6:03:49 PM org.opends.quicksetup.upgrader.Reverter end INFO:
Recording history Jan 28, 2008 6:03:49 PM
org.opends.quicksetup.upgrader.Reverter end INFO: History
recorded Jan 28, 2008 6:03:49 PM
org.opends.quicksetup.upgrader.Reverter end INFO: reversion
completed successfully
$ grep ERROR
/var/tmp/opends-upgrade-58428.log INFO:
server: [28/Jan/2008:18:02:58 +0100] category=SYNC
severity=SEVERE_ERROR msgID=14942294 msg=Replication server caught
exception while listening for client connections Socket closed
$
start-ds -F OpenDS
Directory Server 1.0.0 Build ID:
20080125094425Z Major Version:
1 Minor Version:
0 Point Version:
0 Version Qualifier: Revision Number:
3751 Fix IDs: Debug Build:
false Build OS:
SunOS 5.10 sparc Build User:
ugaston Build Java Version:
1.6.0 Build Java Vendor:
Sun Microsystems Inc. Build JVM Version:
1.6.0-b105 Build JVM Vendor:
Sun Microsystems Inc. Upgrade Event IDs:
1,2,3,4,5 $
|
11. Delete entry on server
instance:
$
./ldapdelete -p 1389 -D "cn=directory manager" -w
secret12 "uid=hpoirot, ou=People, o=example" Processing
DELETE request for uid=hpoirot, ou=People, o=example DELETE
operation successful for DN uid=hpoirot, ou=People, o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 104 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 104
|
12. Downgrade 2nd server:
$
upgrade Would you like to
upgrade this installation to a newer version or revert to an older
version?
1) Upgrade to a newer
version 2) Revert to a previous
version
Enter choice [1]: 2 Confirm
Reversion How would you like to specify the archive used to
revert this instance?
1) Use the
most recent versioned archive 2)
Manually specify a reversion archive directory
Enter choice
[1]: 1 Confirm
Reversion This installation will be reverted to version OpenDS
Directory Server 1.0.0 (Build ID: 20080125094425Z) using the
files
in /amaiur/servers/server2/OpenDS-1.0.0/history/1201536864019/files.
1) Continue 2) Cancel
Enter
choice [1]: Stopping Directory Server ..... Done. Initializing
Reversion ..... Done. Reverting Components ..... Done. Starting
Directory Server ..... Done. Cleaning Up ..... Done. Recording
Reversion History ..... Done. See
/amaiur/servers/server2/OpenDS-1.0.0/history/log for a history
installation history. OpenDS Reversion Completed
Successfully. The OpenDS installation
at /amaiur/servers/server2/OpenDS-1.0.0 has now been reverted
to version OpenDS Directory Server 1.0.0 (Build ID:
20080125094425Z). See /var/tmp/opends-upgrade-51663.log for a
detailed log of this operation. $
$ tail
/var/tmp/opends-upgrade-51663.log Jan
28, 2008 6:10:27 PM
org.opends.quicksetup.util.FileManager$DeleteOperation apply INFO:
deleting directory
/amaiur/servers/server2/OpenDS-1.0.0/tmp/revert/lib Jan 28,
2008 6:10:27 PM
org.opends.quicksetup.util.FileManager$DeleteOperation apply INFO:
deleting directory
/amaiur/servers/server2/OpenDS-1.0.0/tmp/revert Jan 28, 2008
6:10:27 PM org.opends.quicksetup.upgrader.Reverter end INFO:
Recording history Jan 28, 2008 6:10:27 PM
org.opends.quicksetup.upgrader.Reverter end INFO: History
recorded Jan 28, 2008 6:10:27 PM
org.opends.quicksetup.upgrader.Reverter end INFO: reversion
completed successfully
$ grep ERROR
/var/tmp/opends-upgrade-51663.log $
$
start-ds -F OpenDS
Directory Server 1.0.0 Build ID:
20080125094425Z Major Version:
1 Minor Version:
0 Point Version:
0 Version Qualifier: Revision Number:
3751 Fix IDs: Debug Build:
false Build OS:
SunOS 5.10 sparc Build User:
ugaston Build Java Version:
1.6.0 Build Java Vendor:
Sun Microsystems Inc. Build JVM Version:
1.6.0-b105 Build JVM Vendor:
Sun Microsystems Inc. Upgrade Event IDs:
1,2,3,4,5
|
13. Delete entry on server
instance:
$
./ldapdelete -p 2389 -D "cn=directory manager" -w
secret12 "uid=acdoyle, ou=People, o=example” Processing
DELETE request for uid=acdoyle, ou=People, o=example DELETE
operation successful for DN uid=acdoyle, ou=People, o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 103 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 103
|
14. Restart servers
15. Delete entry on server
instance:
$./ldapdelete
-p 1389 -D "cn=directory manager" -w secret12
"uid=ilestrade, ou=People, o=example” Processing
DELETE request for uid=ilestrade, ou=People, o=example DELETE
operation successful for DN uid=ilestrade, ou=People, o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 102 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 102
|
$
./ldapdelete -p 2389 -D "cn=directory manager" -w
secret12 "uid=dwatson, ou=People, o=example” Processing
DELETE request for uid=dwatson, ou=People, o=example DELETE
operation successful for DN uid=dwatson, ou=People, o=example $
|
$
./ldapsearch -p 1389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 101 $
./ldapsearch -p 2389 -D "cn=directory manager" -w
secret12 -b "o=example" "objectclass=*" dn |
grep 'dn: ' | wc -l 101
|