Page tree

Outdated release! Latest docs are Release 8.2: Migrate Configurations

   

Contents:


After you have completed the upgrade of the software on the Trifacta node, you may need to migrate some pre-upgrade configuration values to the new environment. 

These migrations steps should be performed whenever you upgrade between any two versions, even if you have not modified any configuration values. If there are no migrations to be performed, the process does not harm.


Do not restart the software until instructed to do so.

Prep

Data Service properties

NOTE: This step applies if you are upgrading from a pre-Release 7.1 to Release 7.1 or later.

After the platform has been upgraded to Release 7.1, some of the migrated properties are submitted from the application.properties file used to configure the data service. These properties are no longer directly editable by users.

If you have modified property values in application.properties, you must migrate your old values into the new application.properties file to retain your customized property values. The migration process gathers these values from the application.properties file and inserts them as the new values in the Configuration Service database. If you fail to complete these steps and need to retain our change property values, please contact Trifacta Customer Success Services.

Steps:

  1. Login to the Trifacta node. Navigate to the following directory:

    /opt/trifacta/conf/data-service
  2. Perform a diff between the following two files:

    1. application.properties.rpmsave (pre-upgrade file)

    2. application.properties (file used during migration)

  3. Merge property values:

    NOTE: Property values in application.properties.rpmsave must be migrated into application.properties for inclusion in the Configuration Service database or (if not migrated) preservation in the upgraded deployment.

  4. Save the file. You should archive the rpmsave version to a location outside of the }Trifacta deployment.
  5. Complete the rest of the steps to migrate your configuration in the sections below.
  6. When the platform is restarted at the end of the migration process, the property values in your pre-upgrade application.properties are inserted as the new values for the properties maintained in the Configuration Service database.

Migrate Values to Configuration Service

The Trifacta platform references the Configuration Service, which provides database-managed, multi-tiered configuration. This service requires:

  1. A dedicated database, which must be installed and configured.
  2. Migration of any pre-upgrade values to
    trifacta-conf.json
    settings that are now managed in Configuration Service.

These steps are managed via scripts described in the sections below.

1 - Export configuration values

You must export your old configuration so that it can be re-ingested post-upgrade into the new Configuration Service. Details are provided later in this workflow.  

Tip: You must run this script after you have installed the software, which installs the script but before you restart the platform, which migrates to the new configuration setup and removes the old values.

Run the following commands as the [os.user (default=trifacta)]:

source /opt/trifacta/conf/env.sh
cd /opt/trifacta/tools/config-service-tools
node src/create-imports.js

NOTE: Create a backup of the file containing the parameter values (migrated_triconf_values.json) outside of the Trifacta install directory

2 - Create new databases

NOTE: Please stop the databases before you create the new ones.

After upgrade, you may need to create new databases depending on your pre- and post-upgrade releases.

For more information, see Install Databases in the Databases Guide.

Modify pg_hba.conf (PostgreSQL only)

Any new databases must be referenced in pg_hba.conf.

Steps:

  1. Locate the sample Postgres configuration file:

    /opt/trifacta/bin/setup-utils/db/pg_hba.conf.SAMPLE
  2. If you are upgrading and have customizations in your existing version, you must apply the edits in the above to the following file. Otherwise, overwrite the following file with the above one based on your operating system:
    1. CentOS/RHEL dir: /var/lib/pgsql/9.6/data/pg_hba.conf
    2. Ubuntu dir: /etc/postgresql/9.6/main/pg_hba.conf

  3. From the SAMPLE file, copy the appropriate declarations and paste them into the production pg_hba.conf file above any other declarations.

    1. For more information on the declarations, see Configure the Databases in the Databases Guide.

  4. Save the file.

  5. Restart PostgreSQL.
Create DBs
  1. Run the following script, which creates any new databases and users and roles for accessing them.

    1. PostgreSQL:

      sudo /opt/trifacta/bin/setup-utils/db/trifacta-create-postgres-roles-dbs.sh
    2. MySQL:

      /opt/trifacta/bin/setup-utils/db/trifacta-create-mysql-users-dbs.sh -u <MySql_admin_username> -w <MySql_admin_password>
    3. See Create Databases and Users in the Databases Guide.
  2. Restart the databases.

Import configuration values

The Configuration Service database must be loaded with the exported configuration values. For more information on the specific properties that have been migrated, see Changes to Configuration in the Release Notes Guide.

Steps:

  1. If you have not done so already, create a backup of the file containing the migrated parameter values (migrated_triconf_values.json) outside of the Trifacta install directory

  2. Start the platform:

    sudo service trifacta start
  3. Import the configuration values that you exported before upgrading as the [os.user (default=trifacta)].

    source /opt/trifacta/conf/env.sh
    /opt/trifacta/services/configuration-service/bin/import.sh -f /opt/trifacta/tools/config-service-tools/resources/migrate.conf
  4. (optional) You can modify post-upgrade any of the values in the Configuration Service. Some of these values are available through the Workspace Settings page of the application.

    NOTE: Changing these values after import overwrites the imported values.

    vi /opt/trifacta/tools/config-service-tools/resources/migrated_triconf_values.json
    /opt/trifacta/services/configuration-service/bin/import.sh -f /opt/trifacta/tools/config-service-tools/resources/migrate.conf
  5. You should perform a backup of the Configuration Service database after completing the import. See Backup and Recovery in the Admin Guide.

Merge Customized Configuration Files

After upgrading the software, you should scan the install directory tree for .rpmnew files. These files are the default versions of configuration files from the new software distribution that were written in parallel to a modified configuration file from the previous version.

Steps:

  1. Review the following directories and files for .rpmnew versions:

    /opt/trifacta/conf/env.sh
    /opt/trifacta/conf/nginx.conf
    /opt/trifacta/conf/supervisord.conf
    /etc/init.d/trifacta
    /opt/trifacta/pkg3p/tripache/conf/conf.d/*
  2. Configuration settings from the old files must be explicitly merged into the new files (*.rpmnew). 
  3. Remove old files from Trifacta install directory:
    1. Create a directory outside of the Trifacta install directory.
    2. Move all of the config files from the previous version into this directory.

      NOTE: Do not leave the old config files in the install directory. There should not be multiple configuration files of the same kind.

    3. Rename these old config files outside of the directory to include a .backup extension. You could also put the version number of the config file. 
  4. The .rpmnew extension must be removed from the new files.
  5. Your previous configuration should be carried forward into the new version.

Next Steps

While the platform can now start, you should avoid doing so until have you completed all required steps in this guide.

NOTE: Please be sure to review any post-upgrade instructions and perform any post-upgrade cleanup in the following sections.

This page has no comments.