@alexvangog

CI/CD системы для автоматизации тестирования Network OS (NOS)?

Здравствуйте,
Нужен совет или направление для поиска.
Ищу систему автимазации тестирования Network OS. Суть такая, что нужно автоматически протестировать очередную версию сетевой операционной системы. Этапы тестирования включают следующие шаги:
1) Залить софт на узел.
2) Собрать нужную топологию из узлов.
3) Залить нужную конфигурацию на все узлы. (Проверить сошлась ли сеть)
4) Загрузить конфигурацию в трафик генератор (Ixia или T-Rex),.
5) Выполнить ряд pre-test команд на всех сетевых узлах. (возможно нужен парсинг конкретных значений)
6) Запустить сам тест на трафик генераторе.
7) Удостовериться, что тест прошел успешно или неуспешно (смотреть счетчики на трафик генераторе и на самих узлах)
8) Собрать ряд post-test команд на всех сетевых узлах. (возможно нужен парсинг конкретных значений)
9) Сделать отчет по тесту.
10) Перейти к следующему тесту
И все это обязательно необходимо выполнять на реальном железном оборудовании.

Смотрел в сторону Jenkins, но готовых плагинов таких и не обнаружил, возможно плохо искал. Да и Jenkins используется в основном для работы с кодом. У меня же больше вопрос о работе с целой сетью.
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
@gauravpratap1991
Основываясь на вашем описании, вы ищете систему, которая может автоматизировать тестирование сетевой ОС на реальном оборудовании, включая такие задачи, как загрузка программного обеспечения, сбор топологии, загрузка конфигурации, генерация трафика, предварительные/последующие команды тестирования и создание отчетов.

Потенциальные решения:

Хотя Jenkins в первую очередь известен разработкой программного обеспечения, его можно адаптировать для тестирования сетей с помощью правильных плагинов и пользовательских скриптов. Однако, учитывая конкретные требования тестирования сетей, другие инструменты могут быть более подходящими:

Платформы автоматизации сетей:
Ansible: Мощный инструмент управления конфигурацией, который может автоматизировать такие задачи, как развертывание программного обеспечения, создание топологии и управление конфигурацией.
SaltStack: Похожий на Ansible, SaltStack может использоваться для автоматизации инфраструктуры, включая управление сетевыми устройствами.
Puppet: Еще один инструмент управления конфигурацией, который может автоматизировать задачи, связанные с сетью.
Фреймворки для автоматизации тестирования:
Robot Framework: Универсальный фреймворк для автоматизации тестирования, который может быть расширен библиотеками для взаимодействия с сетевыми устройствами.
TestNG: Фреймворк для тестирования на основе Java, который может использоваться для тестирования сетей с помощью пользовательских тестовых случаев.
Специализированные инструменты для тестирования сетей:
IXIA's IxNetwork: Комплексный инструмент для тестирования сетей, который может автоматизировать различные сценарии тестирования, включая генерацию трафика, тестирование производительности и проверку протоколов.
Wireshark: Популярный анализатор сетевых протоколов, который может быть интегрирован в сценарии автоматизации для захвата и анализа пакетов.
Пользовательские решения: Если ни один из вышеперечисленных инструментов не соответствует вашим точным требованиям, вы можете рассмотреть возможность создания пользовательского решения с использованием языков сценариев, таких как Python, Bash или Perl, в сочетании с API или библиотеками для автоматизации сетей.
Ключевые соображения:

Интеграция с генераторами трафика: Убедитесь, что выбранная система может интегрироваться с вашими генераторами трафика (Ixia, T-Rex) для автоматизации генерации трафика и анализа результатов.
Управление сетевыми устройствами: Система должна уметь управлять сетевыми устройствами (роутеры, коммутаторы) для таких задач, как загрузка программного обеспечения, изменение конфигурации и мониторинг.
Отчетность и аналитика: Система должна генерировать подробные отчеты о тестировании и предоставлять аналитику для выявления проблем и тенденций.
Масштабируемость: Учитывайте масштабируемость решения, поскольку в будущем вам может потребоваться тестировать более крупные сети или более сложные сценарии.
Тщательно оценивая эти варианты и учитывая свои конкретные требования, вы можете выбрать наиболее подходящую систему CI/CD для автоматизации тестирования вашей сетевой ОС.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы