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 придуман так, чтобы добавлять свои платформы было достаточно просто.
Ссылки
- scrapli в книге Python для сетевых инженеров
- async scrapli в книге “Основы asyncio для сетевых инженеров”
- Примеры кода scrapli
- Репозиторий scrapli
- Документация scrapli
- scrapli community
- stream Димы Фиголя “scrapli – Python library for SSH to network devices with Carl Montanari”
- примеры кода в репозитории scrapli