KBEC-00397 - Workarounds for a Built-In Database Schema on Disk That Is Older than Required by the CloudBees CD (CloudBees Flow) Server for Upgrade

Description

During an upgrade, the installer displays the following error message:

CloudBees CD (CloudBees Flow) is configured to use the built-in database. The built-in database on disk has a schema intended for CloudBees CD (CloudBees Flow) version , which is older than that needed by this CloudBees CD (CloudBees Flow)  server. CloudBees CD (CloudBees Flow) does not support version upgrades of the built-in database, so the CloudBees CD (CloudBees Flow) server cannot start. For options to resolve this issue, see the "Troubleshooting" chapter of the "CloudBees CD (CloudBees Flow) Installation Guide"

This problem occurs because starting with CloudBees CD (CloudBees Flow) version 8.0, Electric Cloud does not support upgrades from CloudBees CD (CloudBees Flow) versions that use HSQLDB. HSQLDB is the built-in (default) database that was replaced by MariaDB in CloudBees CD (CloudBees Flow) version 8.3 as the built-in database.

Workarounds

Because the HSQLDB database in CloudBees CD (CloudBees Flow) is not upgradeable, to work around this issue, you can either point to a supported database, wipe the database (if you do not need its contents), or migrate the database contents to a database supported by CloudBees CD (CloudBees Flow).

Pointing to a Supported Database

To point to a different CloudBees CD (CloudBees Flow)-supported database, modify the database.properties file to point to that database.

Wiping the Database Contents

If you do not need the contents of the built-in database, complete the following steps:

  1. Back up the database.

    For details, see “CloudBees CD (CloudBees Flow) Server Backups” in the CloudBees CD (CloudBees Flow) Installation Guide at http://docs.electric-cloud.com/eflow_doc/FlowIndex.html.

  1. Delete the files and folders whose names match the pattern:

    /builtin/commander.*

Migrating the Database Contents to a Supported Database

If you do need the contents of the built-in database, complete the following steps:

  1. Back up your \builtin folder and your \conf\database.properties, passkey, and keystore files (or simply back up the entire \conf folder).

  2. Reinstall the prior CloudBees CD (CloudBees Flow) version by using the following substeps:

    a. Uninstall the newer instance that is not working.

    b. Install the prior version again, which will use a new built-in database by default.

    Note: If you installed the DevOps Insight server on the same system, you must use a different and for this CloudBees CD (CloudBees Flow) server installation.

    c. After the CommanderServer service starts (meaning that the plugins are installed and so on) and you can log into the installed version from substep b, stop the CommanderServer service.

    d. Back up the new \builtin and \conf folders and replace them with the folders that you backed up in step 1.

    e. Restart the new CommanderServer service. It should now use the original built-in database containing your data and should function properly.

  3. Do a full export of the database contents.

    For details, see “CloudBees CD (CloudBees Flow) Server Backups” in the CloudBees CD (CloudBees Flow) Installation Guide at http://docs.electric-cloud.com/eflow_doc/FlowIndex.html.

  1. Switch to another production-quality database that CloudBees CD (CloudBees Flow) supports.

    For details, see “Configuring CloudBees CD (CloudBees Flow) to Use an Alternate Database” in the CloudBees CD (CloudBees Flow) Installation Guide at http://docs.electric-cloud.com/eflow_doc/FlowIndex.html.

  1. Do a full import of your data to the new database.

    For details, see “CloudBees CD (CloudBees Flow) Server Restores” in the CloudBees CD (CloudBees Flow) Installation Guide at http://docs.electric-cloud.com/eflow_doc/FlowIndex.html.

  1. Re-upgrade CloudBees CD (CloudBees Flow).

Have more questions?

0 Comments

Please sign in to leave a comment.