Откат#
Откат к начальным настройкам сервиса не предусмотрен.
Откат сервиса Batch Tasks на предыдущую версию в целевом виде состоит из следующих шагов:
Удалите все развернутые в окружении артефакты сервиса, кроме БД (и информации в БД).
Выполните установку сервиса по соответствующей инструкции.
При внесении необратимых изменений выполните откат к предыдущей версии сервиса.
Note
При откате обратная совместимость и интеграции со смежными компонентами не нарушаются. При интеграции с SecMan откат возможен только до версии 4.9 (в более ранних версиях интеграция с SecMan не поддерживается).
В сервисе Batch Tasks откат схемы БД предусмотрен только на версию 4.11.2 с использованием playbook DB_ROLLBACK Jenkins Job Deploy Tools. Для отката схемы БД:
Перейдите в Jenkins Job Deploy Tools.
Откройте страницу Pipeline DEPLOY, нажав кнопку Собрать с параметрами.
На открывшейся странице в поле CONFIG_DIR из выпадающего списка выберите созданную вами директорию блока, например,
tasks.В поле SUBSYSTEM из выпадающего списка выберите, например, BATCH_TASKS.
В поле DISTRIB_VERSION из выпадающего списка выберите необходимую версию, которая разворачивалась с включенным playbook
DB_UPDATE.В поле выбора кластера выберите VDC01.
В таблице выберите DB_ROLLBACK.
Нажмите кнопку Собрать.
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.
В Jenkins Job Deploy Tools Перейдите на страницу Pipeline DEPLOY, нажав кнопку Собрать с параметрами.
В таблице выберите playbook DB_UPDATE (запуск liquibase скриптов).
Нажмите кнопку Собрать.
Резервное копирование текущей версии#
Для резервного копирования текущей версии выполните следующие действия:
Зайдите в UI системы оркестрации контейнерами и авторизуйтесь под УЗ, имеющей доступ для развертывания в необходимом проекте.
Нажмите на имя УЗ в UI системы оркестрации контейнерами и выберите "Copy Login Command".
Скопируйте значение "Log in with this token" и выполните в консоли. Пример:
oc login --token=*** --server=https://api.lt-gen.xxx.xxx.ru:xxxx
Выполните резервное копирование текущей версии приложения. Для резервного копирования объектов 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.
Использование резервной версии#
Для использования резервной копии выполните следующие действия:
Зайдите в UI системы оркестрации контейнерами и авторизуйтесь под УЗ, имеющей доступ для развертывания в необходимом проекте.
Нажмите Import YAML и загрузите файл
project.yaml.