WANdisco
Download Call me Whitepaper
 
 
Subsections

6 Validating Setup

6.1 Administrative Requirements

Please ensure the following prior to running the cvsreplicator:

  1. The cvsroot directories on all the replicas match. In other words if host1 uses /data/cvsroot and host2 uses /data2/cvsroot that is not valid. Both host1 and host2 need to use the same root e.g. /data/cvsroot.
  2. The CVS user/passwords on all repository hosts should match. This is required because WANdisco CVS Replicator creates a peer to peer replication system. Any replica of the CVS repository is accessible by every valid CVS user.
  3. The CVS server version across all CVS repositories should match. There is no restriction on the CVS client versions. The CVS server versions need to match as subtle protocol differences can exist even between minor versions of CVS server.
  4. The file and directory level permissions/ACL on CVS repositories must match to ensure a CVS user can commit changes to any CVS repository replica.

6.2 Validation Tools

This is an optional step. After completing the replicator setup, an administrator can run the bundled validation tools to ensure a consistent replicator environment.

In the WANdisco CVS Replicator cvs-replicator/bin directory there are two validation tool:

6.3 Local Setup Validation

Running validate-local-setup will cause checks to be performed based on the configuration specified in prefs.xml, prefs.conf files. In addition the tool will prompt for user input. The tool will print warnings and informational messages to the console. It is best to run the tool with the replicator running so that TCP connectivity can also be verified.

Please double check the warnings to ensure a valid configuration. Here is an output from a run -

$ bin/validate-local-setup 

   =====================================================
   In order to validate local config against remote nodes, 
   you need to save the results from this run in a status file.
   =====================================================

Specify the file to save config status. [./rep-config-tao.status] : 
will save status to - ./rep-config-tao.status 

   =====================================================
   Replicator requires cvs server versions to be exactly same 
   at all sites. Note client versions can be different
   =====================================================

Enter the full path to your cvs server binary. [./cvs] : /usr/bin/cvs
INFO: You selected the cvs binary - /usr/bin/cvs
INFO: You are using cvs server version 1.11.17

   =====================================================
   Replicator requires cvs roots to match across cvs servers
   at all sites. For e.g. if host1 uses /data/cvsroot and host2
   uses /data2/cvsroot that is not valid. Both host1 and host2
   need to use the same root e.g. /data/cvsroot.  This is not 
   required by CVSNT which can use logical repository naming.
   In that case, CVSNT repository prefix must be the same.
   =====================================================

What is the cvsroot you are replicating? [/home/cvsroot] : /data/cvsroot
Need to specify more cvsroots - Y|N? [N] : 
WARNING: the current version (1.4.2_04)  of java (/export/share/apps/jdks/1.4.2/bin/java) 
you are using has known problems. Please upgrade to JDK version 1.5

INFO: Replicator is listening on 0.0.0.0:2410

INFO: Verify Mode is ON, all CVS writes (commit,tag...) will be verified locally first

INFO:CVS Server is listening on localhost:2401

WARNING: Please change the default MAC Address in prefs.xml to
this machine's MAC address 
INFO: cvsrelay prefs.conf file found. Presuming SSH access to CVS is required.
INFO: cvsrelay was able to connect to CVS replicator at (127.0.0.1:2410)

WARNING: Failed to connect to member(196979d3-5aba-11d9-8e24-001111690e1a) at tao:6333

The tool will produce a status file which is used as input to the remote setup validation tool.

6.4 Remote Setup Validation

Running validate-remote-setup allows the administrator to ensure all the replicators in a replication group have consistent settings. For instance, it will check if all of them are using same version of cvs server. In order to run this tool following steps must have been completed already:

  1. run the validate-local-setup tool at each replicator and generate a status file
  2. ensure all the status files are accessible from the node running the validate-remote-setup tool.

Please double check the warnings to ensure a valid configuration. Here is an output from a run -

$ bin/validate-remote-setup 
   =====================================================
   In order to validate the setup of  remote nodes for mutual 
   consistency, you will need to provide the status file generated
   by running "validate-local-setup" at each replicator node.
   =====================================================

Enter fully qualified status file name. [./rep-config-tao.status] :
Need to specify more status files - Y|N? [N] : Y
Enter fully qualified status file name. [./rep-config-tao.status] : ./pee.status
Need to specify more status files - Y|N? [N] : N
WARNING: Number of entries (6) in pee status file doesn't match tao (10)
WARNING: java.minor : "07" on pee doesn't match "04" on tao
WARNING: cvs.version : "1.11.19" on pee doesn't match "1.11.17" on tao
WARNING: cvs.root0 : "/data2/cvsroot" on pee doesn't match "/data/cvsroot" on tao