Metadata Migration

Follow the steps on this page to migrate an Incorta solution from one environment to another environment as part of a controlled release management process. Although every organization has their own requirements and processes, common migration paths include:

  • Dev -> Prod
  • Dev -> UAT -> Prod
  • Dev -> QA -> UAT -> Prod

Set up a new environment

Once you set up and test your development tenant, you can move it to UAT or Production. If you have not yet set up a production tenant, you must create it. You can perform a full migration or a partial migration.

In a full migration, you export the full tenant from the development tenant and import it to the other tenant (UAT or Production).

For a partial migration, you export the objects (data sources, schemas, dashboards) that you want to promote from the dev environment and import them to the other tenant (UAT or Production).

If you do not have extra schemas and dashboards in your dev environment, a full migration is easier and takes less time. You may have to perform some clean-up tasks after you import the tenant (for example, remove extra dashboards or insights). Do this the first time you set up the UAT or production environment. After you perform a full migration, use a partial migration to only import altered objects to the UAT or production environment.

If you have many extra objects or you want to import a subset of objects, perform a partial migration. Do this the first time you create a new environment and every time you make changes to only import altered objects to the UAT or production environment.

Perform a Full Tenant Migration

To migrate between environments where you plan to keep the same data source names in each environment, migrate the full tenant using export and import.

See Tenant Management Tool (TMT) for more information on how to use the TMT to export and import tenants. See Cluster Management Console (CMC) for more information on how to use the CMC to export and import tenants.

To perform a full tenant migration using the TMT, perform the following steps. In the examples, the dev tenant name is MyDevTenant on the devCluster Incorta cluster. The examples show how you can import the tenant to the UAT instance on the uatCluster Incorta cluster with the tenant name MyTestTenant.

  1. Export the full tenant from dev.
$ cd <incorta_home>/cmc/tmt
$ ./tmt.sh --clnm devCluster --export MyDevTenant Dev_backup.zip

Incorta creates a dev_backup.zip file.

  1. Move the dev_backup.zip file to the UAT machine into the <incorta_home>/cmc/tmt folder.
  2. Import the tenant into the UAT instance.
$ cd <incorta_home>/cmc/tmt
$ ./tmt.sh --clnm uatCluster --import Dev_backup.zip -on MyTestTenant -op <new tenants path>
  1. Specify a new path for the tenant folder using the -op option. The UAT tenant path may be different from the Dev tenant path.
  2. (Optional) Rename the tenant using the -on option. Skip this option to keep the UAT tenant name the same as the dev tenant name.
  3. Restart tomcat to see the new tenant.
  4. Change the dev data sources to point to the UAT data sources. This is necessary if the data source names are different on the dev tenant and the UAT tenant.
  5. Copy all data source files (CSV or XSLT) from the dev environment (<your tenant data folder>/tenants/MyDevTenant/data) to the UAT environment (<your tenant data folder>/tenants/MyTestTenant/data). Data files are not exported with the tenant.
  6. Import users, groups, and user group assignments from the dev instance to the UAT instance.
  7. Share dashboards with groups.
  8. Set group permissions.

Tips:

  • Use groups, not individual users to make it easier to add new users and share objects.
  • Users created during testing are exported as part of the tenant export. You cannot remove users from the UAT tenant by running the sync script. If the test groups are not in the UAT LDAP server, the users will be removed from the old groups in UAT, so they will lose the access to the dashboards and schemas they had access to in dev environment.
  • You can also export and import data files and metadata with the tenant into the same .zip file using the -cf option. If you have large data source files, export and import using this option can be slow.
  • You can change the admin username and password during the import.

Perform a Partial Migration

If you have a UAT instance, migrate new and modified objects using CLI commands. The Incorta administrator can schedule object migrations developed in Dev to UAT without accessing the Incorta UI. You can migrate the following object types:

  • Data Sources
  • Session variables
  • Physical schemas
  • Business Schemas
  • Dashboards
  • Folders

See CLI Guide for more information on CLI commands.

To perform a partial migration:

  1. Navigate to the <IncortaHome>/IncortaNode/bin directory and find the incorta.sh file to view sample scripts to export and import most object types. Additional sample scripts are available in the export_session_variable_sample.sh file and export_datasource_sample.sh file.
  2. Create a shell script to export objects from the dev tenant. You must create a shell script for export and a separate shell script for import.
  3. Create a shell script to import objects to the UAT tenant.
  4. When importing schemas, add the ‘true’ option at the end, to overwrite any existing schema with the same name already in UAT.
  5. To preserve scheduled refresh jobs in UAT for the same schema, export the schema without the scheduled jobs from Dev.

After Migration

After migration:

  • Test all data source connections
  • Test all session variables
  • If the migration modified a business schema, update the business schema in the target environment. Physical schemas, business schemas, and dashboards must be in sync for Incorta to work as expected.

© Incorta, Inc. All Rights Reserved.