WANdisco Git MultiSite logo

3. Upgrade Guide

Before you upgrade

This guide runs through everything you need to know to get Git MultiSite upgraded, it applies specifically to upgraded Version 1.2.0 to version 1.2.1.

Assumptions

Changes to MultiSite's database format

Some updates may change MultiSite's internal DConE prevayler database format. For the update to work properly you will need to run the transformer tool to convert the currently installed version of git multisites backup file to support the latest prevayler database format. This is discussed in more detail in the Update Procedure below.

Email Notification settings are not preserved

Notification settings (which trigger alert emails) are lost as part of the from 1.2 to 1.2.1. In future upgrades these settings will be preserved.

3.1 Upgrading Git MultiSite - 1.2.0 to 1.2.1

To upgrade from version 1.2.0 to version 1.2.1 use the following procedure:

  1. Connect to each node in the 1.2.0 replication group, by command line, as root.
  2. Backup your 1.2.0 databases on each node using the following command:
    curl --user <admin user>:<admin password> -X POST http://<node ip address>:8082/api/backup
  3. Stop the Git MultSite service on each node:
    service git-multisite stop
  4. Make a backup of the replicator database to allow for rollback:
    cp -r /opt/wandisco/git-multisite/replicator/database/* /path/to/your/backup/directory
  5. Copy the 1.2.1 installer script to each Node and run it as root
  6. Stop the 1.2.1 Git MultiSite service on each node:
    service git-multisite stop
  7. Change to your gitms user:
    su gitms
  8. Optional step
    Transform the 1.2.0 backup (produced in step 2 above) into a 1.2.1 backup that can be restored in step 9 below. Run the following two commands to do this:
    cd /opt/wandisco/git-multisite/replicator
    java -jar transformer-tool.jar -r /path/to/your/backup/directory
  9. As the gitms user, restore from your backup on each node:
    java -jar git-ms-replicator-1.2.1.7-gitmsrestore.jar -c properties/application.properties -r /path/to/your/backup/directory
  10. Exit from your gitms account back to the root account
  11. Start the git-multisite service:
    service git-multisite start
  12. Finally, check the following:
    • All nodes have running replicators.
    • Replicator and GUI versions are showing 1.2.1.
    • You can push to a repository successfully.
    • The pushed change is replicated across the entire replication group.

2.6 Rollback procedure - 1.2.1 to 1.2.0

If you need to roll back to the previous version of Git MultiSite, use the following procedure:

  1. Log in as root on each node.
  2. On each node, uninstall the current version using the following script:
    #This script removes the install of git-multsite to be able to install cleanly
    echo "Removing Git-Multisite RPMS"
    yum remove -y git-multisite git-multisite-gui git-multisite-hook git-multisite-all
    echo "Removing Git-Multisite Directory"
    rm -rf /opt/wandisco/git-multisite
    killall java
    cd /tmp
    rm -rf *
    cd
  3. On each node, re-install the previous version
  4. Stop the git-multisite service:
    service git-multisite stop
  5. Remove the contents of the Git MultiSite database directory:
    rm -r /opt/wandisco/git-multisite/replicator/database/*
  6. Change to the gitms user:
    su gitms
  7. On each node, copy the content of your backed up database directory into place:
    cd /opt/wandisco/git-multisite/replicator/database
    cp -r /path/to/your/backup/directory/* .
  8. Check the database directory and all its contents are owned by gitms:gitms and permissions are set to 755
  9. Exit from your gitms account back to the root account
  10. Restart the git-multisite service:
    service git-multisite start
  11. Finally, check the following:
    • All nodes have running replicators
    • Recplicator and GUI versions are showing 1.2.0
    • You can push to a repository successfully
    • The pushed change is replicated across the entire replication group