Running Parallel Instances

If you wish to upgrade RhodeCode Enterprise but retain your old instance before switching over, use the following information.

Note

It is better to contact us before you upgrade so that you have a matching licence token/key pair. Otherwise upgrading from a 1x or 2x version to a RhodeCode Enterprise 3.x version could result in down time. For license inquiries, see the Licence Management section.

Overview

Creating a parallel instance involves the following steps:

  • Copying the original RhodeCode Enterprise configuration .ini file.
  • Copying the database used by RhodeCode Enterprise.
  • Importing and upgrading the copied assets to create a RhodeCode Enterprise 3.x version.

Important

The database contents of the original and copied version will diverge once any more work is carried out on either. This makes these steps useful for setting up an evaluation scenario, but does not mean that the new instance is being kept up to date with changes on the original instance.

Creating a Parallel Instance

  1. Install RhodeCode Control using the instructions in Install RhodeCode Control on Linux or Install RhodeCode Control on Windows.
  2. You need to make a copy of the database used by RhodeCode Enterprise. See the relevant information for your database type to copy safely.
  3. Copy your RhodeCode Enterprise production.ini file. The default location for older RhodeCode Enterprise versions is /home/user/rhodecode/data/production.ini.
  4. Open the copied production.ini file and configure the database connection string to point to your copied database.
#########################################################
### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG    ###
#########################################################
sqlalchemy.db1.url = sqlite:////home/user/.rccontrol/instance-id/rhodecode.db

# Do not use localhost with MySQL DBs
sqlalchemy.db1.url = mysql://root:qweqwe@127.0.0.1/rhodecode
  1. You can now use RhodeCode Control to import and upgrade RhodeCode Enterprise using the copied .ini and database. You also need a VCS Server to run with RhodeCode Enterprise 3.x versions. Use the following example to upgrade to the latest version.
# Install the latest VCS Server
$ rccontrol install VCSServer

# Import original instance
$ rccontrol import /path/to/copied/production.ini

# Check the details of your instance and VCS Server
$ rccontrol status

 - NAME: enterprise-1
 - STATUS: RUNNING
 - TYPE: Enterprise
 - VERSION: 1.5.0
 - URL: http://127.0.0.1:10002

 - NAME: vcsserver-1
 - STATUS: RUNNING
 - TYPE: VCSServer
 - VERSION: 3.5.0
 - URL: http://127.0.0.1:10004

# Upgrade Enterprise 1.5.0 to the latest version
$ rccontrol upgrade enterprise-1
Checking for available update for enterprise-1 @ 1.5.0
Stopped enterprise-1
Initiating upgrade to version 3.5.0
...
Upgrade of RhodeCode Enterprise successful.
Starting instance: enterprise-1
  1. The new instance will still point to your repositories, to have RhodeCode Enterprise pick up that data remap and rescan the repositories. For more information, see the Remap and Rescan section.

Note

After upgrading RhodeCode Enterprise, all users except the Admin will be locked out because the licence token and key in the database won’t match. You need to contact us for a new licence key.