Skip to main content
If your organization has changed Git hosting services, and you therefore need to migrate projects from one supported version control repository to another, Anaconda recommends you follow this high-level process:
  1. Perform pre-migration setup.
  2. Run the project migration script.
  3. Perform post migration cleanup.
  4. Adding collaborators.
Prerequisites:
  • Update the Data Science & AI Workbench config map with the information required to connect to the external version control repository.
  • To run the project migration script, you’ll need Administrator access to a command line tool that can run bash or Python scripts on the master node of the Workbench cluster.
  • Ensure a recent version of git is installed on the master node* You’ll also need the origin Git host token/password, and destination Git host token/password.

Pre-migration setup

  1. If you haven’t already done so, on the master node, change to the directory of the unpacked Workbench installer and install the bootstrap conda environment:
  2. After the environment is finished installing, you might need to log out and log back in to activate the conda environment.
  3. Temporarily disable reverse proxy authentication by adding the following key-value pair to the git section (outside of the storage section in the config map) of the anaconda-enterprise-anaconda-platform.yml file used to configure the platform to use an external version control repository:
    This should look similar to the following:
  4. Run the following command to restart the associated pod on the master node:
  5. Create a user mappings file that maps Workbench user IDs to Git user IDs. This is a colon-separated text file where the first field is the Workbench user name, and the second field is the corresponding Git user name. For example:
    If you intend on migrating to or from a Bitbucket repository, you must use your Bitbucket account ID instead of your Bitbucket username in the user mappings file.

Using the migration tool

Using the migration tool with https instead of http for the internal storage may result in an SSL error.
The migration tool is a Python script, migrate_projects.py, found in the Workbench installation tarball. It can be used in the following ways:
For example, the tool can be used in the following way:
To ensure tokens are not visible in bash history, they can be omitted and can be entered via stdin when running the script.
The postgres password can be left blank. When migrating from Workbench, the origin-token can be left blank. When migrating to Workbench, the dest-token can be left blank.
When migrating to Gitlab Cloud, please use the --cloud flag.

Post-migration cleanup

After the script finishes migrating the projects, re-enable reverse proxy authentication by editing the key-value pair you previously added to the git section of the anaconda-enterprise-anaconda-platform.yml file, so it looks like the following:
If you do not re-enable reverse proxy authentication, Workbench will not work.
To verify that the new repository is being used by Workbench, edit an existing project and commit your changes to it.

Adding collaborators

If you’ve migrated to github, whenever a user is added to a project as a collaborator, they’ll be sent an invitation to collaborate via email. They’ll need to accept this invitation to be able to commit changes to the repository associated with the project. This does not apply to Github Enterprise.