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

Обновление AW

Внимание Перед переходом на релиз 1.34 и старше обязательно проверьте корректность формул на Вашем стенде. Для проверки нужно запустить специальный скрипт. Получить скрипт и файл с результатами проверки можно через службу поддержки AW.

Также рекомендуем заранее ознакомиться с описанием целевых и промежуточных релизов на нашем портале AW community

Внимание Перед переходом на релиз 1.37 настоятельно рекомендуется выполнить резервное копирование БД AW.

Технические изменения в выпуске AW 1.37.*

Добавлены заголовки которые позволяют загружать файлы для html-виджета из другого источника. В связи с этим нужно внести изменения в конфигурационный файл web-сервера Nginx (по умолчанию расположен по пути /opt/aw/app/docker/nginx/nginx.conf на сервере с контейнером frontend), добавить следующие строки:

location ~ ^/(html\.css|assets/lib/(html-to-image\.js|html2canvas\.min\.js))$ {
    root /frontend;

    add_header Access-Control-Allow-Origin "*" always;
    add_header Access-Control-Allow-Methods "GET, OPTIONS" always;
    add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" always;
}

Внимание!! В связи с обновлением версии clickhouse, для корректной работы приложения требуется ядро Linux 3.15+. Посмотреть текущую версию можно выполнив команду:

uname -r

Пример вывода:

awbi@bi-aw:~$ uname -r
6.12.48+deb13-amd64

Подготовка

  • обновить awctl на последнюю версию
  • сделать рез. копию конфигурации профиля:

    cp $HOME/.awctl/profiles/<имя_профиля>/config.yml $HOME/.awctl/profiles/<имя_профиля>/config.yml.bak
    
  • рекомендуется выполнить рез. копирование файлов конфигурации на каждом сервере,

  • в случае необходимости загрузить архив с новым релизом на сервер с awctl,
  • рекомендуется выполнить рез. копирование БД AW

Автоматизированное обновление конфигурационного файла профиля

Команда update. awctl update - анализирует текущий конфигурационный файл профиля, генерирует конфигурационный файл для новый версии AW и переносит все изменения сделанные в старом конфигурационном файле.

Обновление конфигурации профиля AW

Выполняем команду: - /opt/awctl/awctl update --version <номер новой версии AW> <имя профиля> Результатом выполнениия команды станет новый конфигурационный файл профиля с перенесенными изменениями из старого. Рез. копия старого конфигурационного профиля сохраняется под именем config.<старая версия AW>.yml.

  • рекомендуется проверить новый конфигурационный файл - корректность переноса секций env, настроек aw_host, aw_user и т.п.
  • выполнить команду gen - /opt/awctl/awctl gen <имя профиля>
  • выполнить команду install - /opt/awctl/awctl install <имя профиля>
  • выполнить команду migrate - /opt/awctl/awctl migrate <имя профиля>

Ручное обновление конфигурационного файла профиля

Подготовка нового конфигурационного файла профиля

Т.к. кол-во сервисов в составе AW может меняться от версии к версии, при обновлении распределенной установки требуется сгенерировать распределение сервисов по серверам заново:

/opt/awctl/awctl init --preset <кол-во серверов> --release-path <путь к архиву с релизом AW> <имя профиля>
Далее из рез. копии старого файла конфигурации профиля необходимо перенести в новый значения:

  • aw_home, aw_host, aw_ssh_host, aw_user, aw_ssh_user, aw_ssh_password и т.п. для каждого сервера
  • секцию env для каждого сервера, если используется
  • значения with_extra_hosts, with_traefik из секции aw

Сделать это можно с помощью любого удобного текстового редактора.

Обновление AW

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

  1. Генерируем конфигурационные файлы для серверов:

    /opt/awctl/awctl gen <имя_профиля>
    
  2. При обновлении с версия 1.2* - останавливаем AW:

    /opt/awctl/awctl stop <имя_профиля>
    

    Удаляем содержимое директории db/rabbitmq

    cd /opt/aw/db/rabbitmq
    rm -rf ./*
    
  3. Выполняем установку AW:

    /opt/awctl/awctl install <имя_профиля>
    
    Если установка выполняется из полного релизного архива (release-<версия AW>.tar), то выполнение команды может занять длительное время.

  4. Выполняем миграции:

    /opt/awctl/awctl migrate <имя_профиля>