Открыть список
Как стать автором
Обновить

Комментарии 10

Я не разбираюсь в конфигурации сетевого оборудования, но что касается программирования на python. Почитайте больше материала по нему, например, про менеджер контекста with, например для работы с файлами, списки (list), а еще лучше словари (dict), например для ваших строк идентификации. Они являются итерируемыми объектами и очень удобно ходить по ним в цикле. Для логирования есть удобный модуль logging, ну и т.д. Это так, на первый взгляд из фрагментов в статье. Ну а вообще автоматизация — вещь нужная, и python очень удобный язык для этого. Удачи в развитии скилла.
Спасибо.Обязательно ознакомлюсь с рекомендованными материалами, в свободное время я всегда нахожусь в режиме чтения, но порой мне кажется что я топчусь на месте. К данному «проекту» я приступил после участия в таких глобальных «разработках» как «hello world» и «ping check».
Я вы из куска определения вендора сделал бы динамический inventory а его уже прикрутил к ansible
Смотрели ли вы в сторону noc? Он тоже на питоне и тоже мультивендорный.
Первоначальная задача была не найти сторонние решение, а написать его самому. Прекрасно понимаю как «полезно» изобретать велосипед, плюс ко всему это практика под реальную задачу.
И думаю, будет неплохая помощь людям, которые озадачатся этой темой как я ранее, т.к. на форумах встречал реальные вопросы по данной теме, но без должных решений.

Можно заменить вызов внешней программы ping на функцию ping из библиотеки pyping:
import pyping
resp=pyping.ping('host_ip')
if resp.ret_code == 0: print('ok')
else: print('fault')

Не надо использовать telnet. Посмотрите на paramiko как вариант замены библиотеки для транспорта. Если у вас конечно нет таких динозавров, которые только телнет умеют.
Да, при использовании telnetlib точно нужна передышка, когда заморачивался с этим же самым не понимал, почему tn.read_all не выводит нужное. Ставим sleep и все ок )
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.