Upgrade Notes 24.02-24.04

До начала обновления

  1. Выполните резервное копирование базы данных до начала обновления!

Алгоритм обновления

  1. Полная остановка всех сервисов webitel
  2. Обновление приложений Webitel до v24.02
  3. Миграция базы данных с версии Webitel v24.02 на v24.04
  4. Обновление nginx конфигурации
  5. Перезапуск всех сервисов после обновления до Webitel v24.04

Полная остановка всех сервисов webitel:

systemctl stop webitel-api webitel-app webitel-uac messages-bot messages-srv \
  engine call_center storage flow_manager rabbitmq-server webitel-logger consul \
  freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx

Обновление приложений Webitel до v24.02.

sed -i 's/24.02-releases/24.04-releases/g' /etc/apt/sources.list.d/*
	
echo "deb https://deb.sipwise.com/spce/mr12.2.1 bookworm main" > /etc/apt/sources.list.d/rtpengine.list

apt update
apt upgrade
    
apt install --reinstall linux-headers-`uname -r` \
	ngcp-rtpengine-daemon ngcp-rtpengine-iptables ngcp-rtpengine-kernel-dkms

Миграция базы данных с версии Webitel v24.02 на v24.04

su postgres
cd ~
psql webitel -qxc "ALTER DATABASE webitel SET timescaledb.restoring='on';"
psql -1 -f /usr/share/postgresql/15/webitel/migration/24.02-24.04.sql webitel
psql webitel -qxc "ALTER DATABASE webitel SET timescaledb.restoring='off';"
exit

Очищаем старые пакеты:

apt --purge autoremove

Обновление nginx конфигурации:

sed -i '/location \/flow-diagram {/,/}/{
s/location \/flow-diagram {/location \/flow {/;
/try_files \$uri \$uri\/ \/index.html last;/!{
/alias \/opt\/www\/flow-diagram;/a\
        try_files $uri $uri/ /index.html last;
}
}' /etc/nginx/sites-enabled/default
 
nginx -t

Перезапуск всех сервисов после обновления до Webitel v24.04

systemctl restart consul
systemctl restart postgresql
systemctl restart rabbitmq-server

systemctl restart webitel-app webitel-uac webitel-api engine \
  messages-srv flow_manager messages-bot call_center storage webitel-logger \
  freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx