Перейти к содержанию

Миграция кластера Teamstorm v2 -> v3

Миграция баз данных

  1. В файле конфигурации сервиса teamstorm/templates/configmaps/workspace-configmap.yaml раскомментируйте и измените следующие строки подключения к базам TestIt:

    ...
    # TESTIT_AVATAR_CONNECTION_STRING: "Host=${TESTIT_DEFAULT_HOST};Port=${TESTIT_DEFAULT_PORT};Database=testit_avatarsdb;Username=${TESTIT_AVATARS_USER};Password=${TESTIT_AVATARS_PASSWORD};"
    # TESTIT_LICENSE_CONNECTION_STRING: "Host=${TESTIT_DEFAULT_HOST};Port=${TESTIT_DEFAULT_PORT};Database=testit_licensedb;Username=${TESTIT_LICENSE_USER};Password=${TESTIT_LICENSE_PASSWORD};"
    # TESTIT_AUTH_CONNECTION_STRING: "Host=${TESTIT_DEFAULT_HOST};Port=${TESTIT_DEFAULT_PORT};Database=testit_authdb;Username=${TESTIT_AUTH_USER};Password=${TESTIT_AUTH_PASSWORD};"
    
  2. Выполните все необходимые операции по переконфигурации кластера. В основном это касается настроек ingress контроллера, который теперь находится внутри кластера Teamstorm.

  3. Запустите команду установки кластера. Если миграции пройдут успешно, то ваши лицензии, пользователи и подключения корректно смигрируют в базы данных Teamstorm.

  4. В случае возникновения проблем с соединением и других ошибок миграций, можно сбросить состояние базы данных teamstorm_workspace к исходному, для повторной попытки. Для этого нужно выполнить следующий SQL-скрипт:

   DELETE FROM public.groups;
   DELETE FROM public.licenses;
   DELETE FROM public.private_tokens;
   DELETE FROM public.provider_icons;
   DELETE FROM public.providers;
   DELETE FROM public.roles_groups;
   DELETE FROM public.roles;
   DELETE FROM public.system_configurations;
   DELETE FROM public.user_avatars;
   DELETE FROM public.user_groups;
   DELETE FROM public.user_roles;
   DELETE FROM public.users;
   DELETE FROM public."__EFMigrationsHistory"
   WHERE public."__EFMigrationsHistory".migration_id ilike '%MigrateLicenseDataFROMTestIt%'
      OR public."__EFMigrationsHistory".migration_id ilike '%MigrateAvatarDataFROMTestIt%'
      OR public."__EFMigrationsHistory".migration_id ilike '%MigrateAuthDataFROMTestIt%'
      OR public."__EFMigrationsHistory".migration_id ilike '%RemoveDeletedRoleGroups%'
      OR public."__EFMigrationsHistory".migration_id ilike '%UpdateUniqueExtranalIdConstraint%';
   COMMIT;

Миграция вложений

Перенесите вложения minio. Это можно сделать разными способами в зависимости от конфигурации вашего кластера:

  1. C помощью утилит mc или awscli;

  2. C помощью утилиты rsync;

  3. C помощью перемонтирования раздела testit_minio -> teamstorm_minio.