Откат#

Откат к начальным настройкам сервиса не предусмотрен.

Откат сервиса Batch Tasks на предыдущую версию в целевом виде состоит из следующих шагов:

  1. Удалите все развернутые в окружении артефакты сервиса, кроме БД (и информации в БД).

  2. Выполните установку сервиса по соответствующей инструкции.

При внесении необратимых изменений выполните откат к предыдущей версии сервиса.

Note

При откате обратная совместимость и интеграции со смежными компонентами не нарушаются. При интеграции с SecMan откат возможен только до версии 4.9 (в более ранних версиях интеграция с SecMan не поддерживается).

В сервисе Batch Tasks откат схемы БД предусмотрен только на версию 4.11.2 с использованием playbook DB_ROLLBACK Jenkins Job Deploy Tools. Для отката схемы БД:

  1. Перейдите в Jenkins Job Deploy Tools.

  2. Откройте страницу Pipeline DEPLOY, нажав кнопку Собрать с параметрами.

  3. На открывшейся странице в поле CONFIG_DIR из выпадающего списка выберите созданную вами директорию блока, например, tasks.

  4. В поле SUBSYSTEM из выпадающего списка выберите, например, BATCH_TASKS.

  5. В поле DISTRIB_VERSION из выпадающего списка выберите необходимую версию, которая разворачивалась с включенным playbook DB_UPDATE.

  6. В поле выбора кластера выберите VDC01.

  7. В таблице выберите DB_ROLLBACK.

  8. Нажмите кнопку Собрать.

Warning

Откат версии схемы БД возможен при условии используемой версии Jenkins Pipeline не ниже D-01.040.230-1273.

Дополнительная информация приведена в документации компонента Deploy Tools — Механизм автоматического отката установки в Openshift.

Особенности при выполнении отката с версии 4.11.2 и выше на версию 4.10.1 и ниже#

Статус Очередей и Задач в сервисе Batch Tasks:

  • для версии 4.10.1 и ниже — в нижнем регистре;

  • для версии 4.11.0 и выше — в верхнем регистре.

Поэтому при выполнении отката с версии 4.11.2 и выше на версию 4.10.1 и ниже запускается скрипт по переводу статусов Очередей и Задач из верхнего регистра в нижний. Но при выполнении отката БД, без остановки работы старой версии прикладов сервиса (на "горячую") возможно создание новых Задач и Очередей в верхнем регистре, что в результате повлияет на запуск Задач.

Warning

Предусловия

  • Pods сервиса Batch Tasks c версией 4.11.2 и выше подняты;

  • Pods сервиса Batch Tasks c версией 4.10.1 и ниже остановлены.

Note

После выполнения отката на версию 4.10.1 и остановки pods приклада версии 4.11.2, возможно потребуется выполнить обновление статусов Очередей и Задач путем запуска скриптов в БД (основной и репликационной).

Выявление расхождений#

Для определения статусов Очередей и Задач в верхнем регистре в терминале БД:

  • для поиска статуса Очередей в верхнем регистре выполните команду:

select distinct(t.state) from queues t where state = upper(state);
  • для поиска статуса Задач в верхнем регистре выполните команду:

select distinct(t.state) from tasks t where state = upper(state);

В случае наличия статусов в верхнем регистре для любого из запросов, необходимо запустить скрипт по переводу статусов в нижний регистр.

Перевод статусов Очередей и Задач в нижний регистр#

В терминале БД последовательно выполните запросы:

update tasks set state = lower(state) where state = upper(state)
update queues set state = lower(state) where state = upper(state);

Запуск скрипта верификации и изменение размера семафора Очереди#

При получении увеличенного количества записей в таблице tickets после увеличения значения параметра maxRunningTasks, необходимо отследить состояния, из-за которых одновременно запускается количество Задач больше, чем настроено в параметре maxRunningTasks.

При выявлении разности количества записей в таблице tickets и maxRunningTasks в Очередях перезапустите скрипт liquibase.

  1. В Jenkins Job Deploy Tools Перейдите на страницу Pipeline DEPLOY, нажав кнопку Собрать с параметрами.

  2. В таблице выберите playbook DB_UPDATE (запуск liquibase скриптов).

  3. Нажмите кнопку Собрать.

Резервное копирование текущей версии#

Для резервного копирования текущей версии выполните следующие действия:

  1. Зайдите в UI системы оркестрации контейнерами и авторизуйтесь под УЗ, имеющей доступ для развертывания в необходимом проекте.

  2. Нажмите на имя УЗ в UI системы оркестрации контейнерами и выберите "Copy Login Command".

  3. Скопируйте значение "Log in with this token" и выполните в консоли. Пример:

oc login --token=*** --server=https://api.lt-gen.xxx.xxx.ru:xxxx
  1. Выполните резервное копирование текущей версии приложения. Для резервного копирования объектов API на уровне проекта используется oc export для каждого сохраняемого объекта. Например, чтобы сохранить конфигурацию развертывания batch-tasks в формате YAML, выполните команду:

oc export dc batch-tasks -o yaml> dc-batch-tasks.yaml

Чтобы создать резервную копию всего проекта (за исключением объектов кластера, таких как пространства имен и проекты), выполните команду:

oc export all -o yaml> project.yaml

Подробная информация о миграции на текущую версию приведена в документации компонента Журналирование продукта Platform V Monitor.

Использование резервной версии#

Для использования резервной копии выполните следующие действия:

  1. Зайдите в UI системы оркестрации контейнерами и авторизуйтесь под УЗ, имеющей доступ для развертывания в необходимом проекте.

  2. Нажмите Import YAML и загрузите файл project.yaml.