Программирование на языке Python для сетевых инженеров. Продвинутый уровень (PYTHON_NETADV) – Программа курса

Программа курса

Модуль 0. Установка сред написания программ и скриптов, установка тестовых сетевых сред

  • Работа с Jupyter Lab
  • Установка Docker
  • Установка и настройка ContainerLab
  • Лабораторная работа 0. Подготовка среды для упражнений

Модуль 1. Парсинг конфигурационных файлов и выводов команд устройств

  • Основы парсинга текстовых документов в Python
  • Библиотека TextFSM
  • Библиотека TTP
  • Соединение операций библиотеки Netmiko и парсинга выводов команд
  • Лабораторная работа 1. Парсинг выводов команд сетевого оборудования

Модуль 2. Библиотека Batfish

  • Назначение инструмента Batfish
  • Установка контейнера Batfish
  • Подготовка к использованию Batfish в Python
  • Возможности Batfish по анализу файлов конфигурации
  • Лабораторная работа 2. Установка Batfish и работа с конфигурационными файлами устройств

Модуль 3. Библиотека Jinja2 для создания конфигурационных файлов

  • Подготовка к использованию Jinja2
  • Синтаксис шаблонов Jinja2
  • Лабораторная работа 3. Создание конфигурационных файлов с помощью Jinja2

Модуль 4. Nornir (подготовка и инициализация)

  • Установка и подготовка
  • Построение инвентарных данных
  • Основы синтаксиса
  • Лабораторная работа 4. Установка и подготовка фреймворка Nornir

Модуль 5. Nornir (использование)

  • Конфигурационные опции и подготовка результатов
  • Задания и обработка инвентарных данных
  • Пользовательские задания
  • Обработка неполадок и ошибок заданий
  • Лабораторная работа 5. Использование Nornir для настройки и обслуживания сетевого оборудования

Модуль 6. Готовые библиотеки и фреймворки от производителей оборудования

  • Рассмотрение работы библиотек различных сетевых производителей (Cisco, Juniper и т.д.)
  • Лабораторная работа 6. Использование фреймворков и библиотек от производителей оборудования

Модуль 7. Использование инструментов CI/CD для работы с сетевым оборудованием

  • Установка и настройка Jenkins
  • Построение pipeline в Jenkins для выполнения серий заданий на сетевых устройствах
  • Лабораторная работа 7. Использование Jenkins для работы с сетевым оборудованием