1. Подготовка

Для корректной настройки базового образа ECSS-10 и issue ofline server (далее IOS) необходимо скачать готовые образы по следующей ссылке.

В данном архиве находятся образы ECSS-10 и issue ofline server, а также хеш-образы для проверки их целостности.

Перечень необходимых данных для авторизации:

 Данные для авторизации

IOS test/testecss
ecss-10 ecss/ecss
ecss-10 mysql root/ssw
elmi-cli admin/testecss

Каждый образ получает сетевые настройки по DHCP, необходимо задать статические настройки.

2. Настройка базового образа ECSS

В данном образе уже имеются все необходимые сервисы для работы одной ноды, вам остается настроить сервисов для вашей сети.

Сделать это можно командой dpkg-reconfigure, например dpkg-reconfigure ecss-node.

  • Чтобы правильно сконфигурировать ECSS-10 для работы вне кластера — воспользуйтесь инструкцией по установке для одной ноды.
  • Если вам необходим кластер — необходимо настроить ECSS-10 согласно этой инструкции. Также, рекомендации по настройке для кластера можно найти здесь.
    Сервисы epmd и glusterfs отсутствуют в базовом образе, но необходимы для работы кластера, их необходимо установить согласно следующим инструкциям (epmd и glusterfs).

Также (независимо от наличия кластера) нужно обратить внимание на следующий конфигурационный файл:

/etc/dnsmasq.d/ecss-broker

В нем необходимо указать актуальные сетевые настройки

Пример для кластера:

ecss1/ecss2

address=/primary.broker.ecss/192.168.1.1
address=/secondary.broker.ecss/192.168.1.2
BASH

После запуска нод следует убедиться, что у вас указана верная информация, командой system/media/registrar/info.

Осталось подготовить ноды для работы через elm, для этого делаем следующее:

  • на каждой ноде открываем файл /etc/ecss/ecss-ds/ds1.config
  • редактируем по следующей инструкции:

     Нажмите здесь для раскрытия...
    1. Обновить пакеты ECSS до актуальной версии _14.7+.

    2. При обновлении, принять изменение конфигурации либо внести секцию описания realm:

      {mycelium_client, [
          {realms, [
              {elm_realm, "/ssw", "ssw", "ssw", 1, [
                  #{group => elm_l, priority => 9, host => "primary.broker.ecss", port => 5672, heartbeat_timeout => 2, count => 1},
                  #{group => elm_r, priority => 8, host => "secondary.broker.ecss", port => 5672, heartbeat_timeout => 2, count => 1}
              ]}]}]}
      CODE
    3. Для того чтобы ECSS-10 начал использовать лицензию elm, нужно настроить конфигурацию ДСа /etc/ecss/ecss-ds/ds1.config (если ДС работает в кластере, нужно настраивать на обоих хостах) следующим образом:

      {ecss_elm_adapter, [
          {connection, [
            {elm_host, "https://<HOST>:8098/"}, % Здесь указывается адрес на котором развернут ELM-сервер
            {model, "ECSS10"}, % Здесь можно указать имя модели, но нужно учитывать, чтобы на сервере ЕЛМ, в лицензии, использовалась именно та модель, которая была указана
            {license_fail_timer, 10000}, % Таймер повтора попытки, если что-то пошло не так
            {license_pull_timer, 30000}  % Период опроса лицензии
          ]},
          {licence_backend, elm}, % по умолчанию используется старая схема лицензирования (lpm)
          {role, storage}
        ]}
      CODE
    4. Запустить сервис ecss-elm-adapter. Адаптер достаточно установить только на одном из хостов.

      sudo systemctl start ecss-elm-adapter.service
      CODE
    5. Важно, чтобы в хост был вставлен токен для работы с elm.
    6. При работе с elm также понадобится паспорт SSW (если он уже есть, то делать ничего не нужно).
    7. Для генерации лицензии elm нужны такие параметры как:

      1. serial — параметр ssw_id из паспорта;
      2. mac — параметр ssw_id из паспорта;
      3. model — параметр model из конфигурации SSW, сморим пункт 3 выше;
      4. public key — зашит в конфигурацию ecss_elm_adapter'а:

      -----BEGIN PUBLIC KEY-----
      MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6y7F1CL08ofWMgDivFpj
      OdVxVjB9hHt8iwJaw8F4053P6qOnt16UJc8VCVIYTHVE2I0lBQE3JBHgW8B4wDxT
      7jiLVaeq5ZAtSn4Shh9a59OEaU63BOTGxjghS2QyYXEsQjmKJebZt3DdP3jxgXwI
      sK037ZG/CTzKpZa/7V2HO9KRJwhUWMdjDmRftskkw3x3zkuKGyWw155dcdukwMHy
      rQCxc5wz9X0uKlJ/Lsrvq3xZBvZMkwLjBSqp9lAsgokyZDuPj8/WD8HcL1a3vQkY
      hLQv9gLu71i1lEackUUcqZqI71+ZmhGBmVgkKkYA9YXtEPlD6bd11geWiMHqlDHf
      aQIDAQAB
      -----END PUBLIC KEY-----
      CODE

      Ecss_elm_adapter распространяется в виде deb-пакета. Ссылка на репозиторий "ecss_elm_adapter" — https://gitlab.eltex.loc/common/ecss_elm_adapter.

Пример:

{mycelium_client, [
	{realms, [
		{elm_realm, "/ssw", "ssw", "ssw", 1, [
			#{group => elm_l, priority => 9, host => "primary.broker.ecss", port => 5672, heartbeat_timeout => 2, count => 1},
			#{group => elm_r, priority => 8, host => "secondary.broker.ecss", port => 5672, heartbeat_timeout => 2, count => 1}
		]}
	]}
]}
BASH

Вторая важная часть кода:

{ecss_elm_adapter, [
	{connection, [
		{elm_host, "https://192.168.122.203:8098/"}, % Здесь указывается адрес на котором развернут ELM-сервер
		{model, "ECSS-10"}, % Здесь можно указать имя модели, но нужно учитывать, чтобы на сервере ЕЛМ, в лицензии, использовалась именно та модель, которая была указана
		{license_fail_timer, 10000}, % Таймер повтора попытки, если что-то пошло не так
		{license_pull_timer, 30000} % Период опроса лицензии
	]},
	{licence_backend, elm}, % по умолчанию используется старая схема лицензирования (lpm)
]}
BASH

3. Настройка базового образа issue offline server

Данный сервер самостоятельно настраивать нет необходимости, все необходимое уже настроено. Остается удалить лицензии и сертификаты, если они там уже есть и добавить ваши:

 полезные команды

sudo elmi-cli — заходим в конфигуратор elm.
license — заходим в меню лицензий.
set device --file <файл сертификата устройства> — устанавливаем сертификат.
show device --serial <серийный номер устройства> — запрашиваем информацию по определённому устройству.
show devices — смотрим все устройства, что нам доступны.
show license — смотрим лицензии.
set license --file <файл лицензии> — устанавливаем лицензии.
delete device --serial <серийный номер устройства> — удалить сертификат.
get scheme current --file <path to output file> — выгрузить в файл ту схему, которая была ранее инсталлирована.
set scheme --file <path to input file with licensing scheme> — применить схему из файла.

  1. Необходимо зайти в конфигуратор elm на IOS, используя sudo elmi-cli;

  2. После чего нужно ввести licence;

  3. Смотрим наличие устройства командой show devices.

    elmi-license> show devices
    1. Serial: ECSS-GREENATOM; Mac: ECSS-GREENATOM; Model: ECSS-10; User label: ECSS-10 3.14.8.140 ECSS-GREENATOM; Source IP: 192.168.122.130; Certificate status: valid
    
    End of list
    BASH

    Eсли указана такая же такую надпись, но с вашим IP, то все хорошо и ничего делать не нужно.

    В ином случае удаляем устройство командой delete device --serial <серийный номер устройства>, серийный номер знаем из вывода предыдущей команды.


  4. После чего можно перезаписать лицензию:

    elmi> main 
     > main
       license
       users
    elmi> set license --file greenatom.5.license
    You will set or overwrite license data from file 'greenatom.5.license'. Are you sure? (y/N) y
    License data registration command 29 is created. Please wait...
    elmi> 
    BASH
  5. Далее необходимо выгрузить и заново применить схему:

    elmi> license 
       main
     > license
       users
    elmi-license> get scheme current --file scheme
    License 'greenatom' scheme is saved to file 'scheme'
    elmi-license>
    
    elmi-license> set scheme --file scheme
    You will set licensing scheme from file 'scheme'. Are you sure? (y/N) y
    Licensing scheme validation command 30 is created. Please wait...
    elmi-license>
    BASH
  6. После чего удалить и добавить сертификат заново

    elmi-license> show devices
    1. Serial: ECSS-GREENATOM; Mac: ECSS-GREENATOM; Model: ECSS-10; User label: ECSS-10 3.14.8.140 ECSS-GREENATOM; Source IP: 192.168.122.130; Certificate status: valid
    
    End of list
    elmi-license> delete device --serial ECSS-GREENATOM
    You will delete registered device with serial=ECSS-GREENATOM and mac=ECSS-GREENATOM. Are you sure? (y/N) y
    OK
    elmi-license> set device --file ECSS-GREENATOM.5.device
    You will set or overwrite device data from file 'ECSS-GREENATOM.5.device'. Are you sure? (y/N) y
    Device data registration command 31 is created. Please wait...
    elmi-license>
    BASH
  7. Командой show devices можно заново посмотреть устройства, если ситуация из п.3 повторяется — необходимо перепроверить конфигурацию на ECSS-10 в файле /etc/ecss/ecss-ds/ds1.config и выполнить команду systemctl restart ecss-ds.service.