Versions Compared

Key

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

...

Настройками пакета artix-upgrade-system2 предусмотрено ограничение скорости скачивания обновлений. Время для начала загрузки обновлений на кассе выбирается случайным образом в пределах определенного интервала. Такие настройки позволяют исключить возможность высокой нагрузки на сеть.

Настройки Puppet

Настройки периодичности выхода на связь с Puppet задаются в конфигурационном файле /etc/puppet/puppet.conf в секции [agent].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
runintervalстроковый
Время в секундах выхода на Puppet сервер

Может задаваться в:

  • секундах (30 или 30s);
  • минутах (30m);
  • часах (6h);
  • днях (2d).
splayлогический
  • true
  • false
Спать перед первым выходом на связь сервером
  • true – спим;
  • false – сразу выходим на связь.

По умолчанию false.

splaylimitстроковый
Максимальное время задержки перед первым запуском агента при включенном splay

Может задаваться в:

  • секундах (30 или 30s);
  • минутах (30m);
  • часах (6h);
  • днях (2d).

По умолчанию используется $runinterval агента.


Code Block
languagetext
...
[agent]
...
runinterval = 10
splay = false
splaylimit = 7200
...


Code Block
languagetext
titleКоманда для просмотра конкретной настройки сервиса Puppet
puppet agent --configprint runinterval


Info

Полный перечень настроек можно найти на сайте Puppet.

Запуск обновления через Puppet вручную

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

Code Block
languagetext
puppet agent -t

Автоматическое обновление через Puppet

Для работы сервиса Puppet в фоновом режиме необходимо:

    1. Создать файл:

      Code Block
      languagetext
      touch /etc/default/puppet


    2. Настроить периодический выход на связь с Puppet в конфигурационном файле /etc/puppet/puppet.conf.

    3. Выполнить команды:

      Code Block
      languagetext
      systemctl enable puppet
      systemctl start --no-block puppet


Info
После перезагрузки кассового ПО сервис Puppet продолжит свою работу.

Механизм обновления

Механизм обновления программного обеспечения построен таким образом, чтобы минимизировать время простоя кассового узла. Экономия времени на выполнение обновления достигается за счет того, что обновление ПО производится только после загрузки всех требуемых модулей на кассу.

...

  1. В файле /etc/apt/sources.list.d/artix.list указывается номер сборки, до которой требуется обновиться/откатиться:

    Code Block
    languagetext
    deb http://update.artix.su/lucidbionic artix-4.6.15244-3 artix main contrib 


  2. Для получения информации о новых/обновлённых пакетах выполняется команда:

    Code Block
    languagetext
    aptitude update


  3. Необходимая версия пакета artix-upgrade-system2 устанавливается командой aptitude install artix-upgrade-system2=версия-номер_сборки, где версия и номер сборки должны совпадать с версией и номером сборки, указанными в /etc/apt/sources.list.d/artix.list.

    Code Block
    languagetext
    aptitude install artix-upgrade-system2=4.6.15244-3

    При установке пакета artix-upgrade-system2 на кассе создается директория /linuxcash/cash/data/upgrade-system, в которой будут размещены следующие файлы:

    • artix-packages.version - включает список всех пакетов в сборке, до которой необходимо обновиться/откатиться;
    • artix-packages.instlist - включает список пакетов  с номерами версий, которые были загружены на кассу;
    • new-install - файл-флаг, который необходимо создать для того, чтобы началась загрузка пакетов;
    • downloaded - файл-флаг, будет создан после загрузки новых версий пакетов;
    • status.code - codeбудет создан после загрузки пакетов, отражает информацию о статусе загрузки/установки пакетов в виде соответствующего кода;
    • status.text - будет – будет создан после загрузки пакетов, отражает информацию о статусе загрузки/установки пакетов в виде текста.
  4. В директории /linuxcash/cash/data/upgrade-system создается файл-флаг с именем new-install.

    Code Block
    touch /linuxcash/cash/data/upgrade-system/new-install


  5. В конфигурационный файл /linuxcash/cash/conf/artix-packages.list добавляется list добавляется список пакетов, которые будут установлены при обновлении. Запись выполняется в формате: одна строка - один пакет. Пакеты указываются без версий.

    Code Block
    languagetext
    artix-pos
    artix45-nes2


  6. Скачивание и установка заданных пакетов выполняется при помощи скрипта /linuxcash/cash/bin/artix-upgrade.sh
    Параметры скрипта задаются в файле /linuxcash/cash/conf/artix-upgrade.conf.
    • runsleep - интервал времени в минутах, в котором случайным образом задается начало обновления;
    • download_limit = 25 - ограничение пропускной способности  при скачивании обновлений, в кБ/с.
  7. Касса перезапускается, после чего выполняется установка пакетов.

...

Для оповещения об обновлении и задания действия используется файл /linuxcash/cash/data/tmp/notification.json. Он представляет собой файл формата json, создаваемый модулем artix-upgrade-system2, после скачивания всех необходимых пакетов.

Code Block
languagetext
titleПример файла notification.json
{
  "message": "Доступны обновления",
  "action": "restart"
}

...