Upgrade Notes 22.03-22.05
In this release, the transition to a new version of chat services was implemented, as well as the migration of databases to PostgreSQL version 14
backup
Be sure to back up the database before upgrading the system
Update algorithm
- Complete stop of all Webitel services
- Connecting a new repository Webitel v22.05
- Preparing PostgreSQL 12 and installing a new version of PostgreSQL 14
- Database migration from PostgreSQL 12 to 14
- Deleting the old version of PostgreSQL 12 and starting PostgreSQL 14
- Database migration from Webitel v22.03 to v22.05
- Removing old services Webitel v22.03
- Installing and updating Webitel services v22.05
- Starting all updated services Webitel v22.05
Complete stop of all Webitel services
systemctl stop webitel-api webitel-app webitel-uac \ engine call_center storage chat_manager chatbot_manager flow_manager \ freeswitch ngcp-rtpengine-daemon opensips
Connecting a new repository Webitel v22.05
echo "deb http://deb.webitel.com/debian `lsb_release -sc` main" > /etc/apt/sources.list.d/webitel.list echo "deb http://deb.webitel.com/debian `lsb_release -sc` 22.05-releases" >> /etc/apt/sources.list.d/webitel.list apt update
Preparing PostgreSQL 12 and installing a new version of PostgreSQL 14
apt purge timescaledb-postgresql-12 timescaledb-loader-postgresql-12 apt install timescaledb-2-loader-postgresql-12 timescaledb-2-postgresql-12 sudo -u postgres psql webitel -qxc "ALTER EXTENSION timescaledb UPDATE;" sudo -u postgres psql webitel -qxc "DROP EXTENSION "pgcrypto" CASCADE;" systemctl stop postgresql apt install postgresql-14 webitel-postgresql-14 timescaledb-2-postgresql-14 timescaledb-tune --quiet --yes systemctl stop postgresql
Database migration from PostgreSQL 12 to 14
su postgres cd /tmp /usr/lib/postgresql/14/bin/pg_upgrade \ --old-datadir "/etc/postgresql/12/main" \ --new-datadir "/etc/postgresql/14/main" \ --old-bindir "/usr/lib/postgresql/12/bin" \ --new-bindir "/usr/lib/postgresql/14/bin" exit
Making changes to files /etc/postgresql/14/main/postgresql.conf and /etc/postgresql/14/main/pg_hba.conf
Deleting the old version of PostgreSQL 12 and starting PostgreSQL 14
apt purge webitel-postgresql-12 timescaledb-2-postgresql-12 timescaledb-2-loader-postgresql-12 postgresql-client-12 postgresql-12 rm -rf '/var/lib/postgresql/12' systemctl enable postgresql systemctl start postgresql sudo -u postgres psql webitel -qxc "ALTER USER opensips WITH PASSWORD 'webitel';"
You may need to update passwords for other database users.
Database migration from Webitel v22.03 to v22.05
su postgres cd /tmp wget https://git.webitel.com/projects/WEP/repos/postgres/raw/migration/22.03-22.05.sql psql webitel -f 22.03-22.05.sql exit
Removing old services Webitel v22.03
apt purge webitel-chat-manager systemctl disable chat_manager chatbot_manager rm /etc/systemd/system/chat_manager.service rm /etc/systemd/system/chatbot_manager.service
Installing and updating Webitel services v22.05
apt upgrade apt install webitel-messages opensips-http-modules opensips-postgres-module \ opensips-presence-modules opensips-rabbitmq-modules opensips-wss-module \ opensips-tls-module opensips-tlsmgm-module opensips-xmlrpc-module cp /opt/webitel/etc/systemd/system/messages-bot.service /etc/systemd/system/ cp /opt/webitel/etc/systemd/system/messages-srv.service /etc/systemd/system/ systemctl enable messages-bot messages-srv
Starting all updated services Webitel v22.05
systemctl restart consul systemctl restart rabbitmq-server systemctl restart webitel-api webitel-app webitel-uac messages-bot messages-srv flow_manager engine call_center storage freeswitch ngcp-rtpengine-daemon nginx
Update or merge the OpenSIPS configuration file (if it was changed manually) and nginx:
curl https://git.webitel.com/projects/WEP/repos/opensips/raw/opensips.cfg \ -o /etc/opensips/opensips.cfg systemctl restart opensips systemctl restart nginx