Перейти к основному содержимому

# Инструкция по обновлению

### Обновление BAF с версии 1.1.0 до 1.2.0 и выше​

1. Перед обновлением BAF, чтобы сохранить доступ к базе данных, перенесите значения полей конфигураций в файлы новой версии.

   примечание

   Не нужно переносить секреты для stunner, заполните их снова в соответствии с инструкциями.

   ATTENTION!

   Не рекомендуется копировать файлы с заменой, так как могут быть потеряны поля, появившиеся в устанавливаемом релизе.

2. Удалите старый релиз stunner, так как в новой версии BAF он был значительно обновлен. Перейдите в папку со старой версией BAF и выполните следующую команду:

       ./cli.sh stunner uninstall

   примечание

   При чистой установке stunner генерирует новые порты TURN. Необходимо обновить настройки веб-компоненты.

3. Перейдите в папку с новой версией BAF и выполните приведенную ниже команду:

       ./cli.sh platform install-secrets

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

4. Загрузите новые образы, выполнив команду ниже:

       ./cli.sh generic load-images

5. Вернитесь к разделу развёртывания и продолжайте выполнять шаги как при чистой установке.

   примечание

   Не перезаписывайте значения из предыдущей версии, только обновляйте новые, если того требует инструкция.

### Обновление BAF с версии 1.6.0 до 1.7.0 и выше​

Основные изменения, которые произошли в версии 1.7.0, это разделение сервиса LRS на две подсистемы. Video Recorder для записи видео и LRS для вычисления liveness по видео. Для успешного обновления необходимо правильно перенести секреты и настройки.

1. Перенесите значения из файла lrs.secrets.json прошлой версии в файл video-recorder.secrets.json новой версии. lrs в названии секрета необходимо заменить на video-recorder. Например, lrs-postgres == video-recorder-postgres.

2. Перенесите значения из файла lrs.values.yaml в файл video-recorder.values.yaml. Блок lrs из старых values переносится в блок video-recorder, исключая поля host и image. Остальные блоки переносятся один к одному, исключая поля image.

3. Перенесите значения из файла baf.values.yaml в новый файл baf.values.yaml. Из старого блока lrs в новый блок video-recorder необходимо перенести только значение enabled. Значения остальных блоков переносятся один к одному, исключая поля image.

4. Вернитесь к разделу развёртывания и продолжайте выполнять шаги как при чистой установке.

### Обновление BAF с версии 1.9.0​

Если ваш кластер использует docker в качестве источника образов, поменяйте в файле settings.cfg модулей generic и smc значение строки kube_cri на dockerd. Таким образом, образы из модуля generic будут загружатся в docker, а не containerd.

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

### Обновление BAF с версии 1.10.0​

Начиная с версии 1.11.0, сервис decoder включен в сервис video-recorder, поэтому после обновления до 1.11.0 отдельный чарт decoder можно удалить.

### Обновление BAF с версии 1.8.0 до 1.13.0​

Начиная с версии 1.13.0, отключено автоматическое создание стандартного пользователя BAF, а также удалены все связанные с ним k8s-секреты. Если вы не обновлялись на любую версию между 1.9.0 и 1.12.0 включительно, то при обновлении на 1.13.0 миграция не сможет корректно обработать аккаунт BAF и добавить к нему токен доступа из существующего аккаунта OMNI Platform.

Для приведения данных аккаунта в корректное состояние необходимо выполнить следующую SQL команду в БД BAF:

    UPDATE "Accounts" SET "PlatformAccessToken"='---';

где PlatformAccessToken - это токен платформы, который раньше находился в секции platform-token файла ./cfg/baf.secrets.yaml поставки версии 1.8.0.

### Обновление BAF с версии 1.12.0 до 1.13.0​

В версии 1.13.0 удалён старый механизм настройки паттернов контроля движений. Если вам требуется перенос паттернов из версии 1.12.0, то перед обновлением выполните следующую команду из дистрибутива новой версии:

    ./cli.sh baf motion-pattern-transfer - <domain>

где domain - это домен, по которому доступно publicai BAF.

Также команде требуется sk-токен BAF для совершения запроса к publicapi на получение паттернов.

В результате успешного выполнения команды в консоли будет следующий вывод:

А в файле baf.values.yaml в переменной `baf.default_motion_control_patterns` появится текущий список паттернов аккаунта, которому принадлежит sk-токен.

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

примечание

Скрипт переносит паттерны только для аккаунта, которому принадлежит sk-токен. Если у вас заведено несколько аккаунтов, необходимо повторно запустить скрипт, но уже с sk-токеном другого аккаунта.