Обновление 3.17

Материал из WiKi - UserSide

Версия: 3.17

Требуется версия: 3.10 и выше

Несколько слов от автора

  • Все должно было быть не так... Версия 3.17 должна была выйти в начале марта 2022 года, но война всё перевернула. Однако наша работа не останавливалась и продолжается она и сейчас. Выход новой версии в марте был явно неуместен, но нужно двигаться вперёд.
  • Мы очень много сделали. Особенно старались сделать упор на доработку всяческих мелочей, что упрощают жизнь и работу. Прошу вдумчиво ознакомиться со списком изменений.
  • Принято решение давать имена собственные версиям и сборкам продукта. Сборки версии 3.17 будут именоваться созвездиями солнечной системы. Первая сборка 3.17 "Scútum" названа в честь созвездия "Щит"
  • Открыт канал в YouTube, где будем время от времени выкладывать видео по продукту
  • Обновление. Рекомендую иметь два инстанса системы. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать.

Особенности в проведении обновления

  • Если вы обновляетесь с версии 3.10 - ознакомьтесь со страницей: Обновление 3.11
  • Если вы обновляетесь с версии 3.11 и ранее - ознакомьтесь со страницей: Обновление 3.12
  • Если вы обновляетесь с версии 3.12 и ранее - ознакомьтесь со страницей: Обновление 3.13
  • Если вы обновляетесь с версии 3.13 и ранее - ознакомьтесь со страницей: Обновление 3.14
  • Если вы обновляетесь с версии 3.14 и ранее - ознакомьтесь со страницей: Обновление 3.15
  • Если вы обновляетесь с версии 3.15 и ранее - ознакомьтесь со страницей: Обновление 3.16
  • Выполните настройку модуля WebSTOMP
  • Установите supervisor, если еще не установлен. Он необходим для контроля за выполнением фоновых процессов.
sudo apt install -y supervisor
  • С помощью автоматического инсталлятора выполните обновление. В случае ошибки в процессе обновления или если работа инсталлятора не была завершена корректно, запустите инсталлятор в режиме восстановления:
sudo -u www-data php userside_install.phar repair
  • При обновлении на версию 3.17 часть данных будет мигрирована в иной формат хранения. Поэтому обновление может занять долгое время. Следует иметь это в виду.
  • Дополнительные поля абонентов-юридических лиц и потенциальных абонентов объединены с дополнительными полями "обычных" абонентов и поэтому идентификаторы таких дополнительных полей могут измениться. В связи с этим, если у вас из биллинга импортируются значения дополнительных полей абонентов - то следует перепроверить значения этих параметров в файле-конфигурации модуля взаимодействия с биллингом (вписать актуальные ID дополнительных полей).
  • Множественные изменения в API. Ознакомьтесь с изменениями на странице Версии 3.17 (раздел 3.17dev1)
  • После обновления в разделе "Настройка - Основная - WebSocket" настройте необходимые параметры из тех, что указали при настройке WebSTOMP
  • Добавьте в конфигурацию сервера nginx реверсивный прокси для WebSTOMP (RabbitMQ):
location /ws {
    proxy_pass http://127.0.0.1:15674/ws;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $host;
}

Если у вас RabbitMQ расположен на другом сервере, укажите его IP-адрес вместо 127.0.0.1. Протокол в proxy_pass должен быть http. Ничего больше, кроме IP-адреса, менять не нужно.

После изменения конфигурации nginx не забудьте перечитать конфигурацию sudo nginx -s reload либо перезагрузить nginx.

  • Добавьте конфигурацию супервизора, которая будет контролировать фоновые службы userside. Для этого целиком скопируйте выполните следующий блок:
sudo tee /etc/supervisor/conf.d/us-core-worker.conf << EOL
[program:us-core-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /var/www/userside/userside queue/listen
directory=/var/www/userside
autostart=true
autorestart=true
user=www-data
numprocs=10
redirect_stderr=true
stdout_logfile=/var/www/userside/var/log/core-worker.log
EOL
  • Установите зависимые компоненты для системной службы usm_poller, которая поставляется вместе с userside:
cd /var/www/userside/microservice/poller
sudo python3 -m venv venv
sudo ./venv/bin/pip install --upgrade pip wheel
sudo ./venv/bin/pip install --upgrade -r requirements.txt
  • Скопируйте конфигурационный файл supervisor для usm_poller:
sudo cp etc/us-poller-microservice.conf-example /etc/supervisor/conf.d/usm-poller.conf
  • Активируйте и запустите (перезапустите) службу supervisor:
sudo systemctl enable supervisor
sudo systemctl restart supervisor
  • Спустя примерно 10 секунд проверьте состояние контролируемых служб. По умолчанию вы должны увидеть по 10 экземпляров us-core-worker и usm-poller. Все они должны быть в состоянии RUNNING:
sudo supervisorctl status
  • Не забудьте обновить все модули на их свежие версии

Список изменений: просмотреть

Проведение обновления: инструкция