В данном разделе рассматривается процедура обновления программного обеспечения (ПО) системы ECSS-10.

Обновление ПО ECSS-10 производится из под ОС Linux из репозитория ООО "Предприятие "ЭЛТЕКС"".

В данном подразделе указаны команды, которые выполняются из командной консоли управления операционной системы Linux (shell) непосредственно хоста, на котором производится обновление ПО системы ECSS-10.

При обновлении с версий менее, чем 3.14.3.12 (включая 3.11) важно остановить все процессы ssw. Требуется для обновления прав пользователя.

Обновление ПО нод системы

При обновлении до версии 3.14.7 и выше происходит удаление устаревших сертификатов: http_terminal.{crt, key}, call_api.{crt, key}, teleconference_api.{crt, key}. В системе автоматически заменяется сертификат http_terminal.{crt, key} на ecss10.{crt, key}. Для администратора системы будет взведена авария с информацией о замене сертификата.

Для полного обновления системы выполните команды:

  1. Команда для обновления ПО нод системы:
    sudo aptitude update

  2. Команда для установки ПО нод системы:
    sudo aptitude upgrade

Для обновления ПО системы определенных нод выполните команды:

  1. Команда для обновления ПО нод системы:
    sudo aptitude update
  2. Команда для установки ПО нод системы:

    sudo aptitude upgrade <NODE>
    где <NODE> — имя ноды: ecss-ds, ecss-core, ecss-pa_sip, ecss-pa_megaco, ecss-mycelium, ecss-mediator.

Перезапуск ноды

Для перезапуска ноды используются команды:

  • Если на хосте запущена одна нода определенного типа:
    Для остановки ноды: 

    sudo systemctl stop ecss-<SOME_ROLE>.service
  • Для запуска ноды:
    sudo systemctl start ecss-<SOME_ROLE>.service

  • Если на хосте запущено несколько нод определенного типа:
    Для остановки ноды: 
    sudo systemctl stop ecss-<SOME_ROLE> <NODE>
  • Для запуска ноды:

    sudo systemctl start ecss-<SOME_ROLE> <NODE>

где

<SOME_ROLE> — роль кластера: ds, core, pa-sip, pa-megaco, mycelium, mediator;

<NODE> — имя ноды.

Остановку ноды необходимо выполнять, если статус ее работы — "запущена" (Active).

Примеры

  1. Перезапуск ноды DS:

    sudo systemctl stop ecss-ds.service
    sudo systemctl start ecss-ds.service
    CODE
  2. Перезапуск ноды CORE:

    sudo systemctl stop ecss-core.service
    sudo systemctl start ecss-core.service
    CODE
  3. Перезапуск ноды PA-SIP:

    sudo systemctl stop ecss-pa-sip.service
    sudo systemctl start ecss-pa-sip.service
    CODE
  4. Перезапуск ноды PA-MEGACO:

    sudo systemctl stop ecss-pa-megaco.service
    sudo systemctl start ecss-pa-megaco.service
    CODE
  5. Перезапуск ноды MEDIATOR:

    sudo systemctl stop ecss-mediator.service
    sudo systemctl start ecss-mediator.service
    CODE
  6. Перезапуск ноды MYCELIUM:

    sudo systemctl stop ecss-mycelium.service
    sudo systemctl start ecss-mycelium.service
    CODE

В случае необходимости остановки/запуска всех сервисов ecss используются следующие команды:

Для остановки всех сервисов ecss:

sudo systemctl stop ecss.service

Для запуска всех сервисов ecss:

sudo systemctl start ecss.service

Проверка статуса работы ноды

Для проверки статуса работы ноды используются команды:

  • Если на хосте запущена одна нода определенного типа:
    sudo systemctl status ecss-<SOME_ROLE>.service
  • Если на хосте запущено несколько нод определенного типа:
    sudo systemctl status ecss-<SOME_ROLE> <NODE>
    где
    <SOME_ROLE> — роль кластера: ds, core, pa-sip, pa-megaco, mycelium, mediator;
    <NODE> — имя ноды.

Если нода запущена, то в результате выполнения команды будет выведено сообщение: "Active: active (running)".
Если нода не запущена, то — "Active: inactive (dead)".

Проверка статуса работы ноды DS: sudo systemctl status ecss-ds.service.
Проверка статуса работы ноды CORE: sudo systemctl status ecss-core.service.
Проверка статуса работы ноды PA_SIP: sudo systemctl status ecss-pa-sip.service.
Проверка статуса работы ноды PA_MEGACO: sudo systemctl status ecss-pa-megaco.service.
Проверка статуса работы ноды MEDIATOR: sudo systemctl status ecss-mediator.service.
Проверка статуса работы ноды MYCELIUM: sudo systemctl status ecss-mycelium.service.

Примеры

Проверка статуса работы ноды PA-SIP с именем sip1: 

ssw@ecss1:~/ssw_3.14$ systemctl status ecss-pa-sip.service 
● ecss-pa-sip.service — daemon ecss-pa-sip-3.14.2.0 of ecss-10
   Loaded: loaded (/lib/systemd/system/ecss-pa-sip.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-12-25 13:08:55 +07; 1 weeks 4 days ago
 Main PID: 13185 (beam.smp)
   CGroup: /ecss.slice/ecss-erlang.slice/ecss-pa-sip.service
           ├─13185 ecss-pa-sip -pc unicode -K true -A 8 -t 2097152 -- -root /usr/lib/ecss/ecss-pa-sip -progname erl -- -home /var/lib/ecss -- -no
           ├─13332 erl_child_setup 1024
           ├─13452 inet_gethost 4
           ├─13453 inet_gethost 4
           ├─13926 inet_gethost 4
           ├─13927 inet_gethost 4
           ├─14615 sh -s disksup
           └─14619 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
CODE

Проверка статуса работы всех нод(будут показаны только сервисы, которые в работе):

ssw@ecss1:~/ssw_3.14$ systemctl status ecss.slice | more
● ecss.slice - ecss slice
   Loaded: loaded (/lib/systemd/system/ecss.slice; static; vendor preset: enabled)
   Active: active since Wed 2018-12-19 14:02:19 +07; 2 weeks 3 days ago
    Tasks: 222
   Memory: 2.0G
      CPU: 2d 1h 5min 57.038s
   CGroup: /ecss.slice
           ├─ecss-cc-ui-api.service
           │ └─13299 /usr/bin/nodejs /usr/lib/share/ecss-cc-ui-api/dist/websockets/src/main.js
           ├─ecss-web-socket.service
           │ └─13859 /usr/bin/python3 provider/websocket.py
           ├─ecss-media-server.service
           │ └─11973 /usr/bin/ecss-media-server --noinput
           ├─ecss-erlang.slice
           │ ├─ecss-ds.service
           │ │ ├─12812 ecss-ds -pc unicode -K true -A 8 -t 2097152 -e 100000 -- -root /usr/lib/ecss/ecss-ds -progname erl -- -home /var/lib/ecss 
-- -noshell -noinput -mode embedded -config /tmp/ds1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-ds -b
oot /usr/lib/ecss/ecss-ds/releases/3.14.2.0/ecss-ds -mnesia core_dir "/var/log/ecss/ds/crashdumps" -sname ds1 -setcookie ecss-ds
           │ │ ├─12935 erl_child_setup 1024
           │ │ ├─13022 inet_gethost 4
           │ │ ├─13023 inet_gethost 4
           │ │ ├─13034 inet_gethost 4
           │ │ ├─13040 sh -s disksup
           │ │ ├─13041 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
           │ │ └─18915 inet_gethost 4
           │ ├─ecss-core.service
           │ │ ├─12850 ecss-core -pc unicode -K true -A 2 -e 65536 -P 4194304 -sfwi 500 -scl false -zdbbl 64MB -- -root /usr/lib/ecss/ecss-core -
progname erl -- -home /var/lib/ecss -- -noshell -noinput -mode embedded -config /tmp/core1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boo
t_var ROOTDIR /usr/lib/ecss/ecss-core -boot /usr/lib/ecss/ecss-core/releases/3.14.2.0/ecss-core -mnesia core_dir "/var/log/ecss/core/crashdumps
" -sname core1 -setcookie ecss_core_cookie
           │ │ ├─12979 erl_child_setup 1024
           │ │ ├─13049 inet_gethost 4
           │ │ ├─13050 inet_gethost 4
           │ │ ├─13390 inet_gethost 4
           │ │ ├─13391 inet_gethost 4
           │ │ ├─13409 sh -s disksup
           │ │ └─13410 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
           │ ├─ecss-pa-sip.service
           │ │ ├─13185 ecss-pa-sip -pc unicode -K true -A 8 -t 2097152 -- -root /usr/lib/ecss/ecss-pa-sip -progname erl -- -home /var/lib/ecss --
 -noshell -noinput -mode embedded -config /tmp/sip1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-pa-sip
 -boot /usr/lib/ecss/ecss-pa-sip/releases/3.14.2.0/ecss-pa-sip -mnesia core_dir "/var/log/ecss/pa-sip/crashdumps" -sname sip1 -setcookie ecss_p
a_sip_cookie
           │ │ ├─13332 erl_child_setup 1024
           │ │ ├─13452 inet_gethost 4
           │ │ ├─13453 inet_gethost 4
           │ │ ├─13926 inet_gethost 4
           │ │ ├─13927 inet_gethost 4
           │ │ ├─14615 sh -s disksup
           │ │ └─14619 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
           │ ├─ecss-mediator.service
           │ │ ├─ 7498 inet_gethost 4
           │ │ ├─13128 ecss-mediator -K true -A 8 -pc unicode -- -root /usr/lib/ecss/ecss-mediator -progname erl -- -home /var/lib/ecss -- -noshe
ll -noinput -mode embedded -config /tmp/md1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-mediator -boot
 /usr/lib/ecss/ecss-mediator/releases/3.14.2.0/ecss-mediator -mnesia core_dir "/var/log/ecss/mediator/crashdumps" -sname md1 -setcookie mediato
r-cluster
           │ │ ├─13204 erl_child_setup 1024
           │ │ ├─13467 inet_gethost 4
           │ │ ├─13468 inet_gethost 4
           │ │ ├─13511 inet_gethost 4
           │ │ ├─13691 sh -s disksup
           │ │ └─13692 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
           │ └─ecss-mycelium.service
           │   ├─12653 ecss-mycelium -pc unicode -e 65536 -- -root /usr/lib/ecss/ecss-mycelium -progname erl -- -home /var/lib/ecss -- -noshell -
noinput -mode embedded -config /tmp/mycelium1.config -boot_var ERTS_LIB_DIR /usr/lib/erlang/lib -boot_var ROOTDIR /usr/lib/ecss/ecss-mycelium -bo
ot /usr/lib/ecss/ecss-mycelium/releases/3.14.2.0/ecss-mycelium -mnesia core_dir "/var/log/ecss/mycelium/crashdumps" -sname mycelium1 -setcookie
 mycelium
           │   ├─12725 erl_child_setup 1024
           │   ├─12767 inet_gethost 4
           │   ├─12768 inet_gethost 4
           │   ├─12777 sh -s disksup
           │   └─12778 /usr/lib/erlang/lib/os_mon-2.4.4/priv/bin/memsup
           └─ecss-web-conf.service
             ├─13861 /usr/bin/uwsgi_python3 --ini uwsgi.ini
             └─13879 /usr/bin/uwsgi_python3 --ini uwsgi.ini
CODE

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

При наличии кластера обновление лучше проводить с помощью инструментов разделения кластера, описанных в разделе Методика разделения (split) кластера.