PingDirectory

Reverting an update

After the server has been updated, you can revert to the last version or one level back using the revert-update command.

About this task

The revert-update command accesses a log of file actions taken by the updater to put the file system back to its prior state. If you have run multiple updates, you can run the revert-update command multiple times to revert to each prior update sequentially. You can only revert back one level. For example, if you have run the update twice since first installing the server, you can run the revert-update command to revert to its previous state, then run the revert-update command again to return to its original state. The following steps detail reverting from 7.x to a version earler than 7.0.

When starting up the server for the first time after a revert has been run, and the necessary extra steps have been completed, the server displays warnings about "offline configuration changes," but they are not critical and do not appear on subsequent start ups.

To revert to the most recent server version:

Steps

  • Run the revert-update command in the server root directory to revert back to the most recent version of the server.

    Example:

    $ PingDirectory-old/revert-update

Next steps

Reverting from the 7.0 version or later to a version earlier than 7.0 using the revert-update command might require extra steps. This is also the case when updating or reverting from a version earlier than 6.2.0.2 to a 6.2.0.2 version or later. These steps are listed when the update and revert-update command are run as well. Depending on your installation and configuration, you might need to perform one or more of the following tasks:

  • When updating or reverting from 6.2.0.2 or later to a version earlier than 6.2.0.2, indexes might need to be rebuilt. Older versions of the server use an incompatible format for Local DB Composite Indexes. To update a server with composite indexes in the previous format, delete these indexes and re-run the update. After the update is complete, recreate the indexes and rebuild the indexes using the rebuild-index command. The command for recreating an index is in the Undo portion of the logs/config-audit.log file. To later revert to an older version, delete and recreate those composite indexes again after the revert process completes.

  • When updating to 7.x for the first time, instance names must be set for each server in the topology if they were not previously set. This is done with the following dsconfig command.

    $ bin/dsconfig --bindDN "cn=Directory Manager" \
      --bindPassword secret \
      --no-prompt set-global-configuration-prop \
      --set instance-name:<name>
  • Topology information such as server instances, instance and secret keys, server groups, and administrator users have moved to the topology portion of the configuration from the admin backend. As long as new servers are not added to the topology after this update, you can use the revert-update command to return to the previous version. However, if new servers are added, then the restored admin backend of this server does not contain information about the new servers, and the local server cannot communicate with any other servers in the topology. New servers should not be added to the topology if reverting this update is a possibility.

  • If new servers were added to the topology after the update, the new servers must be temporarily removed from the topology until all servers have been reverted to the previous version.

  • When a server is reverted to a version earlier than 7.x, any servers in the topology using the topology portion of the configuration rather than the admin backend must know that the reverted server was downgraded to the admin backend. To do this, run the following dsconfig command on one of the servers that has not been reverted.

    $ bin/dsconfig set-server-instance-prop \
      --instance-name <Reverted server instance name> \
      --set server-version:<Version to which server is reverted>
  • If the topology does not have a primary server when this command is run, the revert-update will not succeed. In this case, you must make one of the remaining updated servers in the topology the primary with the following command. This enables the chosen instance to run the revert-update command successfully.

    $ bin/dsconfig set-global-configuration-prop \
      --set force-as-master-for-mirrored-data:true
  • The 7.x server version includes database changes that are not compatible with previous server versions, such as 6.x or earlier. To later revert to an older version, you must export the data to LDIF before performing the reversion. Then, re-import the data after the revert process completes. In addition, you must delete the changelogDb/ and db/changelog/ directories in the reverted server root after the revert process completes.