WANdisco

 Subversion MultiSite v3.7 - Upgrade Guide

wandisco.com | Home | Pre-deployment | Installation | Upgrade | User Guide | Technical Guide | Glossary
*

Upgrade
1. Upgrade using the upgrader script
2. Upgrade using backed-up data
3. Backup your settings
4. Delete directories
5. Extract and run the setup file
6. Browser based setup
7. Import your saved settings

Pre-deployment
1 Introduction
  1.1 Deployment Overview
  1.2 System requirements
  1.3 Setting up repositories
  1.4 Using two or more repositories
    1.4.1 Subversion location directive
    1.4.2 About Subversion ParentPath
  1.5 Using the Authz Module
  1.6 MultiSite and Subversion password files
  1.7 Quorum recommendations
  1.8 Firewalls and virus scanners
  1.9 Deployment checklist
  1.10 Creating a new Subversion repository?
  1.11 Configuring Apache
        1.11.1 Changing Subversion port (Unix)
        1.11.2 Sharing Apache, and Using HTTPS
        1.11.3 Using HTTP with Apache
        1.11.4 Apache and SVNKit
        1.11.4.1 SVNKit and Connection Pooling
        1.11.4.2 Optimize Your Configuration
        1.11.5 Apache 2.2/SVN-DAV (Windows)
2 Installing Java and Perl
  2.1 Installing Java
  2.2 Installing Perl

Installation
1. Installation overview
2. Starting the installation
  2.1 Starting the installation
  2.2 Place your license key
3. Run the setup file
4. Complete setup through a browser
5. Login to the admin console
6. Setting up additional nodes
7. Create a replication group
8. Copy the installation files manually
9. Post installation configuration
  9.1 Using pre-commit hooks

User Guide
1. Procedures
1.1 Disabling Access to Subversions
  1.1.1 (selected nodes)
  1.1.2 (all nodes)
1.2 Establishing a baseline for replication
    1.2.1 Copying the Subversion Database
    1.2.2 Synchronizing with an older copy
    1.2.3 Copying Over the Network
    1.2.4 Sending repositories on disk
1.3 Finding the Last Committed Transaction
1.4 Adding a repository to a replication group
1.5 Removing a Repository from the Replication Group
1.6 Moving a Repository to another replication group
1.7 Adding a Node to the Replication Group
1.8 Removing a Node from the Replication Group
1.9 Creating a New Replication Group
    1.9.1 Considerations
    1.9.2 Considerations for Majority Quorum
    1.9.3 Procedure
1.10 Deleting a Replication Group
1.11 Emergency Reconfiguration of Quorum
1.12 Changing a prefs.xml File
    1.12.1 Changing One Node's prefs.xml File
    1.12.2 Changing All Nodes' prefs.xml Files
1.13 Performing a Synchronized Stop
1.14 Verifying That the replicator is working
1.15 Installing an updated .jar File
1.16 Changing the Distinguished Node
1.17 Using Subversion triggers for sending e-mails
1.18 Toggling the Quorum Check
1.19 Changing the admin console username
1.20 Changing the admin console password
1.21 Resetting or recovering the admin console password
    1.21.1 Restore the admin console password
    1.21.2 Reset the admin console password as "wandisco"
1.22 Setting Up Hooks"
    1.22.1 Pre-Replication Hook"
      1.22.1.1 Configuration
      1.22.1.2 Repository-Specific Hooks
1.23 Selective Replication
1.24 Updating Apache or Subversion
1.25 Checking Repository Consistency

2. Replicator Management
2.1 Setting Replicator to Start Up on System Boot
2.2 Setting up the Replicator as a Windows Service
2.3 Changing the Quorum Type
2.4 About Watchdog Mode
2.5 Temporary Files

3. Troubleshooting
3.1 How Do I Get WANdisco Support?
3.1.1 How Do I Run the Talkback Script?
3.2 General Subversion MultiSite
    3.2.1 Connection Request Timeout Messages
    3.2.2 VPN, NAT, Firewall Timeouts
    3.2.3 A node is in read-only mode
3.3 Error messages
    3.3.1 Missing License Key file
    3.2.1 Connection Request Timeout Messages
    3.3.2 I'm getting a severe exception
    3.3.3 Compressed Stream Invalid
    3.3.4 Java consistency check on relicator restart
3.4 Oops!
    3.4.1 I Directly Committed to Subversion, How Do I Rsync?
    3.4.2 I Pressed Ctrl-C During a Subversion Command

4. Frequently Asked Questions
4.1 Why Are So Many Java Processes Running?
4.2 Can I Store Logs or Content on NFS?
4.3 Why is Installer Configuring IP Addresses as 0.0.0.0?
4.4 Should I Worry About Time Changes or Time Zones?
4.5 Does WANdisco Support Dynamic DNS?
4.6 Can I Use SSH Tunnel to Navigate a Firewall?
4.7 WANdisco Authentication
4.8 Encryption Around WANdisco Protocol
4.9 How Do I Restrict Direct Access to My Repository?
44.10 About MultiSite log files
4.11 How do I deal with failover agent failure?

5 Guide to the Admin Console
5.1. Security
  5.1.1 Create Roles
  5.1.2 List Roles
5.2. User Administration
  5.2.1 Create User
  5.2.2 List Users
  5.2.3 Import Users
  5.2.4 Change Admin Password
5.3. Group Administration
  5.3.1 Create Group
  5.3.2 List Groups
  5.3.3 Assign Users
  5.3.4 Remove Users
  5.3.5 Import Groups
5.4. ACL Administration
  5.4.1 Create ACLS
  5.4.2 List ACLS
  5.4.3 ACL Options
5.5. System
  5.5.1 Log Viewer
  5.5.2 System Settings
  5.5.3 Transaction Status
  5.5.4 Log Level
  5.5.5 Free Memory
  5.5.6 Dashboard
  5.5.7 Export Settings
  5.5.8 Import Settings
5.6. Proxy
  5.6.1 Proxy Status
  5.6.2 Log Viewer
  5.6.3 SVN Settings
  5.6.4 Email Settings
  5.6.5 Change Distinguished Node
  5.6.6 Stop Proxy
  5.6.7 Shut Down Node
  5.6.8 Nodes
  5.6.9 Replication Groups
  5.6.10 Replication Group History
5.7 Reports
  5.7.1 Configure URI
  5.7.2 User Group Report
  5.7.3 Audit Reports

Technical Guide
1. Introduction
2. MultiSite Overview
3 WANdisco Concepts
  3.1 How Replication Works
  3.2 Replication Example
  3.3 WANdisco is Listening
  3.4 Synchronized Stop of all nodes
4. Handling Node and Network Failure



Before you begin

  • Ensure that you work with sufficient user permissions.

  • Ensure you have the latest version downloaded and extracted to a temporary directory on all nodes.

  • Ensure that you have sufficient disk space to create a backup copy of the svn-replicator directory on all nodes

  • The upgrade process should take about 30 minutes, during which time Subversion will be put in a read-only mode. Remember to tell your Subversion users.

  • This process assumes no change have been made to your replication group or nodes. If you are planning on changing your replication group, complete the upgrade first, then make your changes using the admin console.
    See Adding nodes to a replication group

1. Upgrade using the upgrader script

Use this procedure if you are upgrading from one build of Version 3.7 to another.
To upgrade from or to a different version, follow the Upgrade from backup.

At one node:

  • 1.1 Enter the admin console, click on the Proxy tab and click Stop Proxy.

    upgrade01

    Select Synchronized stop all proxies, then click Continue.
    This should ensure that all nodes become read-only, while keeping the repositories in synch. Click on Proxy Status to confirm all nodes have stopped.

    upgrade02

  • At each node:

  • 1.2 Open a terminal session for each of your nodes, making sure you have sufficent permissions.
    At /svn-replicator/bin run:
    ./shutdown
  • 1.3 At each node, run:
    ./reset
    This will ensure that all nodes are in a clean state when restarted.
  • 1.4 Back-up your svn-replicator directory.
  • 1.5 Go to the directory containing your new installation files, eg. <extracted_upgrade_files>/svn-replicator/lib directory and run the upgrader script, using the command:
     java -jar svn-replicator.jar -upgrade <path to your active installation> 
    e.g. java -jar svn-replicator.jar -upgrade /wandisco/svn-replicator

    Read more about using the upgrader script.

  • 1.6 You'll be prompted to confirm that you've taken all the necessary steps before starting the upgrade:
    2) Have you run synchronized stop on replicators at all nodes Y or N ?
    3) Have you run reset command from the /bin directory at all nodes? Y or N ?
    4) Confirm that you wish to upgrade the installation at: /wandisco/svn-replicator
       If you proceed, files will be overwritten. Y or N ?
    Answer "Y" to all prompts. If there's anything you need to complete, open up a new terminal window and complete the requirement before continuing.

  • 1.7 When the upgrade has been completed at all nodes, restart the replicators. Go to /svn-replicator/ and use the command:
    ./svnreplicator
  • 1.8 You can confirm that your version is updated by checking the line at the bottom of the admin console screen. You've now completed the update of your Subversion MultiSite installation.



Using the Upgrader script

You can read more about how to use the upgrader script by running it with the -help flag.

$ java -jar lib/svn-replicator.jar -help

Valid parameters are:

-dprefs show dynamic preferences.
-nodes show node information.
-upgrade <path> upgrade an existing installation at the specified path.
-upgradeNoConfirm <path> upgrade an existing installation at the specified path WITHOUT PROMPTING FOR CONFIRMATION.
-help | -h show help

2. Upgrade using backed-up data

Use this procedure if you are not upgrading from one build of version 3.7 to another. Instead of using the upgrader script you'll back up your data, then upgrade using the setup script. Once the new version of Subversion MultiSite is installed, you'll import your backed-up data.

Stop MultiSite by performing a Synchronized Stop

  • If any nodes are unavailable, the Synchronized Stop will suspend until all nodes are available.
  • When the Synchronized Stop has completed, Subversion will be read-only.

 

1.1 Open the Admin Console, on the left-hand menu click Stop Proxy.

2.2 Check that radio button for "Synchronized Stop of all proxies". MultiSite will now wait for any remaining transactions to complete, after which all nodes will stop listening, stopping replication.

2.3 (At All Nodes) Restart MultiSite.

2.4 Back on your install node, refresh the Proxy tab and click Resume. When the Admin Console has refreshed you'll see the Listening field now shows yes.


3. Backup your settings from the Admin Console

3.1 Open the Admin Console and click on the System tab.

3.2 Click on Export Settings. Confirm the filename and location, then click on Backup Settings. All settings and user data will be exported in the resulting backup xml file.

4. Delete directories that will be recreated during the upgrade

4.1 Copy the svn-replicator to a backup location.

4.2 Back on the install node, create an archive of the config directory, then delete the systemdb.

4.3 In the svn-replicator/config directory, delete the following subdirectories:

membership
security
passwd

5. Extract and run the setup file

5.1 Decompress your new MultiSite archive file.

5.2 Copy the license evaluation key file to the svn-replicator/config directory.

5.3 Go to /svn-replicator/bin/, then start the installation with the following command:

perl setup

Respond to the Yes / No prompt relating to java memory settings.

upgrade01


5.4 The setup will now start up the browser based installer. Open your browser and go to address shown at the end of the setup. This will be the IP of your installation machine, on the WANdisco port (6444 by default).

6.Complete the upgrade through a browser.

6.1 From the Welcome screen, click Continue.


6.2 Once you've read the WANdisco End User License Agreement, click I Agree to continue with the upgrade.


6.3 Enter a password for the default Admin Console account, the username for this account is now admin (for earlier versions it was "root"). Click Next to continue.


6.4 The next two screens explain how MultiSite will act as a proxy between Subversion clients and the Subversion server. Click Next to continue.


6.5 By default, MultiSite will listen on port 80, while Subversion will listen on port 8080. The benefit of this setup is that Subversion end-user don't need to make any changes.


6.6 You'll confirm the proxy settings. These will be populated with the default settings noted in the previous screens.

Node Name: The name that MultiSite will use for this, the first node. The name cannot contain spaces, but can be changed later from the Admin Console.
Node IP: The node's IP.
Bind Host: By default, this uses the wildcard 0.0.0.0 IP that binds to all network interfaces on the node. Read about the benefits of using the wildcard IP

Client Port: By default this is 80, allowing Subversion users to continue without making change to their client setup.
Admin Console Port: 6444 by default. Should you need to use a different port for accessing the Admin Console, restart the setup (step 3.1.3) using the following command:

perl setup <preferred port for Admin Console access>

Once you've finished making any changes to the proxy settings, click Next to continue.


6.7 Setup will check the Apache config file for settings that might cause problems for MultiSite.

If the httpd.conf file isn't found, enter its path into the Configuration File entry box, then click Reload Configuration.

Look out for warning boxes for where setup finds a problem. You'll need to manually edit the httpd.conf file, then click on Reload Configuration to have setup check your changes.

User: Owner of the file.
Group: The group in which the owner belongs.
KeepAlive: Setup will look to see that the Keep-Alive directive is set to On.
KeepAliveRequests: Setup will look for 0, which indicates that no maximum limit will be set for connection requests.
KeepAliveTimeout: Set very high (500,000 seconds) to ensure connections don't timeout.
Listening IP: For a node with multiple IPs, this will indicate the IP used for listening.
Listening Port: The default listening port is 8080.


6.8 Setup now allows you to modify your Subversion settings. Watch for alerts that confirm the port and path that MultiSite will associate with Subversion

SVN Settings

Use Pre-Replication Hooks: Select whether you are using Pre-Replication Hooks.
SVN and WANdisco are on the same server: Confirm if MultiSite and Subversion are running on the same machine, this is a requirement for MultiSite to manage your Subversion password file.
Subversion Server Port: 8080 by default.
SVN Executable:This is the fully qualified path to the Subversion executable. Setup will try to fill this in automatically, otherwise type it into the entry box.
Use authz-based access control Click on the box if you are using Authz access control.

At the bottom of the screen is a table that confirms the DAV Location and password control for your repositories. You can click edit to make changes. You can add additional repositories by clicking Add Repository. To continue setup, click Next.


6.9 You can enter email settings so that MultiSite can send alerts.

SMTP Authentication: If you select No, you'll need to provide your account.
Username and Password in the following entry boxes.
Use SSL/TLS: Choose yes if you wish to send emails over a secure connection.
Host: Enter the address of your mail server.
Port: Enter the SMTP port, 25 by default.
Send Admin Notification To: The email address to where notifications will be sent.

You don't need to provide email settings, in which case, click Skip to continue. Otherwise, click Next.

 

6.10 You have now completed setup. You can go back and make changes or click Complete installation with these settings to save them and restart MultiSite.


6.11 You will next see a Completing Installation screen, which MultiSite restarts. When completed, you'll see the authentication screen for the Admin Console. Enter the username 'admin' and the password you entered during setup to enter.



7. Import your saved settings from the Admin Console

From the Admin Console, click on the System tab. Click on Import Settings. Enter the path to your backup file (exported in step 2.1) or click on the magnifying glass to browser for the file. Click Import Settings.

You've now completed the upgrade to Subversion MultiSite 3.7

Copyright © 2010 WANdisco
All Rights Reserved

This product is protected by copyright and distributed under licenses restricting copying, distribution and decompilation.