Clone production confluence 4.0.3 for upgrade test
Asked by Paul Daratha:

Hello

We have a very old confluence 4.0.3 which we want to migrate to a newest version. Before doing this I want to clone the confluence to a staging machine where we want to try the migration first.

Is there a simple way to create a one-time copy of whole conflunce 4.0.3 including database content, all settings and license incl. get this running on another machine? This action will not be repeated, so the data does not need to be synched again.

Thanks for any response and help in advise.


Answers:
author: Irwin Schreiman
body: I use VM's. When I do this i clone the machine and then do the upgrade. There are a few steps you'll need to do after cloning to get things working again.

Can you create a VM image of the system and then use a VM player for this.

comments: author: Paul Daratha
body: It is on a VM server but I have no access to the VM Farm Administration. And the server has much more tools and applications installed, which I don't want to get copied and running twice as this could influence the production system.


author: Lars Olav Velle
body: Make an xml backup, transfer it to the new server, and import it there. Make sure attachements are transferred as well :)

<https://confluence.atlassian.com/doc/site-backup-and-restore-163578.html>

Lars


author: Lars Olav Velle
body: Cloning the server is often the easiest way as Irwin points out. Remember to backup your database if that does not reside on the same server.

We do testing all the time. In our lab we automatically check if there is a new vesion of JIRA, Confluence, Bitbucket, Bamboo and FishEye/Crucible every night. If there is a new version, the application is automatically upgraded, and our team is notified by email that there is a new version to test.

This works well in a lab, but not elsewhere. To clone our production environment so that it\`s possible to perform a test upgrade we found it easiest to use use a script that performs rsync and databse export/import automatically. Since the baseurl also changes, this is also done in the script (something like this 'update jiradb.propertystring set propertyvalue="<https://testjira.example.com>" where ID=14043')

If you are interested in a sample of the script i can email it to you.

Cheers,

Lars, Kantega Single Sign-on


author: Brant Schroeder
body: I agree that using a VM is the best solution. If it is not an option for you you can follow Atlassian's steps to migrate it to another server. I have done this in the past and it is very easy to do. Information can be found here: <https://confluence.atlassian.com/doc/migrating-confluence-between-servers-184150.html>

Irwins solution is the best though.

comments: author: Paul Daratha
body: I have an issue with the documentation. This rely on the installation of the Confluence on a new server/machine first. But I cannot find the installer for the old 4.0.3 version anymore.


author: Lars Olav Velle
body: It right here: <https://www.atlassian.com/software/confluence/download-archives>

Performing an xml-backup/restore does not require you to import it to the same version though.

Looks like you have to go to 4.3, then 5.10, then 6.x.

<https://confluence.atlassian.com/doc/upgrading-confluence-4578.html>

Good luck!


author: Brant Schroeder
body: Paul,

Lars provided the information that you need. We also use VMs and just script out the changes for our base url, application links and DB connection. Hopefully you were able to clone your production box without too much trouble.

Thanks  
Brant


author: Paul Daratha
body: Thanks, this was also my hope.

But following the installation of copy and restoring the content the process suddenly failed at 11% and stucked for the whole day without any progress.

Now the system is not reachable at all anymore with an fatal exception:  
*Unable to start up Confluence. Fatal error during startup sequence: confluence.lifecycle.core:mananagedjobs (Start and stop the Managed Scheduled Jobs) - org.springframework.dao.DataIntegrityViolationException: Hibernate operation: could not insert: \[com.atlassian.confluence.setup.bandana.ConfluenceBandanaRecord#2\]; SQL \[\]; integrity constraint violation: unique constraint or index violation; SYS_PK_10054 table: BANDANA; nested exception is java.sql.SQLIntegrityConstraintViolationException: integrity constraint violation: unique constraint or index violation; SYS_PK_10054 table: BANDANA*

Looks that simple import did not worked into a fresh system. Unfortunately Confluence does not allow a second import anymore. Now I have too look how to get a clean system again. Seems not be easy as expected.

Paul.


author: Lars Olav Velle
body: Make sure the database is compatible with the version you are upgrading to. You could take a snapshot before uploading the backup file. This way you can revert to a previos state of the new server