Sun ONE Meta-Directory 5.1.1 Installation Guide |
Chapter 5
Upgrading to Meta-Directory 5.1.1Sun ONE Meta-Directory 5.1.1 provides a utility that can be used to upgrade from Sun ONE Meta-Directory 5.1 or iPlanet Meta-Directory 5.0 and 5.0SP1 (including 5.0SP1 Patch 1 and 5.0SP1 Patch2).
This chapter contains these sections:
Its recommended that all of the subsequent sections must be reviewed before you execute the upgrade tool.
Upgrade OverviewThis section describes the script that is used to upgrade to Meta-Directory 5.1.1. The upgrade script (upgrade.bat on Windows and upgrade.sh on Solaris) is shipped with the Meta-Directory 5.1.1 software and is available along with the setup binary. Once you decompress the software program, the script must be executed from that location itself. It will not run if it is copied and executed from a different location.
The script uses nsPerl 5.8.2 and PerLDAP 1.4.1 which are installed with the Sun ONE Directory Server and with Meta-Directory 5.1.1. The script copies these components to a temporary location (specified by the user), decompresses the files, sets the environment, and then executes another script (upgrade.pl) which performs the upgrade related operations.
Note
Do not run the upgrade.pl script directly, use only upgrade.sh (Solaris) or upgrade.bat (Windows) for any upgrade related operations.
The upgrade script requires a command-line decompress utility to decompress the required binaries. It will prompt for the complete path of this utility to decompress nsperl582.zip file. If you want to perform this step manually, (for example, on Windows if you only have WinZip which is a GUI based utility), you should decompress the files manually and skip this part during the upgrade process.
When you run the script it displays a message “If you want to skip this unzipping part”, type No if you have a command-line decompression utility and want the script to perform the operation. In this case, it first prompts for a new location where it copies the binaries. Make sure its a new location that can be created (appropriate permissions to create a directory in the should be available).
The scripts then decompresses the required binaries, sets the environment, and continues with the upgrade process.
If you choose to skip the decompression part of the upgrade process, then you must do the following:
Using the Upgrade ScriptThis section describes the set of arguments and the options to use to perform the upgrade process. The upgrade process involves running the script twice. First, the script is executed to perform a backup of all the Meta-Directory configuration and server instances. This is run with -U option (upgrade). Then, with the -R option to restore the configuration.
Usage:
upgrade.sh -<U|R> [-h <directory server hostname>] -p <port> -D <Directory Manager> -w <password>
Table 5-1 describes the options used:
Table 5-1 List of options and their description
Option
Description
- U
Upgrade.
Used the first time the script is run for upgrade. This retrieves all the Meta-Directory configuration and stores it in the LDIF files, and then deletes the existing configuration. Once the script is executed with this option, Meta-Directory does not run.The administrator can now uninstall the existing Meta-Directory (5.0/5.0SP1/5.1), and then install Sun ONE Meta-Directory 5.1.1. See Chapter 6, "Uninstalling Meta-Directory," for issues related to the uninstallation process.
- R
Restore.
Used to restore the original Meta-Directory configuration that was created in the backup process. This ensures that the original configuration is restored with the enhancements provided in Meta-Directory 5.1.1.- h
Valid host name (for example, restaurants. madisonparc.com) on which the Directory Server that contains the configuration is running (optional), else, the default would be the localhost.
- p
Port on which the directory server listens (mandatory), no default
- D
Directory Manager DN. For example, cn=Directory Manager. (mandatory)
- w
Directory Managers’ password (mandatory)
For example:
./upgrade.sh -U -h ldap_host -p 389 -D cn=Directory Manager -w dmanager
Step by Step Upgrade ExampleThis section describes the procedure of a typical upgrade process to Sun ONE Meta-Directory 5.1.1.
Before you run the upgrade utility, these conditions must be satisfied:
- Upgrade script should be executed by the Solaris userID or the Windows user name used to install the original servers (typically root for Solaris and administrator for Windows). The script also prompts for the Configuration Administrator password during the restore process.
- All the Meta-Directory servers must be stopped while running the upgrade script.
- Directory Server that contains the configuration must be running.
To perform the upgrade procedure
- Start the Archive process. Run the script with -U option, as described:
- Change directory to the location where Meta-Directory software is decompressed.
- Type the following command. (Replace the arguments as required.)
$ ./upgrade.sh -U -h metadirectory.example.com -p 389 -D cn=Directory Manager -w dmanager
- A message informing about the requirement of a command-line decompression program is displayed. It prompts you to either skip decompression or continue.
- The script prompts for a temporary location to copy and decompress the binaries. Enter a new location (make sure it does not exist).
- The script prompts for the complete path of the decompression program. Enter the complete path where the program is located. The script then copies the binaries to the temporary location and decompresses the binaries. Once complete, goto Step h.
- Create a temporary folder and copy nsperl/nsperl582.zip and perldap/perldap141.zip to this location.
- Decompress these binaries.
Note
You may allow the upgrade script to overwrite any file if it exists. This may occur when attempting to decompress the nsperl582.zip and perldap141.zip files.
- The script prompts for the location where you have already decompressed the binaries. Enter the location and press Return.
- The script sets the environment and executes the upgrade.pl perl script.
- Specify the location of the backup directory or press Enter to accept the default. Make sure that you have write permissions for this location. The script backs up the Meta-Directory configuration to this directory as LDIF files. If the directory exists, an error ‘File Exists’ message is displayed.
The archive process detects the servers installed, backs up all the configuration data in the LDIF files located in the backup directory, and also deletes the existing configuration.
- Uninstall existing Sun ONE Meta-Directory 5.0/5.1. If the Directory Server and Meta-Directory are installed in the same server root, make sure that you deselect all the Directory Server components. Also, restart the machine (on Windows only) when the uninstallation is completed. This ensures that the correct DLLs are always loaded. The following is the sequence of components to be deselected on Windows:
- If you are using Netscape or iPlanet Directory 4.x or 5.0, upgrade to Sun ONE Directory Server 5.1 or later now. Follow the instructions in Directory Server documentation for that.
The following is recommended when upgrading from prior Directory Server versions to Directory Server 5.2:
- On Windows, if iPlanet Directory Server is installed and you are attempting to upgrade to Directory Server 5.2, then first, ensure that you stop all the Directory Servers that are currently running and then install Directory Server 5.2; else, the Directory Server 5.2 installation fails and the ‘libnspr4.dll Access Denied’ message is displayed.
- On Windows with the above case of upgrading existing Directory Server to Directory Server 5.2, nsldap*.dll in SYSTEM32 directory must be removed or renamed; else, the Directory Server 5.2 installation fails and message ‘nsldap32v50.dll Access denied’ is displayed. Restarting the system does not help and you need to manually rename or remove the offending DLLs to be able to complete the installation.
- Upgrading to Directory Server 5.2 from prior Directory Server versions would require you to manually enable the retro-changelog plug-in, since this does not migrated. If this is not completed, Meta-Directory servers do not start after the upgrade process is completed.
- For information on upgrading Directory Server, see Chapter 2 of the Sun ONE Directory Server 5.2 Installation and Tuning Guide. Also, you may need to see, Chapter 6 of the Sun ONE Directory Server 5.2 Reference Manual.
- On a distributed platform the ds jar cannot be downloaded to the Sun ONE console.
- While installing Sun ONE Directory Server 5.1 or later, use the same parameters of the previous Directory Server. This includes the same LDAP port number, Administration Domain, Configuration Admin ID, and Directory Manager ID.
- Having the same port also means that you cannot have both previous and the new Directory Server instances running at the same time. Hence, stop the previous Directory Server instance prior to installing Directory Server 5.1/5.2 and running the upgrade script.
- Run the upgrade script as described the Directory Server Installation Guide about upgrade to Sun ONE Directory Server 5.1/5.2. Once the Directory Server is upgraded, you may proceed with the Meta-Directory upgrade process.
- You may leave the previous Directory Server at its original place. However, do not start the previous Directory Server or run the previous uninstallation program. This could result in permanent loss of configuration and data.
- On Windows, disable the NT Services for the previous Directory Server instance and Administration Server to ensure that they do not get started when the machine is restarted.
- Restore the original configuration by running the script again with the -R option.
- Change directory to the location where Meta-Directory software is decompressed.
- Type the following command. (Replace the arguments as required.)
$ ./upgrade -R -h metadirectory.example.com -p 389 -D cn=Directory Manager -w dmanagerFollow Step c through Step i as described in archive process.
- Specify the backup directory location or press Return to accept the default. Make sure it is the same location that was created during the backup step and that you have write permissions on it. The tool creates new configuration files in the backup directory, with each file prefixed with ?new_?. For example, for the Join Engine (join-engine.ldif) new_join-engine.ldif is created. These LDIF files and other files such as: jvm configuration and request scripts are used to reinstall as a new configuration.
- Provide the configuration admin ID when prompted or press Return to accept the default. Enter the password.
- The tool restores the Meta-Directory configuration and all the servers instances. On Windows, it creates the Windows NT service registry entries for the servers to run.
- To verify a successful upgrade, you should start all the server instances from the Meta-Directory Console and flow sample data appropriately.
Post Upgrade ConfigurationAfter completing the upgrade operation, you must copy the file system directory
If the Perl layer of the UTC connector is not customized and the location of your template.pl file is in the NETSITE_ROOT/utc-<name> directory, then do the following.
After the upgrade operation, when you restore the NETSITE_ROOT/utc-<name> directory, the connector still uses the old template.pl and the three *.pm files. (You would have had backed up the NETSITE_ROOT/utc-<name> directory, before the upgrade.)
Copy the new files (4) from NETSITE/bin/utc50/install/templates/universalparser to the correct location in the NETSITE_ROOT/utc-<name> directory.
In case of the Active Directory and Exchange connector, do the following:
- Create a dummy instance of the connector, with the same parameters except for View Name and View ID. Do not start this connector.
- Goto NETSITE_ROOT/adc-<name>/config or NETSITE_ROOT/exc-<name>/config directory.
- Copy all the files from this directory to the actual connector’s config directory.
- Remove the duty connector.
Known Issues and Limitations
- Does not support migrations across platforms.
- Does not help in migrating the Meta-Directory configurations across different Directory Server installations or one machine to another machine.
- If you are using Netscape Directory Server 4.x, it is recommended to upgrade to Sun ONE Directory Server 5.1 or later. You may leave the prior Directory Server at its original place.
- During the restore process, new ldifs and other configuration files are created. If you have to repeat the restore process, you must make sure you delete all the new files created (starting with new_) in the backup directory and all its sub-directories before starting a new restore.
- No server instance in the Meta-Directory can have the View Name starting with ‘new_’.
- Perl scripts used to configure Universal Text Parser are not updated to the latest version. Manually update these scipts if you require the problems resolved in this release.
TroubleshootingThe following section contains information on troubleshooting problems that may occur when upgrading from prior versions of Meta-Directory to version 5.1.1.
Problem 1
“When upgrading from Meta-Directory 5.1 to Meta-Directory 5.1.1, the operation does not complete if the Oracle Connector View has large number of entries (more than 500K)”
Workaround
Perform the following procedure to upgrade to Meta-Directory 5.1.1
- Stop the Join Engine and all the connectors that are running.
- Disable the Retro-Changelog plug-in and then restart the Directory Server. Ensure that you execute this step to speedup the data backup and restore process.
- Backup cn=proxy views,ou=5,ou=meta-directory,ou=globalpreferences,ou=<admin-domain>,o=netscaperoot tree. The Export Databases command from Directory Server Console can be used to backup this subtree.
- Select the appropriate Directory Server instance from the main console window and click Open to start the Directory Server Console.
- From the Task tab, click Export Databases to display the Export Databases dialog box.
- Select the sub-tree and navigate to the tree mentioned above. Enter the ldif file location in the ‘LDIF File’ field (this will be used to backup the data).
- Click OK which would start data backup in the specified LDIF file.
- Delete the subtree cn=proxy views,ou=5,ou=meta-directory,ou=global preferences,ou=<admin-domain>,o=netscaperoot (see Step 3) from the Directory Server using ldapsearch and ldapdelete commands from the command-line prompt.
Usage:
ldapsearch -h <hostname> -p <port number> -D "cn=Directory Manager" -w <password> -b "o=NetscapeRoot" "(cn:dn:=Proxy Views)" | grep "^dn:" | sed -e ’s/dn: <.*>/\1/’ | ldapdelete -h <hostname> -p <port number> -D "cn=Directory Manager" -w <password>
Replace the hostname, port number and bind password as per your configuration. Make sure that entire subtree including cn=Proxy Views is deleted from the directory.
- Run the upgrade.sh or upgrade.bat file as applicable using -U option. This backs up and deletes the Meta-Directory configuration from the Directory server.
- Uninstall the existing Meta-Directory. On Windows, ensure that you restart the system.
- Install Meta Directory 5.1.1.
- Run the upgrade.sh or upgrade.bat file as applicable using -R option. This restores the prior Meta-Directory configuration.
- Restore the data back from the ldif file that was created (see Step 3). You can use Import Databases command from the Directory server Console.
This command is available in the same location where export databases command is found in Step 3.
- Enable the Retro-Changelog plug-in and then restart the Directory Server.
Now you are ready to start working on with Meta Directory.Problem 2
“Upgrade.pl file fails to upgrade to Meta-Directory 5.1.1 when the configuration (NetscapeRoot) is shared”
Workaround
Perform the following upgrade procedure.
- Backup Meta Directory Configuration
- Backup Meta Directory File Systems
- Un-install Meta Directory
- Install Meta Directory 5.1.1
- Restore configuration from backup
- Restore File Systems from backup
- Add new configuration elements
- Create Windows Service (for Windows-based systems only)
- Backup the Meta-Directory Configuration.
Meta Directory configuration is stored in the configuration directory. You can use the directory server console to perform the backup.
- Start Directory Server Console.
- Double-click the directory instance where configuration is stored.
- Select the Export to LDIF option.
- Backup the following directory sub-trees:
- ou=Meta-Directory,ou=Global Preferences,ou=<admin domain>,o=NetscapeRoot
- Under cn=Server Group(n),cn=<hostname>,ou=<admin domain>,o=NetscapeRoot, back up each Meta Directory Server instance.
You can select the Server Group itself if it has only Meta-Directory servers under it. Be sure to select each Server Group and each host where Meta-Directory servers are installed.
- Backup Meta Directory File Systems.
Each Connector instance and Join Engine has a directory that it uses to store status information. These directories are located under the server root, and are called "join-engine" or <connector-name> (for example, utc-CV1). Back up each of these directories. Make sure that you back up on all the hosts where Meta- Directory is installed.
- Uninstall Meta Directory.
Run the uninstall program on each host where Meta-Directory is installed. On Windows machines, restart the machine to complete the uninstallation operation. Some files may not have been removed by the uninstall program, you may have to remove them manually.
- Install Meta Directory 5.1.1.
Install Meta Directory 5.1.1 on each host, in the same server root. On Windows machines, restart the machine to complete the installation operation. Make sure that you provide the same host name as for the previous installations.
- Restore configuration from backup.
Use the Directory Server Console to restore the configuration from the ldif files created in Step 1.
- Start Directory Server Console.
- Double-click the Directory Server instance where the configuration is stored.
- Select the Import option.
- Select one of the backed up ldif files.
- Make sure that the Continue on Error option is selected and the Add Only option is not selected.
- Click OK. Repeat for all of the backup ldif files created in Step 1.
- From the console, navigate to cn=Server Group, cn=<hostname>, cn=<admin domain>, o=NetscapeRoot and delete the "Netscape Administration Server" sub tree.
- Restore File Systems from backup.
Restore the directories backed up in Step 2. Make sure that the correct directories are restored on each host.
- Add new configuration elements.
Meta-Directory 5.1.1 introduces several new configuration settings. You will need to update the configuration directory manually to include the following options. Use the Directory Server Console to perform this operation. All the DNs listed below are present under "ou=5,ou=Meta-Directory,ou=Global Preferences,ou=<admin domain>,o=netscaperoot"
The following table describes the new configuration settings for each connector type:
Table 5-2 List of connectors and their configuration settings
Connector
New Configuration Settings
Active Directory/Exchange/NT Domain/UTC connectors
- In the "cn=<connector name>,cn=Connectors,cn=System" entry, locate the mdsGeneralConfiguration attribute with the value "PerlDirectory=lib/nsPerlxxx". This contains an old version of Perl. Change it to "PerlDirectory=lib/nsPerl5.8.2".
- In the same entry as above, add the following value for mdsGeneralConfiguration: "DisableAVLTree=0"
MS Exchange/NT Domain Connectors
In the "cn=<connector name>,cn=Connectors,cn=System" entry, add the following value for mdsGeneralConfiguration: "AttributesToBeEscapedLikeDn=member,uniqueMember"
Active Directory Connectors
In the "cn=<connector name>,cn=Connectors,cn=System" entry, add the following value for mdsGeneralConfiguration: "AttributesToBeEscapedLikeDn=member,uniqueMember,mdsAdMember"
Lotus Notes Connectors (Solaris only)
For Lotus Notes connectors running on the Solaris Operating System, in the "cn=1,cn=Tasks,cn=<connector name>,cn=Connectors,cn=System" entry, add the following value for mdsGeneralConfiguration: NotesInstallPath=<directory where Lotus Notes is Installed>
Oracle Data Servers
If you have any Oracle Data Server instances, locate the corresponding entries under "cn=Data Servers" and add the following two values for mdsGeneralConfiguration: "FlushSyncPtList=" and "FlushCVIDList="
Join Engine
The Join Engine configuration is located at "cn=join-engine,cn=Meta-Directories,cn=System". Locate the mdsGeneralConfiguration value of "PerlDirectory=lib/nsPerlxxx". Replace this with "PerlDirectory=lib/nsPerl5.8.2".
8. Create Windows Service (Windows Only)
Use the bundled SC.EXE tool to create Windows services for each join engine/connector instance installed on Windows hosts. The SC.EXE file is installed in the <SERVERROOT>in\<connector type>\adminin\mswin32 directory.
The following command line can be used to create the service:
sc create <service name> binPath=<bin path> type=own start=demand DisplayName= <display name>
Where:
Service name is "SunONE.<connector name>" (for example, SunONE.utc-CV1)The path to the bin directory:
<SERVER_ROOT>/bin/utc50/bin/nsperlconn.exe for UTC connectors
<SERVER_ROOT>/bin/adc50/bin/nsperlconn.exe for Active Directory connectors
<SERVER_ROOT>/bin/exc50/bin/nsperlconn.exe for MS Exchange connectors
<SERVER_ROOT>/bin/ntdc50/bin/nsperlconn.exe for NT Domain connectors
<SERVER_ROOT>/bin/join50/bin/nsmds.exe for Join Engine
<SERVER_ROOT>/bin/ndc50/bin/javaserver.exe for Novell connectors
<SERVER_ROOT>/bin/notes50/bin/javaserver.exe for Lotus Notes connectorsDisplay name is something like "Sun ONE Active Directory Connector (CV1) 5.1a" (including double quotes).