7. Replication of the AccuRev Repository : Installing and Configuring AccuRev in a Replication Environment

Installing and Configuring AccuRev in a Replication Environment
To install AccuRev software for replication, see the AccuRev Installation and Release Notes.
Once AccuRev replication software has been installed, use the procedures below to correctly configure your replica and master server(s).
Caution: Enabling replication poses a potential security risk. Before proceeding, be sure to read Synchronization Security on page 53.
Configure an AccuRev Server as a master server
1.
Log in to the master and stop the AccuRev Server as described in Starting and stopping AccuRev in the AccuRev Installation and Release Notes.
2.
Edit the acserver.cnf file, located in the AccuRev bin directory. Add the following line:
REPLICATION_ENABLED = true
3.
MASTER_AUTHENTICATES_LOGIN = true
4.
Note the MASTER_SERVER and PORT settings in the acserver.cnf file. You’ll need these settings when configuring the replica server below.
5.
6.
Create a new AccuRev username (replica-user) that will be used as the user identity for requests from a replica server.
Configure a Replica server
1.
2.
Edit the acserver.cnf file, which is located in the AccuRev bin directory.
Change the keyword MASTER_SERVER to LOCAL_SERVER, and change the keyword PORT to LOCAL_PORT. But don’t change the value of either setting.
Add new MASTER_SERVER and PORT settings, using the values of these settings on the master server. (These are the settings you noted in Step 4 above..)
After these edits, the four lines might look like this:
MASTER_SERVER = masthost
PORT = 5050
...
LOCAL_SERVER = replhost
LOCAL_PORT = 5050
Note: there is no relationship between the LOCAL_PORT and PORT numbers. They can be the same or different.
Important! After editing acserver.cnf, you must restart the AccuRev server. If you have edited the values for SITE_SLICE_LOC, MASTER_SERVER, or PORT, you must also run the maintain server_properties update command before the new values will take effect. See The ‘maintain’ Utility on page 115 for more information.
Establish an AccuRev User Identity for the AccuRev Server Process
These steps ensure that the replica server process has an AccuRev username (replica-user ) with enough rights to access all the files in the master repository. AccuRev ACL permissions control access to depots and streams for specified AccuRev users and groups.
Caution: As of AccuRev 5.2, your site may have also implemented the optional element-level security (EACLs) feature. If you are using element security (EACLs) to control access to your data, you must ensure that permissions are correctly set for replica-user. If they are not correctly set, the replica may not be able to fetch any data from the master server, or it may be possible for a user to log into the replica and access elements that the replica is not supposed to have access to. See Setting Permissions for a Replica Server on page 64 for more information.
Be sure to use the same replica-user username on both the replica and the master.
1.
Create an operating-system user replica-user, and then log in as that user.
2.
UNIX/Linux: Edit the server configuration file so that replica-user is the identity of the replica AccuRev Server. See Operating-System User Identity of the Server Processes on page 13.
Windows: Reconfigure the AccuRev Server service to run as replica-user, instead of as LocalSystem. In the Control Panel’s Services program: open the Properties window for the AccuRev service, go to the Log On tab, select “This account”, and enter the actual value of replica-user and its Windows password.
3.
Next, establish replica-user’s AccuRev-level credentials:
Set environment variable ACCUREV_HOME to replica-user’s home directory. (Note: Make sure that the path to the home directory does not include any spaces.)
Create a “permanent” session file for user replica-user, for accessing the AccuRev Server on the master server from the client machine replica:
accurev login -n -H <mast-server-host>:<mast-server-port> replica-user
Password: ********
The –n option makes this session file valid indefinitely.
4.
Synchronize the Site Slice
Perform these steps on the replica server:
1.
2.
Run the accurev synctime command to ensure that the replica server time is synchronized with the master server time.
3.
Run the accurev replica sync command to copy site-specific data from the master server to the replica server. In particular, this command makes the AccuRev Server on the replica aware of all the depots on the master server.
Indicate the Depots to be Replicated
The AccuRev repository on the replica server now has an up-to-date site slice, but the repository doesn’t yet contain detailed data on any depots.
1.
Log in to the replica server. See Authenticating a Replica User on the Master on page 58 if you would like to authenticate all replica server logins on the master server.
accurev login repl_user
Password: ********
Note: If repl_user on the replica server and the replica user defined on the master server bear the same name, there are now two session files for repl_user, one for accessing the master server and the other for accessing the replica server.
2.
accurev show -fix depots
In the XML-format output, the depots that exist in the master repository, but are not replicated on the replica server, are listed with this attribute:
ReplStatus = "missing"
3.
For each depot that is to be replicated on the replica server, execute a mkreplica command. For example, if depots named widget, gadget, and cust_support are to be replicated:
> accurev mkreplica -p widget
Created replica of depot ’widget’.
Synchronizing ...
Done.
> accurev mkreplica -p gadget
...
> accurev mkreplica -p cust_support
...

Borland