Сервис представляетс собой собой GRPC API на основе JAVA. Обеспечивает управление индивидуальными конфигурациями OTT для Предоставляет CRUD операции к базе данных индивидуальных конфигураций OTT устройств (ESR-10) - создание, редактирование, прикрепление к привязке инициализацииудаление.
Сервис может запускаться на отдельном сервере. Для его запуска требуется JAVA 8Java 8 и выше (в ходе разработки была проверена работоспособность сервера на Java 11). По умолчанию сервис работает на порту 50051 (стандартный порт GRPC).
Файл конфигурации (в формате HOCON) находится /etc/eltex-jerry/application.conf.
В конфигурации настраивается взаимодействие с mongodb , адрес MongoDB и порт, на котором работает сервис Jerry (в случае, если MongoDB работает на отдельном хосте - надо не забыть исправить дефолтные настройки).
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
jerry {
mongo {
# mongodb connection uri
# default: "mongodb://localhost:27017/jerry"
uri = "mongodb://localhost:27017/jerry"
}
service {
# the port to listen gRPC on
# default: 50051
port = 50051
}
} |
Логи находятся в файле /var/log/eltex-jerry/main.log
Со стороны EMS настройка взаимодействия c Jerry осуществляется "Администрирование" → "Настройка сервера" → "Системные модули" → "Wireless common" :
В в разделе "Доступ к сервису индивидуальных конфигураций OTT(jerry)":
Список файлов конфигурации редактируется в Wireless - Менеджер правил инициализации - ОТТ индивидуальная конф. Уникальным идентификатором конфигурации является сочетание Тип-Имя. Это нужно, чтобы иметь возможность создать инидивидуальную конфигурацию для разных типов устройств под одним именем и потом привязать ее к одной привязке инициализации, которая, как известно, не несет в себе тип устройства. Тип устройства берется из трапа в момент обнаружения устройства.
В параметры привязки инициализации (в базе EMS) сохраняется только имя индивидуальной конфигурации.
База данных Jerry это MongoDB GridFS, в которой хранятся конфигурации в виде файлов в том формате, который используется на конкретном устройстве. При обращении устройства на сервис активатор содаржимое индивидуальной конфигурации добавляется в ответ устройству в виде JSON (файл строка за строкой сохраняется в том виде, в котором его ожидает устройство).
Пример ответа Сервис-Активатора для ESR-10. ESR-10 ожидает последовательность команд ESR CLI в виде JSON array в параметре cli. Все команды последовательно применяются на устройстве.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
"code": 0,
"msg": "OK",
"ipsec": {
"remote-gateway": "40.40.40.40",
"xauth-password": "A4eCP3KnxqfXuLFIuglv1KpQ",
"xauth-user": "a8:f9:4b:b2:48:e0",
"auth-alg": "md5",
"dh-group": 1,
"dpd-delay": 60,
"encrypt-alg": "aes",
"force-establish": "up",
"gre-mode": "up",
"gre-mtu-offset": 148,
"lifetime": 86400,
"mode-cfg": "up",
"nat": "up",
"nat-keepalive": 30,
"password": "123456789",
"pfs-group": 0,
"sa-auth-alg": "md5",
"sa-encrypt-alg": "aes",
"sa-lifetime": 3600,
"status": "up",
"use-xauth-passwd": "off",
"gre-ping-counter": 3
},
"ipsec-activator": {
"wait-timer": 30,
"update-time": 120
},
"fw-check-crt": null,
"cli": [
"hostname ESR-VIRA",
"system fan-speed auto",
"syslog console debug",
"object-group network server_COA",
"ip address-range 192.168.26.206",
"exit"
] |
Установка сервиса Jerry: apt-get install eltex-jerry
...