Versions Compared

Key

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

...

  1. Установить puppet сервер.
  2. Настроить подключение КС с puppet сервером.
    Подключение к Puppet серверу задается в настройках Artix Control Center пункт "Паппет":
  3. Установить пакет artixcs-puppet-objects на машину, где установлен КС.

    Code Block
    languagetext
    sudo apt-get install artixcs-puppet-objects


  4. Перезапустить КС.
  5. Можно приступать к конфигурированию касс.

В пакете artixcs-puppet-objects поставляются:

  • классы - это инструкции с параметрами, которые будут выполняться на puppet узлах (кассах) для доведения узла до нужного состояния. Для удобства классы разбиты на группы. Например, в группе “Лояльность” есть несколько классов, которые отвечают за настройку разных систем лояльностей - “Купоны”, “Подарочные сертификаты”, “Внутренняя лояльность” и т.д.
  • глобальные параметры- это параметры, которые имеют одинаковое значение для всех классов, использующих их, если они не переопределены в конфигурационных метках. Поэтому при необходимости можно настроить их значения по умолчанию либо каждый раз в конфигурационных метках указывать значения для соответствующих параметров.
  • факты - это инструкции, которые выполняются на puppet узлах (кассах), чтобы вернуть на puppet сервер значение чего-либо, отражающее состояние узла. Факты возвращаются в формате “ключ - значение” и могут использоваться в классах как глобальные переменные для того, чтобы настроить puppet узел (кассу) в соответствии с полученным значением.
    Существуют системные и пользовательские факты:
    • системные факты - это стандартные факты, которые всегда возвращаются puppet узлом (например, какая операционная система, сколько оперативной памяти у узла и т.д.);
    • пользовательские факты - это дополнительные факты, которые запрашиваются с puppet узлов вместе с системными. Например, через пользовательские факты запрашивается список установленных пакетов Artix, в результате чего в ключе возвращается название установленного artix пакета, в значении - версия– версия.
  • конфигурационные метки – это набор настроек определенного класса. По умолчанию с пакетом поставляются самые часто применяемые конфигурационные метки:

    НаименованиеОписаниеПримечания
    Настройка чекаНастройки чека в ncash.iniПараметр по умолчанию:
    checkIdentifierMask = %(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[hhmmss])111
    Установка и обновлениеУстановка и обновление кассового ПО

    Параметр по умолчанию:
    splay = false
    dl_limit = 999999
    runinterval = 10
    repo =
    http://update.artix.su/

    Добавление лицензииДобавление лицензии на кассу
    Маркированные товарыНастройки модуля маркированных товаровПараметр по умолчанию:
    maskMilk = \s01(?<barcode>[0-9]{14})(21.{13}\s(17\d{6}|7003\d{10})|21.{6}|21.{8})\s93.{4}(\s3103(?<weight>\d{6}))?123
    enable = true

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

  • конфигурации – набор настроек со списком конфигурационных меток. По умолчанию с пакетом поставляется тестовая конфигурация, содержащая в себе конфигурационные метки из предыдущего пункта. После установки пакета конфигурация распространяется в тестовое окружение для того, чтобы ее можно было задействовать сразу после настройки puppet.
Info

Факты, группы классов, классы и глобальные параметры поставляются через пакеты. Не рекомендуется изменять или удалять их, т.к. это может повлиять на корректную работу конфигурирования puppet узлов (касс). При необходимости добавления функционала для конфигурирования следует обратиться в службу технической поддержки Artix.

...

  1. Создать конфигурационные метки на основе имеющихся классов. Чтобы настроить один из классов, требуется создать конфигурационную метку - это совокупность значений параметров одного класса. У классов есть обязательные и необязательные для заполнения параметры, а также у многих параметров есть значение по умолчанию. В конфигурационной метке каждый параметр может быть переопределен либо оставлен без изменений, если есть значение по умолчанию или значение параметра необязательно для заполнения. Одна конфигурационная метка может настраивать только один класс, но для одного класса может быть создано несколько конфигурационных меток. Например, если на разных кассах используются разные ФР, то для них можно создать разные конфигурационные метки, настраивающие один и тот же класс “Конфигурирование ФР”.
  2. Создать конфигурации на основе конфигурационных меток. Конфигурация

    -

    это совокупность конфигурационных меток. Она определяет итоговое состояние puppet узла (кассы), до которого он должен быть доведен. При создании конфигурации указывается версия кассы, которая будет установлена при применении данной конфигурации. После заполнения версии будет предоставлен список конфигурационных меток, которые можно назначить для соответствующей версии кассы.

    Info

    При создании/редактировании конфигурации также допускается переопределение глобальных параметров.

    Для переопределения глобальных параметров необходимо:

            1. Перейти во вкладку "Глобальные параметры".

            2. Выбрать в таблице необходимый объект.

            3. Установить флаг Image Added напротив поля "Изменить".

            4. Указать новое значение для глобального параметра.

            5. Сохранить изменения.

    Image Added

    Info

    Для глобальных параметров с типами array и map существует возможность импортировать дополнительные настройки из .csv-файла. Для этого необходимо нажать кнопку "Импортировать параметры из файла .csv" Image Added:
    Image Added

    По умолчанию существует 7 глобальных параметров:

    НаименованиеОписаниеПримечания
    artixCslpХост кассового сервера

    В значении требуется указать <Адрес кассового сервера>. В случае отсутствия адреса в определенной конфигурации, адрес будет взят из глобального параметра artixCsIp.

    Artix-классы, которые могут использовать глобальный параметр artixCsIp:

    Название Artix-классаНазвание параметра
    Софт-чекserverHost
    Отложенный чекserverHost
    Артикс БонусserverHost
    Подарочные сертификатыserverHost
    Счетчикиhost
    КупоныonlineCouponHost
    ОбувьmarkVerifyHost
    Табачная продукцияmarkVerifyHost
    УведомленияnetworkTesterHost
    БезопасностьadditionalRegistrationCardHost, cardVerificationHost
    Настройка времениntpServers


    egaisURLsURL транспортного модуля ЕГАИС

    Используется для продажи и возврата акцизной алкогольной продукции.

    В ключе требуется указать <код магазина>, в значении – <URL транспортного модуля ЕГАИС>. Если поле "значение" для магазина не будет заполнено, то оно будет заполняться значением из соответствующего поля "address" в классе "ЕГАИС продажа"

    processingClickPassИндивидуальные настройки процессинга ClickPass для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении <секретный ключ>_<идентификатор пользователя>.

    Например, ключ – shopCode1_cashCode2, значение – 111_222.  Если поле "значение" для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей secretKey, merchantUserId в классе "ClickPass" 

    processingRaiffeisenSBPИндивидуальные настройки процессинга СБП Райффайзен для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении <идентификатор партнёра в СБП>_<секретный ключ>_<идентификатор статического QR-кода>_<данные статического QR-кода>. Например, ключ – shopCode1_cashCode2, значение sbpMerchantId_secretKey_staticQrId_staticQrPayload. Если значение для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей sbpMerchantId, secretKey, staticQrId, staticQrPayload в классе "СБП Райффайзен"

    processingOplatiИндивидуальные настройки процессинга Оплати для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении – <Адрес сервера>_<Регистрационный номер кассы>.

    Например, ключ – shopCode1_cashCode2, значение – 192.168.0.1_567. Если поле "значение" для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей url, regNum в классе "Оплати процессинг"

    processingYarusИндивидуальные настройки процессинга Yarus для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении – <Хост терминала>_<Порт терминала>_<Порт сетевого принтера>.

    Например, ключ – shopCode1_cashCode2, значение – 192.168.0.1_5757_5858. Если поле "значение" для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей host, port, printerPort в классе "Yarus процессинг"

    scoBagBarcodesШтрих-код товара, который будет добавляться в чек как пакет

    В ключе требуется указать код магазина, в значении – штрих-код пакета. Если поле "значение" для магазина не будет заполнено, то оно будет заполняться значением из соответствующего поля "bagBarcode" в классе "КСО:Чек"



  3. Распространить изменения до нужного окружения. Окружение представляет собой изолированное состояние конфигураций (вместе с классами, глобальными параметрами, фактами, конфигурационными метками) на определенный момент времени. Использование окружений помогает обезопасить некорректное конфигурирование “боевых” puppet узлов (касс). По умолчанию предоставляется 4 окружения:
    • "Разработка" - вся работа по настройке и созданию конфигураций выполняется в этом окружении. Конфигурации из этого окружения не могут быть назначены на узлы (кассы).
    • "Тестовое" - после того, как конфигурации окончательно настроены в окружении “Разработка”, все изменения требуется распространить в это окружение и назначить соответствующие конфигурации на тестовые узлы (кассы).
    • "Пилотное" - если конфигурации из окружения “Тестовое” корректно применились на тестовых узлах (кассах) и работа узлов (касс) соответствует ожидаемому поведению, то все изменения из окружения “Тестовое” можно распространить в данное окружение и назначить соответствующие конфигурации на узлы (кассы), которые выделены в качестве тестовых, но реально используемых.
    • "Боевое" - если реально используемые тестовые узлы (кассы) с примененными конфигурациями из окружения “Пилотное” поработали отведенное время без ошибок, то все изменения из окружения “Пилотное” можно распространить в данное окружение и назначить соответствующие конфигурации на оставшиеся реально используемые узлы (кассы).

      Info
      Любое изменение в окружении “Разработка” требуется распространять через всю цепочку окружений. Это сделано для избежания некорректной настройки узлов (касс), т.к. торговые сети могут понести большие убытки.


  4. Назначить конфигурации на кассы и произвести стыковку кассы и КС. На кассы могут быть назначены конфигурации из всех окружений, кроме “Разработка”.

    Info
    После стыковки кассы с КС все конфигурации будут помещены в директорию кассы /linuxcash/cash/conf/ncash.ini.d/puppet.
    Также допускается переопределение глобальных параметров.

    Посмотреть статус применения конфигурации можно с помощью кнопки-индикатора на информационной панели:
    Image Added
    При нажатии на кнопку-индикатор осуществляется обновление статуса объекта. При наведении на кнопку-индикатор всплывает дополнительная информация:
    Image Added

Anchor
стыковкакассыикс
стыковкакассыикс
Стыковка кассы и кассового сервера

...

  1. Добавьте кассу на КС. Подробнее об этом можно прочитать в разделе "Архитектура торговой сети".
  2. На кассе в конце файла /etc/hosts добавить строчку:

    No Format
    languagebash
    192.169.10.71<ip-адрес_puppet_сервера> puppet
     


  3. Проверьте связь с puppet сервером с помощью команды:

    Code Block
    languagebashtext
    ping puppet


  4. В конфигурационный файл /etc/puppet/puppet.conf добавьте секцию [agent]. В параметре certname укажите ID кассы с кассового сервера:Image Removed
    Image Added

    Info
    В настройку certname из секции [main] изменения не вносим.


    No Format
    [main]
    logdir = /var/log/puppet
    vardir = /var/lib/puppet
    ssldir = /var/lib/puppet/ssl
    rundir = /var/run/puppet
    factpath = $vardir/lib/facter
    templatedir = $confdir/templates
    certname = cash-1-1
    [master]
    ssl_client_header = SSL_CLIENT_S_DN
    ssl_client_verify_header = SSL_CLIENT_VERIFY
    [agent]
    certname = _cash_100500_67c3c935
    server = puppet
    masterport = 8140
    


  5. Запустите puppet с помощью получение конфигураций с puppet при помощи команды:

    Code Block
    languagebashtext
    puppet agent --test


Удаление puppet-сертификата

В случае выхода из строя кассы и замены ее на новую необходимо удалить puppet-сертификат старой кассы, чтобы новая касса могла работать с puppet сервером. Новый puppet-сертификат будет сгенерирован при первом обращении кассы к puppet серверу.

Panel

Функционал реализован для объектов архитектуры торговой сети "касса" и "МКС".

Для удаления puppet-сертификата необходимо в дереве объектов выбрать нужный объект, перейти во вкладку "Общее" и нажать кнопку "Удалить puppet-сертификат":
Image Added

После удаления puppet-сертификата будет выведено сообщение:
Image Added

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

Для обновления конфигурации нажмите кнопку "Обновить конфигурацию":
Image Added

Будет выведено сообщение:
Image Added

Об успешном обновлении конфигурации и подписании puppet-сертификата свидетельствует зеленый цвет следующих кнопок-индикаторов:
Image Added