The migration tool

With the migrate.py tool, you can migrate your data entirely or partially, and do the required cleanup after migration is complete. The tool also provides logging for the migration process. The tool must be run from the Python 3.x interpreter.

Note: If you are working with the version prior to 2.0.3.11, use Python 2 interpreter to migrate your data, and starting from version 2.0.3.11, use Python 3 interpreter to run the migration process.
You can find the tool in the /siq/migration directory on your StoredIQ® for Legal (VM) system and in the IBM_STOREDIQ_FOR_LEGAL_Vv.r.m.fp_CLOUD/tools/migration directory for StoredIQ for Legal (Container). This directory holds the following content:
  • The jdbc_drivers subdirectory that holds the appropriate IBM® Atlas Policy Suite JDBC driver:
    • ojdbc6.jar for an Oracle Database
    • db2jcc.jar and db2jcc_license_cu.jar for a Db2® database (Supported Db2 versions are version 10.5 and later.)
    Important: This directory is initially empty. You must store a copy of the driver here before you can start migration.
  • The migrate.py migration tool
  • The log4j.properties file that contains the logging configuration.
  • The logs subdirectory to which any output is written that is generated during the migration:
    • migration.log, which contains general log information for each run of the migration tool. Note that this file is overwritten with each run.
    • One or more date subdirectories, where date is the date on which the migration tool was run and the log files were generated. Each of these directories contains this set of files:
      • atlas_to_siq4l_timestamp.log, which contains information about the data that was successfully retrieved from IBM Atlas Policy Suite and put into the staging database. For example, it might list what notices, interviews, and requests were retrieved and transformed to that they can be migrated. It also includes information about the data that is processed in the migration step from the staging database to IBM StoredIQ for Legal. Consider this log file the complete migration output log.

        In addition to any migration information, this log file also holds information that pertains to the deletion of migrated requests.

        You can configure the level of detail for the logging in the log4j.properties file in the parent /siq/migration directory.

      • atlas_to_staging_summary_status_timestamp.txt, which contains the statistics for the "IBM Atlas Policy Suite to staging database" migration step, for example:
        ====== Hold Notice Migration Summary =======
        Total Count   Failed Count   Passed Count
        25              19           6
        ====== Interview Migration Summary =======
        Total Count   Failed Count   Passed Count
        15            3              12
        ====== Request Migration Summary =======
        Total Count   Failed Count   Passed Count
        4             0              4
        
      • staging_to_siq4l_summary_status_timestamp.txt, which contains the statistics for the "staging database to IBM StoredIQ for Legal" migration step, for example:
        Hold Notice Migration Summary
        Total Count   Failed Count   Skipped Count   Passed Count
        25            19             0               6
        Interview Migration Summary  
        Total Count   Failed Count   Skipped Count   Passed Count
        15            3              0               12
        Request Migration Summary  
        Total Count   Failed Count   Skipped Count   Passed Count
        4             0              0               4
        
      • request_deletion_summary_status_timestamp.txt, which contains the statistics for the deletion request, for example:
        Request Deletion Summary Status
        ====== LegalRequest Deletion Summary Stats =======
        Total Count   Failed Count   Passed Count
        17             2              15
      • failed_notices_timestamp.csv, which lists the notices that could not be retrieved from IBM Atlas Policy Suite to be put into the staging database.
      • failed_interviews_timestamp.csv, which lists the interviews that could not be retrieved from IBM Atlas Policy Suite to be put into the staging database.
      • failed_requests_timestamp.csv, which lists the requests that could not be retrieved from IBM Atlas Policy Suite to be put into the staging database.
      • failed_delete_requests_timestamp.csv, which lists the requests that could not be deleted from IBM StoredIQ for Legal.

The tool requires the migration_configuration.json migration configuration file to be present in the /siq/conf directory (for more information, see The migration configuration file).

Basic syntax

The command syntax for the migration tool is as follows:
Read syntax diagramSkip visual syntax diagrammigrate.py -h--helpsubcommand

Command-specific syntax: migrate

Read syntax diagramSkip visual syntax diagrammigrate.pymigrate -h--help-f  path_to_csv--file  path_to_csv-e interviewnoticerequest--entity interviewnoticerequest --stage--resume deployment_typeatlaspwilgadminpw1
Notes:
  • 1 deployment_type, atlaspw, and ilgadminpw are positional parameters.
Where:
-h
--help
Displays help information.

This parameter is optional.

-f path_to_csv
--file path_to_csv
Specifies the path to a CSV file that contains the list of items to migrate. The CSV file must contain two columns. The first column is for holding a reference to the matter ID (matterId), which is not mandatory The second column is for holding a reference to the notice ID (noticeId) for notices and interviews, or the request ID (requestId) for requests. If you omit the matter ID, you must specify a notice ID or a request ID. If you specify just the matter ID, all entities of the type that is specified with the -e option are migrated for this matter. The first row of the CSV file is considered the header and is ignored during processing.

To migrate a selected set of notices, interviews, requests run the tool with the --stage option and specify the --entity parameter.

Depending on your selection for the --entity parameter, the following objects are migrated for a noticeId associated with a hold notice that contains a virtual interview:
  • The tool is run without the --entity option: both the hold notice and the interview are migrated as separate objects.
  • The tool is run with --entity notice: only the hold notice is migrated for this noticeId.
  • The tool is run with --entity interview: only the interview is migrated for this noticeId.

This parameter is optional.

-e interview | notice | request
--entity interview | notice | request
Migrates just interviews or notices or requests. If you do not specify this option, hold notices and interviews are migrated during this run of the tool. For request migration, you must specify this option.

If you did not migrate any IBM Atlas Policy Suite data before, you must manually restart the system after the first migration run for custom attributes to show up in the migration portal.

--stage
Stages the IBM Atlas Policy Suite data for migration.

This parameter is optional.

--resume
Resumes migration from the staging database to IBM StoredIQ for Legal.

This parameter is optional.

deployment_type
Specifies the IBM StoredIQ for Legal deployment type, which can be ova or openshift. The default value is ova.

atlaspwd
Specifies the password part of the credentials that are used to connect to the IBM Atlas Policy Suite database (IBM Atlas Policy Suite schema user password).

This parameter is required.

ilgadminpwd
Specifies the password for the ilgadmin user.

This parameter is required.

At a maximum, 200 entities can be migrated per run.

Command-specific syntax: delete

Use the delete subcommand to delete migrated requests from IBM StoredIQ for Legal including the reporting database.

Read syntax diagramSkip visual syntax diagrammigrate.py delete-h--help-f  path_to_csv--file  path_to_csvrequestdeployment_type1
Notes:
  • 1 request and deployment_type are positional parameters.
Where:
-h
--help
Displays help information.

This parameter is optional.

-f path_to_csv
--file path_to_csv
Specifies the path to a CSV file that contains the list of requests to delete. The CSV file must contain only one column that holds one request ID (requestId) per row. However, the first row is considered the header and is ignored during processing. If you do not provide an input file for selective deletion, all migrated requests are deleted.

This parameter is optional.

request
Specifies the entity type. You can delete only requests. For deleting interviews or notices, use the cleanup subcommand.

This parameter is required.

deployment_type
Specifies the IBM StoredIQ for Legal deployment type, which can be ova or openshift. The default value is ova.

Command-specific syntax: cleanup

Read syntax diagramSkip visual syntax diagrammigrate.pycleanupdeployment_type1 -h--help
Notes:
  • 1 deployment_type is a positional parameter.
Where:
-h
--help
Displays help information.

This parameter is optional.

deployment_type
Specifies the IBM StoredIQ for Legal deployment type, which can be ova or openshift. The default value is ova.