ЭрикссонСофт

+7 (953) 284-42-23

Программа «EDA» (Enhanced Dynamic Activation) представляет собой виртуальный сетевой элемент с движком динамической активации сервисов. Продукт предназначен для автоматического включения сетевых сервисов, лицензий или функций без необходимости длительных ручных операций или перезапуска системы. Реализован с использованием REST API и CLI-интерфейса, разворачивается как сетевой элемент на OpenStack (Nova instance / Docker).

Область применения

Программное обеспечение предназначено для использования в следующих сценариях:

Динамическая активация функций и сервисов в сетевой инфраструктуре

Управление сетевыми сервисами в виртуализированных средах (NFV/CNF)

Динамическое выделение вычислительных ресурсов

Автоматическая настройка компонентов сети

Интеграционное тестирование смежного телекоммуникационного оборудования

Обучение и повышение квалификации специалистов в области сетевых технологий

Место в сетевой инфраструктуре

В архитектуре сетей EDA выполняет функции уровня управления активацией сервисов:

Управление шаблонами активации (Service Models)

Управление жизненным циклом активаций

Координация активаций на сетевых элементах

Уведомления о статусе активаций через webhook

Сбор и предоставление метрик состояния

Интеграция с внешними OSS/BSS-системами через REST API

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

Ключевые особенности

Основными особенностями данной реализации являются:

Динамическая активация функций — включение программных возможностей без полной переустановки ПО

Автоматизация — уменьшение количества ручных действий инженеров

Гибкое лицензирование — активация приобретённых функций или ёмкости по лицензии

Масштабирование — добавление ресурсов при росте нагрузки

Минимизация простоев — многие изменения можно выполнять без остановки сервисов

REST API (FastAPI) — северный интерфейс элемента

CLI-клиент поверх API для оперативного управления

Движок активации с поддержкой состояний, деактивации, ручного и автоматического retry

Mutex по целевому сетевому элементу для сериализации активаций

Блокировка сетевого элемента (maintenance mode)

Пакетная активация сервисов

Webhook-уведомления о завершении активаций

Алармы при сбоях активаций

Prometheus-метрики для мониторинга

Опциональная аутентификация по API-ключу

Программа EDA обеспечивает выполнение следующих основных функций:

Управление шаблонами активации (создание, просмотр, удаление)

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

Запуск активаций сервисов по шаблонам

Отслеживание статуса активаций в реальном времени

Деактивация сервисов

Автоматический retry активаций при сбоях

Пакетная активация нескольких сервисов

Блокировка сетевых элементов (maintenance mode) с автоматическим возобновлением активаций

Отправка webhook-уведомлений о завершении активаций

Генерация алармов при сбоях

Сбор и экспорт метрик в формате Prometheus

Аутентификация запросов к API

Graceful shutdown по сигналам

Программная реализация основана на многоуровневой архитектуре:

Слои исполнения:

API слой — FastAPI-приложение с роутерами, схемами и AAA-зависимостью

Слой управления активациями — движок активации с поддержкой workflow состояний

Слой управления сетевыми элементами — регистрация, блокировка, управление NE

Слой хранения — SQLite-хранилище для шаблонов, сетевых элементов, активаций, логов и алармов

Слой наблюдаемости — логи, метрики, webhook-уведомления

Ключевые компоненты:

REST API (FastAPI) — северный интерфейс элемента

eda-cli — CLI-клиент поверх API

Движок активации — workflow с состояниями CREATED → VALIDATING → ACTIVATING → ACTIVE/FAILED

Mutex по целевому NE — сериализация активаций на один сетевой элемент

Блокировка NE — перевод элемента в состояние "заблокирован" с автоматическим возобновлением

Хранилище на базе SQLite

Программное обеспечение функционирует в следующих режимах:

Режим ожидания:

HTTP-сервер прослушивает заданные порты (API, метрики, healthcheck)

Шаблоны активаций, сетевые элементы и активации загружены из хранилища и готовы к обработке запросов

Режим обработки запросов:

Прием и разбор входящих API-запросов

Валидация входных данных

Передача запросов в слой бизнес-логики

Формирование ответов с актуальными кодами результата

Режим выполнения активаций:

Движок активации последовательно выполняет шаги workflow

Отслеживание состояния активации

Обновление статуса в хранилище

Формирование лога выполнения шагов

Отправка webhook-уведомлений по завершении

Режим конфигурирования:

Изменение параметров работы в реальном времени через переменные окружения

Динамическое изменение уровня логирования

Программа предоставляет REST API (FastAPI) с поддержкой следующих групп методов:

Шаблоны активации:

POST /templates — создание шаблона активации

GET /templates — получение списка шаблонов

GET /templates/{id} — получение шаблона по идентификатору

DELETE /templates/{id} — удаление шаблона

Сетевые элементы:

POST /network-elements — регистрация сетевого элемента

GET /network-elements — получение списка сетевых элементов

GET /network-elements/{id} — получение сетевого элемента по идентификатору

DELETE /network-elements/{id} — удаление сетевого элемента

POST /network-elements/{id}/block — перевод в maintenance mode

POST /network-elements/{id}/unblock — снятие блокировки

Активации:

POST /activations — запуск активации

POST /activations/batch — пакетная активация

GET /activations — получение списка активаций

GET /activations/{id} — получение активации по идентификатору

GET /activations/{id}/status — получение текущего статуса

GET /activations/{id}/logs — получение лога выполнения

POST /activations/{id}/deactivate — деактивация

POST /activations/{id}/retry — повторная попытка после сбоя

DELETE /activations/{id} — удаление записи

Алармы:

GET /alarms — получение списка алармов

POST /alarms/{id}/clear — снятие аларма

Системные:

GET /health — проверка состояния

GET /version — получение версии

GET /metrics — получение метрик в формате Prometheus

Программа предоставляет CLI-клиент (eda-cli) с поддержкой следующих команд:

Системные команды:

eda-cli health — проверка состояния элемента

Команды управления шаблонами:

eda-cli template create — создание шаблона активации

eda-cli template list — вывод списка шаблонов

Команды управления сетевыми элементами:

eda-cli ne register — регистрация сетевого элемента

eda-cli ne block — блокировка сетевого элемента

eda-cli ne unblock — снятие блокировки

Команды управления активациями:

eda-cli activation create — запуск активации с ожиданием завершения

eda-cli activation status — просмотр статуса активации

eda-cli activation logs — просмотр лога выполнения

eda-cli activation deactivate — деактивация сервиса

eda-cli activation retry — повторная попытка после сбоя

eda-cli activation list — вывод списка активаций

eda-cli activation batch — пакетная активация

Команды управления алармами:

eda-cli alarm list — вывод списка алармов

eda-cli alarm clear — снятие аларма

Текущая реализация включает:

REST API (FastAPI) — основной интерфейс управления

CLI (eda-cli) — тонкий клиент поверх REST API

Интерактивная документация OpenAPI (Swagger UI) — доступна по адресу /docs

Prometheus-метрики — доступны по адресу /metrics

Healthcheck — доступен по адресу /health

Программное обеспечение предоставляет CLI-интерфейс с поддержкой следующих возможностей:

Команды мониторинга состояния:

health — проверка состояния элемента

template list — вывод списка шаблонов активаций

activation list — вывод списка активаций

activation status <id> — просмотр статуса активации

activation logs <id> — просмотр лога выполнения шагов

alarm list — вывод списка алармов

Команды управления:

template create — создание шаблона активации

ne register — регистрация сетевого элемента

ne block / unblock — управление блокировкой сетевого элемента

activation create — запуск активации

activation deactivate — деактивация сервиса

activation retry — повторная попытка после сбоя

activation batch — пакетная активация

alarm clear — снятие аларма

Дополнительные возможности:

Поддержка JSON-вывода для скриптов и интеграций (флаг --json)

Поддержка ожидания завершения активации (флаг --wait)

Параметризация активаций через --params

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

Параметры сети и идентификации:

EDA_API_URL — URL API-сервера (по умолчанию http://localhost:8080)

EDA_API_KEY — секретный ключ для аутентификации (опционально)

Параметры сервера:

HOST — хост для запуска сервера (по умолчанию 0.0.0.0)

PORT — порт для запуска сервера (по умолчанию 8080)

Параметры хранения:

EDA_DB_PATH — путь к файлу SQLite базы данных

Параметры выполнения:

Автоматический retry — максимальное количество попыток и пауза между ними

Параметры активации — передаются в момент запуска через JSON

При запуске программа автоматически загружает конфигурацию из переменных окружения.

Параметры активации передаются через JSON-файлы при создании активации (флаг --file).

Поддерживается загрузка пакетных активаций из файлов (batch_activation.json).

Программное обеспечение поддерживает вывод логов выполнения активаций:

Логи шагов активации доступны через API и CLI

Поддерживается потоковый вывод логов (флаг -f)

Формат логов содержит временную метку, шаг выполнения и статус

Все события активаций сохраняются в хранилище и доступны через API и CLI.

Лог выполнения активации включает:

Последовательность выполненных шагов

Статус каждого шага (успех / ошибка)

Временные метки выполнения

Количество попыток при автоматическом retry

Шаблон активации определяет последовательность шагов для активации сервиса. В текущей реализации структура шаблона включает:

Идентификатор шаблона (id)

Название шаблона (name)

Список шагов (steps) с указанием порядка выполнения

Поддерживается:

Создание шаблона через CLI и API

Создание шаблона из JSON-файла

Просмотр списка шаблонов

Удаление шаблона

Хранилище сетевых элементов предназначено для управления целевыми элементами активации. В текущей реализации структура включает:

Идентификатор сетевого элемента (id)

Название сетевого элемента (name)

Тип сетевого элемента (type)

IP-адрес сетевого элемента (ip)

Состояние блокировки (blocked)

Поддерживается:

Регистрация нового сетевого элемента

Просмотр списка сетевых элементов

Удаление сетевого элемента

Блокировка сетевого элемента (maintenance mode)

Снятие блокировки с автоматическим возобновлением HELD-активаций

Хранилище активаций предназначено для отслеживания состояния активаций. В текущей реализации поддерживаются состояния:

CREATED — активация создана

VALIDATING — выполняется валидация

ACTIVATING — выполняется активация

ACTIVE — активация успешно завершена

FAILED — активация завершилась с ошибкой

DEACTIVATED — активация деактивирована

HELD — активация ожидает разблокировки сетевого элемента

Особенности управления активациями:

Автоматический retry до 3 раз с паузой между попытками

Mutex по целевому сетевому элементу — конкурентные активации сериализуются

При блокировке NE новые активации встают в HELD и автоматически возобновляются при разблокировке

Webhook-уведомления по завершении активации

Пакетная активация с независимой обработкой каждого элемента

Алармы автоматически генерируются при окончательном сбое активации (после исчерпания всех попыток auto-retry). Структура аларма включает:

Идентификатор аларма (id)

Идентификатор активации (activation_id)

Время создания (created_at)

Состояние (активен / снят)

Поддерживается:

Просмотр списка алармов с фильтрацией по активным

Снятие аларма

Программное обеспечение поддерживает сборку через следующие способы:

Локальная установка через pip (pip install -e ".[dev]")

Docker-образ с готовым окружением

Развертывание на OpenStack через Heat-шаблон

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

Модульные тесты (unit tests) для движка активации, хранилища, метрик

Интеграционные тесты для сценариев жизненного цикла активаций (успех / сбой / retry / деактивация)

API-тесты для проверки REST API (жизненный цикл шаблонов, NE, активаций)

CLI-тесты (end-to-end через реальный HTTP-сервер)

Тесты mutex по целевому NE и блокировки NE с возобновлением HELD

Тесты auto-retry с алармами

Тесты webhook-уведомлений

Тесты пакетной активации

Тесты /metrics и аутентификации по API-ключу

Общее количество тестов — 27.

Расширение набора поддерживаемых сценариев активации

Разработка эталонных сценариев для регрессионной проверки

Воспроизводимые сценарии с документированными командами запуска

Матрица сборок для Windows (MSVC/MinGW) и Linux

Публикация тестовых логов и артефактов при падениях

Конвейер статического анализа

Бенчмарки латентности обработки запросов

Расширенные метрики (гистограммы латентности, счетчики ошибок по типам)

Автоматическая проверка регрессий производительности

Валидация и лимиты для API-интерфейсов (размер полезной нагрузки, частота запросов)

Негативные и fuzz-тесты для путей парсеров

Модель угроз и документация

Текущая реализация:

{
"id": "string",
"name": "string",
"steps": ["step1", "step2", "step3"]
}

Текущая реализация:

{
"id": "string",
"name": "string",
"type": "string",
"ip": "string",
"blocked": false
}

Текущая реализация:

{
"id": "string",
"template_id": "string",
"ne_id": "string",
"status": "CREATED | VALIDATING | ACTIVATING | ACTIVE | FAILED | DEACTIVATED | HELD",
"params": {},
"logs": [],
"webhook": "string",
"auto_retry_max": 3,
"auto_retry_backoff": 2,
"created_at": "timestamp",
"updated_at": "timestamp"
}

Текущая реализация:

{
"id": "string",
"activation_id": "string",
"created_at": "timestamp",
"active": true
}

Отдел продаж

+7 (953) 284-42-23

+7 (953) 284-47-36

sales@ericssonsoftware.ru

Мы в соц.сетях

Информация

Адрес

242504
Брянская область
Карачевский район, Вишневка
Молодёжная улица, 33

Информация

Отдел продаж

+7 (953) 284-42-23

sales@ericssonsoftware.ru

Адрес

242504
Брянская область,
Карачевский район,
Вишневка, Молодёжная улица, 33