Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira Legacy
serverSystem JIRA
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySRTB-5679

...

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySRTS-71

Table of Contents

Описание

Менеджер Управления Конфигурацией (МУК) – сервис, предназначенный для обновления серверов SetCentrum, SetRetail и касс (клавиатурные, SetTouch, SCO, CSI K).

МУК входит в состав серверной части SetCentrum/SetRetail.

Функциональность и возможности

  • Использование собственного веб-приложения для обновления компонентов продукта.
  • Управление обновление через любой веб-браузер: Google Chrome, Microsoft Edge, Mozilla Firefox, Opera, Safari.
  • Обеспечение пользователя информацией о текущей версии серверов и касс.
  • Централизованное обновление версии серверов и касс.
  • Возможность проведения удаленного обновления.
  • Возможность проведения отложенного по времени обновления. Например: планирование автоматического обновления на часы, в зависимости от наименьшей загрузки кассового узла.
  • Полностью контролируемый процесс обновления.
  • Автоматизированная проверка первого запуска компонентов системы.
  • Полноценный откат к предыдущей версии с уведомлением пользователя в случае проблем при обновлении (например: обрыв связи).
  • Удаленная перезагрузка кассового узла (начиная с версии 10.3.27.0).

Вход на страницу МУК

1. Наберите в браузере адрес в формате http://IP-адрес сервера SetRetail10:8092 → нажмите Enter.

...

3. Откроется страница МУК с сервером и кассами.

Интерфейс

Основные элементы управления на странице

Статусы касс и сервера

Иконка статусаОписание

Служба МУК кассы на связи. Касса готова к обновлению

Связь со службой МУК отсутствует. Загрузка патчей невозможна.

Столбцы списка

СтолбецОписания
Магазин

Отображается привязка объекта к магазину топологии:

  • SetCentrum - отображается прочерк. 
  • SetRetail - отображается текущий номер сервера магазина, на котором установлена служба МУК.
  • Касса:
    • SetCentrum: в случае топологии SetCentrum ↔ Кассы отображаются номера магазинов, к которым они привязаны.
    • SetRetail ↔ Кассы отображается номер магазина SetRetail к которому привязаны кассы.
Сервер

Отображается тип сервера:

  • SetCentrum
  • SetRetail
Касса

Отображается номер кассы и её тип:

  • POS - клавиатурная касса;
  • Touch - касса SetTouch;
  • SCO - касса самообслуживания (ITAB, NCR, CSI K и т.п.).
IPОтображается IP-адрес сервера и касс.
Текущая версияТекущая установленная версия для сервера или кассы
Статус

Статус обновления

Когда не происходит никаких обновлений, столбец пустой.

  • Статусы:
    • Сервер SetCentrum/SetRetail:
      • Загрузка версии ХХ.ХХ.ХХ.ХХ запланирована на [ДАТА ВРЕМЯ]
      • Перезапуск системы обновления
      • Разархивирование
      • Сохранение текущего состояния
      • Проверка прав доступа
      • Применение обновления
      • Тестовый запуск после обновления
      • Ошибка обновления, восстановления сохраненной копии
      • Ошибка при откате обновления
      • Ошибка обновления или отката на версию ХХ.ХХ.ХХ.ХХ, произведен откат к текущей версии
      • Обновление было отменено
    • Кассы:
      • Загрузка версии ХХ.ХХ.ХХ.ХХ запланирована на [ДАТА ВРЕМЯ]
      • Загрузка файлов
      • Разархивирование
      • Ожидание перезагрузки
      • Тестовый запуск после обновления
      • Ошибка обновления, восстановления сохраненной копии
      • Ошибка при откате обновления
      • Обновление было отменено
      • Ошибка обновления или отката на версию ХХ.ХХ.ХХ.ХХ, произведен откат к текущей версии

Фильтры поиска касс

ФильтрОписание
МагазинПоиск по номеру магазина
Номер кассыПоиск по номеру кассы из списка
Тип кассыПоиск по типам касс доступным из списка

IP кассы

Поиск по IP-адресу касс

ВерсияПоиск по номеру текущей версии
Статус

Поиск кассы по статусам:

  • Ошибка обновления или отката
  • В работе
  • Разархивирование

Status
colourBlue
title10.3.27.0

Jira Legacy
serverSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySRTS-1679

Jira Legacy
serverSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keyCR-9262

Дата перезагрузки

Фильтр по дате перезагрузки касс

Status
colourBlue
title10.3.27.0

Jira Legacy
serverSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySRTS-1679

Jira Legacy
serverSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keyCR-9262

Форма управления обновлением

ФункциональностьОписание
Версия

Выбирается версия, на которую будет обновлен сервер или касса.

После подкладывания патчей в папку обновления ../acm/updates МУК производит валидацию целостности патча. Если CRC, архив "битый" или файл патча пустой, то он не появится в списке обновлений

Загрузить изменения прямо сейчас
Загрузить и обновить кассу/сервер сразу после нажатия на кнопку .
Загрузить изменение по расписаниюЗапланировать обновление по расписанию.
Создать резервную копию баз данных при обновлении

Если база данных сервера достаточно объемна, то данная функциональность позволит сэкономить время при его обновлении, так как в этом случае будут выполнены только обновления основных компонентов SetRetail10: базы данных и программные файлы.

При этом в случае неудачи, произойдет откат базы данных и программных файлов на предыдущую версию.

Автоматически обновить кассы, если она простаивает

Сократить время на обновление касс, за которыми не работают кассиры, можно с помощью данной опции. Обновление неактивной кассы произойдет автоматически.

Окно состояния кассы

КнопкаОписание

Сохранить текст состояния кассы, а также возможной ошибки текста лог-файла.

Скопировать текст состояния кассы, а также возможной ошибки текста лог-файла.

Закрыть форму с информацией по кассе.

...

Также можно скопировать или сохранить текст ошибки для отправки в службу поддержки.

Служба МУК

Служба МУК устанавливается вместе с сервером SetRetail/SetCentrum.

Управление службой МУК

Windows

В оснастке служб Windows за МУК отвечает сервис SETv10 Configuration Manager.

Linux

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

  • service SCM_SVC start - запустить службу МУК.
  • service SCM_SVC stop - остановить службу МУК.
  • service SCM_SVC restart - перезапустить службу МУК.

Файловая структура 

Папка МУК

Windows: {Disk}\{SetRetail10}\acm

...

Linux: /var/lib/jboss/acm

Назначение папок и файлов

Папка/файлОписание

backups

Папка для резервных копий файлов и папок сервера

Резервная копия баз данных сохраняется только при установленном флажке Создать резервную копию баз данных при обновлении.

bin

Системные файлы службы МУК.

conf

Конфигурационные файлы.
history
Файлы статусов обновлений.
logs
Логирование событий работы службы и обновлений.
script_after_update
Папка для обработки SQL-скриптов обновления баз данных PostgreSQL.
script_for_revert
Папка для обработки SQL-скриптов отката баз данных PostgreSQL.
updates
Папка для обновлений (файлов патчей).
web
Папка страниц веб-версии МУК.

mook.jar

Приложение службы МУК.

updater.jar

Приложение службы МУК для процесса обновления.

update.status

Статус работы службы МУК.

Info

Файл может быть пересоздан после перезапуска службы.

Список статусов:

  • BACKUP_DB – выполнение процесса резервного копирования баз данных;
  • BACKUP_FILES – выполнение процесса резервного копирования файлов;
  • DOWNGRADE_ERROR – ошибка отката версии, откат к текущей версии произвести не удалось;
  • DOWNGRADE_RUNNING – идет процесс отката версии;
  • IN_WORK – сервер/касса работает;
  • TEST_UPDATE – проверка работоспособности сервера/кассы после обновления;
  • UNZIP – распаковка файлов;
  • UPDATE_FILES – обновление файлов;
  • UPDATE_RUNNING – производится обновление;
  • UPGRADE_ERROR – ошибка обновления, откат произвести не удалось;
  • UPGRADE_ERROR_WITH_DOWNGRADE – ошибка обновления или отката версии, удалось произвести откат к текущей версии;
  • WAIT – ожидание (не запущено обновление на сервере);
  • WAIT_CASH_FOR_REBOOT – ожидание перезагрузки кассы.

Пример файла:

Code Block
languagebash
themeMidnight
#Thu May 20 22:32:25 MSK 2021
status=UPDATE_RUNNING
patches=retail_10.2.98.0_10.2.98.1
shiftMustBeClosed=false
makeDBBackup=false


topology.structure

Данные по топологии.

Info

Файл может быть пересоздан после перезапуска службы.


Code Block
languagexml
{
    "topologyAddress": "1.0.35.83",
    "currentVersion": "10.3.26.19",
    "previousVersion": "",
    "topologyPointIP": "10.81.5.83",
    "type": "Touch",
    "status": "IN_WORK",
    "online": true,
    "lastActivity": 1705574440741,
    "activeRestartCommandTime": {
      "seconds": 0,
      "nanos": 0
    },
    "lastStartup": {
      "seconds": 1705491888,
      "nanos": 361000000
    },
    "isMakeDbBackup": true,
    "shiftMustBeClosed": false,
    "waitUpdateCommand": false,
    "localPatches": []
  },


Обновление

Загрузка патчей

Для загрузки патчей перейдите в раздел портала поддержки.

Копирование патчей в папку МУК

Скопируйте патчи сервера и касс в папку для обновления на сервер SetCentrum/SetRetail.

...

Linux: /var/lib/jboss/acm/updates

Назначение прав владельца файлов патчей ОС Linux

После добавления патчей измените владельца файлов на пользователя jboss:jboss

...

Info

Если владелец отображается root:root, тогда выполните команду:

sudo chown -R jboss:users /var/lib/jboss/acm/updates/



Патчи для SetCentrum

Include Page
SetRetail10 ▪️ МУК ◾️ Как переименовать патчи для обновления SetCentrum?
SetRetail10 ▪️ МУК ◾️ Как переименовать патчи для обновления SetCentrum?

Структура файлов патчей

Тип патчаТип файла
retailПатч для обновления сервера SetRetail (сервер магазина)
centrumПатч для обновления центрального сервера SetCentrum (не выпускается отдельно, переименовывается префикс патча сервера SetRetail).
posПатч для обновления клавиатурных касс POS.
touchПатч для обновления касс SetTouch
scoПатч для обновления касс самообслуживания и CSI K.

Подготовка к обновлению и рекомендации

Include Page
SetRetail10 ▪️ МУК ◾️ Общие рекомендации по самостоятельному обновлению
SetRetail10 ▪️ МУК ◾️ Общие рекомендации по самостоятельному обновлению

Перед обновлением

Warning
  • Перед запуском обновления на серверах с ОС Windows закройте ВСЕ окна проводника и оснастки MMC (Службы, Управление Компьютером и прочие).

  • Отключите антивирус на время обновления, так как он может при сканировании заблокировать исполняемые файлы SetRetail10, которые заменяются при обновлении.

...

Note
  • Обновление сервера и касс можно выполнять кумулятивно. Например: можно обновить кассу с версии 10.2.95.0 до 10.2.99.0.
  • Для обновления от версии к версии должна соблюдаться полная последовательность:
    • Пример: обновиться с версии 10.2.95.0 до 10.2.97.0, при этом есть версия 10.2.96.0, для которой есть патч 10.2.95.1_10.2.96.0, и патч 10.2.96.3_10.2.97.0
      • В этом случае обязательно нужно сделать цепочку из всех патчей, таким образом она будет выглядеть так:
        • 10.2.95.0_10.2.95.1
        • 10.2.95.1_10.2.96.0
        • 10.2.96.0_10.2.96.1
        • 10.2.96.1_10.2.96.2
        • 10.2.96.2_10.2.96.3
        • 10.2.96.3_10.2.97.0
  • Если сервер подключен к системе мониторинга, необходимо на время обновления отключить эту службу.

Обновление сервера

1. Установите флажок  → кликните .

...

10. Также для просмотра состояния сервера можно кликнуть по его названию.

Обновление касс

1. Установите флажок  напротив требуемых касс → кликните .

...

10. Также для просмотра состояния кассы можно кликнуть по её названию.

Откат

Note

Откат возможен только к предыдущему шагу! Откатиться на 2 или более версий НЕВОЗМОЖНО!

Примеры

  1. Если обновление было произведено с версии 10.2.30.0 до 10.2.33.0, тогда откатиться можно только до версии 10.2.30.0, а не до патча 10.2.30.1!
  2. Если произведены обновления с версии 10.2.65.0 до версии 10.2.66.3 кумулятивно (использованы патчи: 10.2.65.1, 10.2.65.4, 10.2.65.6, 10.2.65.9, 10.2.66.0, 10.2.66.1, 10.2.66.3), тогда произвести откат обновления обратно можно только до версии 10.2.65.0.

...

8. Версия изменит номер на предыдущий.

Перезагрузка касс

Jira Legacy
serverSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySRTS-1679

...

3. Перезагрузить по расписанию - касса будет перезагружена в определенный момент времени в независимости от того, работает на ней кассир или нет.


Дополнительная функциональность

Сохранить список касс в csv-файл 

Info
  • Сохраняется только список касс.
  • Производится экспорт списка касс, отобранных с помощью фильтров.
  • Флажки применяются только для обновления касс, а не для формирования списка в csv-файл.

...

2. Откройте файл, например с помощью Microsoft Excel.

Изменить пароль входа на страницу МУК

1. Откройте на сервере в любом текстовом редакторе файле application.properties.

...

Code Block
languagebash
themeMidnight
service SCM_SVC restart

Дополнительные параметры для обновления крупных торговых сетей и настройке конфигурации scm.settings

Файл конфигурации находится в папке /var/lib/jboss/acm/scm.settings

...

Info
  • При SAVE_STRATEGY_TYPE=2 МУК будет накапливать изменения по статусам, поступающим с касс, в течение 1 минуты (SAVE_TOPOLOGY_STATE_PERIOD=1), и только после этого сохранять изменения в файл topology.structure.
  • Если в топологии SetCentrum ↔ Кассы при количестве касс больше 500, то чем больше значение MAX_THREADS_COUNT_FOR_CONNECTIONS, тем больше касс сможет одновременно подключиться к МУК.
  • Для крупных торговых сетей на SetCentrum ↔ Кассы, где есть SetESB необходимо переключить работу МУК на SetESB, для этого обратитесь к менеджеру CSI для согласования работ.
  • После выполнения всех настроек перезапустите службу командой sudo service SCM_SVC restart.


Централизованная доставка файлов патчей

Include Page
SetRetail10 ▪️ МУК ◾️ Централизованная доставка файлов патчей по всей сети магазинов
SetRetail10 ▪️ МУК ◾️ Централизованная доставка файлов патчей по всей сети магазинов

Планирование обновлений

Anchor
upd_plan
upd_plan

Status
colourBlue
title10.2.44.0

...

Появится статус Обновление было отменено.

Целостность патчей

Include Page
SetRetail10 ▪️ МУК ◾️ Целостность патчей обновления
SetRetail10 ▪️ МУК ◾️ Целостность патчей обновления

Описание технических процессов работы МУК

Какие скрипты и процессы выполняет МУК в процессе обновления?

  • SH/BAT скрипты;
  • копирование файлов;
  • выполнение *.sql скриптов;
  • обновление *.xml файлов
  • обновление *.properties файлов;
  • выполнение исполняемых *.jar файлов;
  • запуск/перезапуск служб: JBOSS, SVC_SCM, nginx.

Процесс работы МУК на кассе

Кассовый МУК состоит из 2-х частей:

...

  1. UPGRADE_PLANING - обновление запланировано, проставляется на сервере для кассы и держится, пока касса в следующий раз не обратилась за списком патчей.
  2. UPGRADE_DOWNLOADING - проставляется кассовой частью МУКа, пока все патчи скачиваются на кассу (делается это автоматически при работающей кассе).
  3. UNZIP_FILES - разархивирование патчей.
  4. UPGRADE_WAIT_FOR_REBOOT - касса скачала все необходимое и приготовилась обновляться, для этого необходим перезапуск кассового модуля.
  5. CCM_UPDATE_RESTART - далее следует алгоритм работы МУКа: если в любом патче списка обновления есть новый МУК, то обновляться касса будем именно им. Для этого новый МУК подкладывается взамен старого и необходим технический рестарт обновления. Именно для этого процесса и нужен данный статус.
  6. CHECK_PERMISSIONS - проверяется папка и файлы кассы, которая будет обновляться.
  7. BACKUP - выполняется полный бэкап, если установлен флажок (файлы в папке кассы, МУК, база данных). Запаковывается в архив в crystal-conf/backups. Если файл резервной копии создался, то он рабочий на 100%. Хранится последние 10 бэкапов.
    1. Если произошла ошибка до этого момента, то отката не будет, так как с кассой еще ничего не сделали, при ошибке в последующих шагах, будет выполнен быстрый откат.
  8. APPLY_PATCH - выполнение патчей.
  9. TEST_START - после того как все патчи успешно завершились запускаем кассу и убеждаемся, что касса запустилась (проставляется этот статус, когда кассовая часть поднимется вместе с кассой, она проставит IN_WORK, если в конечном итоге запустилась). Таким образом первая проверка, что касса запускается после обновления.
  10. FAST_REVERT - если в процессе обновления произошли ошибки или тестовый запуск не удался, то проставляется этот статус и начинается быстрый откат. Происходит восстановление из бэкапа (базу данных, файлы, настройки так как еще ничего не успело поменяться).
  11. UPGRADE_ERROR_WITH_DOWNGRADE - этот статус стоит у кассы в штатном режиме, когда не удалось обновиться, статус выделен в отдельный, чтобы на визуализации была информация о неудачном обновлении, но касса в обычном работоспособном состоянии.
  12. IN_WORK - обычное штатное состояние кассы

Процесс работы МУК на сервере

Серверный МУК чуть посложней и состоит из 3-х частей:

...

На сервере нет функциональности по опросу обновлений как в кассе, так как оба сервиса установлены на одном сервере. При переключении и подтверждении обновления на новую версию, mook.jar меняет содержимое файла update.status сервера и перезапускает службу сервера, далее сервер сам себя обновляет по алгоритму, описанному в кассе (у всех клиентов МУКа единый алгоритм обновления).

Дозагрузка патчей кассы в случае обрыва связи

Jira Legacy
serverSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySRTS-1811

...

  • Если файл докачался, но не прошел проверку чексуммы, то он удаляется и закачивается заново, а также на сервере был заменён патч в процессе обновления торговой сети.
  • Если прозощел обрыв связи, то после возобновления файл докачивается.

Допустимы ли расхождения в версиях кассы и сервера?

Include Page
SetRetail10 ▪️ МУК ◾️ Допустимы ли расхождения в версиях кассы и сервера?
SetRetail10 ▪️ МУК ◾️ Допустимы ли расхождения в версиях кассы и сервера?

"Тупиковые" патчи 

Include Page
SetRetail10 ▪️ МУК ◾️ Правила обновления с "тупиковых" патчей
SetRetail10 ▪️ МУК ◾️ Правила обновления с "тупиковых" патчей

...