Scrapli

Я наконец-то добралась написать про модуль scrapli.

Информация разделена на две части - “обычный” (синхронный) scrapli и асинхронный. Основы работы с модулем добавлены в книгу Python для сетевых инженеров, а асинхронная часть написана в книге Основы asyncio для сетевых инженеров.

Синхронный вариант также добавлен в английскую версию книги

Начинать надо с базовой книги, так как там расписаны основы, методы и так далее, а в asyncio только коротко отличия и примеры кода.

Также я подготовила примеры кода со scrapli:

В примерах показаны как базовые варианты подключения, так и параллельное подключение с потоками и asyncio. Примеры я еще буду добавлять.

Чем еще может быть интересен scrapli в асинхронном контексте - это единственный нормальный асинхронный telnet клиент, который я знаю. Остальные или старые (старый синтаксис async) или заброшены.

Коротко о scrapli

scrapli это модуль, который позволяет подключаться к сетевому оборудованию используя Telnet, SSH или NETCONF.

Также как и netmiko, scrapli может использовать paramiko или telnetlib (и другие модули) для самого подключения, но при этом предоставляет одинаковый интерфейс работы для разных типов подключения и разного оборудования.

Поддерживаемые платформы:

  • Cisco IOS-XE
  • Cisco NX-OS
  • Juniper JunOS
  • Cisco IOS-XR
  • Arista EOS

Несмотря на то, что на вид scrapli поддерживает мало платформ, кроме них еще есть scrapli community платформы и scrapli придуман так, чтобы добавлять свои платформы было достаточно просто.

Ссылки