Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

These steps are provided as guidelines and extreme care must be taken during such migrations. This process is set up for Tomcat but variations of this process can be applied to WebLogic as well.

Warning

Make sure the source environment is Stopped before proceeding so that we have an accurate copy.

Export-Import Database

  • Export data from source FlexDeploy database.

  • Import data into target FlexDeploy database.

Export

...

Metrics Data

  • Startup InfluxDB so that the time series data can be exported from the source database.

    Code Block
    languagebash
    -- Start up InfluxDB.
  • You can determine 
  • the
  • working 
  • bin
  • folder 
  • directory
  • by looking at 
  • the classpath for the FlexDeploy process on the server command line
  • flexagon.fd.application.root system property
    cd /flexdeploy/apache-tomcat-flexdeploy/bin
    ./influxd-start.sh
  • Take a backup of the data present in the source Influx database.

    Code Block
    languagebash
    -- Create a backup of all the data and resources in the source InfluxDB
    cd /flexdeploy/influxdb
    mkdir backup
    ./influx backup ./backup/
    tar -czvf /app/backup/flexdeploy_influx_data.tar.gz ./backup/*
    rm -rf ./backup
  • Copy tar files to the target FlexDeploy server and extract it in the same location as the source.

    Code Block
    cd /flexdeploy/influxdb
    mkdir restore
    tar -xzvf /app/backup/flexdeploy_influx_data.tar.gz -C ./restore
  • Stop the Influx database running on the source server.

    Code Block
    -- Stop InfluxDB. You can determine working folder by looking at flexagon.fd.application.root system property
    cd /flexdeploy/apache-tomcat-flexdeploy/bin
    ./influxd-stop.sh

Copy Artifact Repository, Plugins Folder, Application Binaries

Goal is to just copy the installation and artifact repository to target server. If artifacts and install is done under one common folder, then you can just create one tar for entire set of folders.

  • Create tar/zip archive of artifact repository, application binaries, plugins folder etc. on Source server. If you have all folders under one root folder which can be copied then archive entire folder that contains artifact repository, application binaries, plugins folder.

Code Block
-- tar/zip artifacts files, You can determine artifacts repository folder by looking at flexagon.fd.repository.root system property on server command line
cd /flexdeploy/artifacts
tar -czvf /app/backup/flexdeploy_artifacts.tar.gz *
-- tar/zip plugins folder, You can determine working folder by looking at flexagon.fd.application.root system property on server command line
cd /flexdeploy/application/plugins
tar -czvf /app/backup/flexdeploy_plugins.tar.gz *
-- tar/zip influxdb folder, You can determine working folder by looking at flexagon.fd.application.root system property on server command line
cd /flexdeploy/influxdb
tar -czvf /app/backup/flexdeploy_influx.tar.gz *
  • Copy tar files to target FlexDeploy server and extract it in same location as source. If location is different, some files may need adjustment. (For example, setenv.sh, config.yaml)

Code Block
-- extract artifacts files, You can determine artifacts repository folder by looking at flexagon.fd.repository.root system property on server command line
cd /flexdeploy/artifacts
rm -rf *
tar -xzvf /app/backup/flexdeploy_artifacts_prod.tar.gz
-- extract plugins folder, You can determine working folder by looking at flexagon.fd.application.root system property on server command line
cd /flexdeploy/application/plugins
rm -rf *
tar -xzvf /app/backup/flexdeploy_plugins.tar.gz
-- extract plugins folder, You can determine working folder by looking at flexagon.fd.application.root system property on server command line
cd /flexdeploy/influxdb
rm -rf *
tar -xzvf /app/backup/flexdeploy_influx.tar.gz

Import Metrics Data

  • Start up the Influx database so that the time series data can be imported into the target.

  • Initialize InfluxDB with org on the target server.

    Code Block
    -- Initialize InfluxDB org. You can determine working folder by looking at flexagon.fd.application.root system property on server command line
    cd /flexdeploy/influxdb
    -- Modify the values in the command below to what you used in the installer config in the source server
    ./influx setup --bucket flexbucket --token <token> --org flexdeploy --username=flexuser --password=<password> --host=http://localhost:8086 --force
  • Import data backed up from the source to the target Influx database.

    Code Block
    -- Import all the data from the source InfluxDB. You can determine working folder by looking at flexagon.fd.application.root system property on server command line
    cd /flexdeploy/influxdb
    ./influx restore --full ./restore/
    rm -rf ./restore
  • Stop the Influx database running on the target server.

  • Verify that the config.yaml in /flexdeploy/influxdb/config directory reference to a valid path for the bolt-path, engine-path and the sqlite-path attributes

Final configuration and start server

Warning

Do not start yet as copied installation is still pointing to source database.

  • Update context.xml with target database URL and password for fd_admin user.

  • Now start target FlexDeploy and validate it.

  • Update System Settings as appropriate.

    • Change FD_SERVER_BASE_URL.

    • Change SMTP_FROM_ADDRESS. This will make sure that emails are coming from different

  • address
    • addresses for Test FlexDeploy.