Skip to content

Post migration guidelines

mihir jha edited this page Apr 18, 2024 · 36 revisions

Manual Verification

  • In the target workspace, validate # of Project Files and File size, Project settings
  • In the target workspace, the user's public SSH key (User Settings -> Outbound SSH) will be different from the source. Please remember to update the SSH key in all external locations, such as the github repository. *## ## After the migration, the Model API key and endpoint URL will be different from the source. Kindly ensure that you update all applications that utilize these APIs.
  • Jobs in Target Workspace will have spark addon enabled by default. Please disable or change the spark version if needed.
  • Admins can change the ownership of the project post migration. Check the FAQs section.
  • To add collaborators to the project follow the steps.
  • You can export the custom grafana dashboards from CDSW and import them to CML following the steps here Export and import.
  • Validate workloads running within the project. All the Models/Jobs/applications are created in paused or stopped state in the destination workspace, so all the artifacts should be restarted post migration. Before starting the Models, Jobs or Application in the destination workspace, the corresponding workloads should be stopped in the source workspace to avoid any data corruption if both are accessing the same data.

Automated Verification

After the migration, you can execute the command below to validate the successful migration of the project. The provided command will validate the following:

  1. The similarity of project files between the source and local directories.
  2. The similarity of project files between the local directory and the destination.
  3. The consistency in the count of Jobs, Models, and Applications between the source and destination.
  4. The similarity in the metadata of Jobs, Models, and Applications between the source and destination.

Out of scope:

During the automated verification process, it's essential to consider the following Behaviour:

  • Job Dependencies Validation: The migration command does not validate job dependencies at the source and destination. Ensure that all necessary job dependencies are manually verified to maintain workflow integrity.

  • Environment Variables: The verification process does not validate environment variables, as these variables may differ between the source and destination project. Manually verify any environment-specific configurations or variables to ensure proper functionality.

  • Hidden Files or Continuously Updating Files: If your project contains hidden files or files that are continuously updated, it's recommended to exclude such files from validation by adding them to the .exportignore file at the root of the source project. This ensures a more accurate comparison and prevents unnecessary discrepancies during the verification process.

  • Runtime or Engine: It's worth noting that this tool does not undertake the validation of runtime or engine-related information between the source and destination. Hence, it remains the user's responsibility to ensure the accuracy and compatibility of such details.

Prerequisites

Before proceeding, ensure the following:

  1. You have access to the cmlutil command-line utility.
  2. Python and the necessary dependencies are installed.
  3. Project details are added in export-config.ini and import-config.ini
  4. Please make sure not to make any changes to source and destination before starting validation

Steps

Follow these steps to validate project migration:

  1. Run the Validation Command: Open a terminal or command prompt and run the following command:

Note: If you wish to skip certain files or directories during validation, add the details in .exportignore file at the root of Source project (i.e. /home/cdsw). The .exportignore file follows the same semantics as that of .gitgnore.

   cmlutil project validate-migration -p <project name>

or

    cmlutil project validate-migration --project_name <project name>

Note: Replace the project name with the project that is already imported

It's important to consider these limitations while interpreting the results of the automated verification process to ensure the accuracy and reliability of the migration.