Pull to refresh

Comments 9

но зачем подобные костыли при существующем ансибле?
Второй и третий абзац статьи ровно про это.
Если интересно, можете послушать ментейнеров «костылей».
Они более убедительно раскрывают тему.
PacketPushers посвятили им от дельный выпуск Heavy Networking 445: An Introduction To The Nornir Automation Framework
Когда передо мной встала задача составления конфигов для однотипных устройств, я тоже начал с написания очередной программы генерации отчётов по шаблонам. Разве что для её разработки выбрал не питон а перл. А потом, по мере роста количества того самого однотипного оборудования, мне надоело вести его базу в текстовом файле, я перенёс её в электронную таблицу LibreOffice, а для составления конфигов стал пользоваться Mail Merge.
Что такое MailMerge я не знаю, но когда я решал эту же задачу с помощью ansible, я тоже забивал параметры устройств в LibreOffice и сохранял в .cvs.
Затем отдельным python-скриптом генерил из .cvs нужные .yaml файлы (inventory).
Никто не мешает для nornir делать так же.
Здесь же кроме генерации конфигов решается задача заливки конфигов на устройства.
И устройства тут не однотипные. Описаны устройства двух типов. Еще хуавеи есть у меня в хозяйстве. С ними тоже работает.
Что такое MailMerge я не знаю,

Mail Merge, она же «Почтовая рассылка» в Microsoft Office, Libre Office и прочих офисных пакетах представляет собой инструмент для организации массовых рассылок, позволяя автоматически сформировать кучу писем, различающихся только обращением по конкретному имени адресата письма, которое берётся из некоторого источника: электронной таблицы или базы данных. Письма генерируются из шаблона, который называется «Документ слияния», представляющего собой документ с внедрёнными полями, в которые подставляются изменяемые значения, извлекаемые из источника данных. На каждую запись источника данных из документа слияния создаётся один результирующий документ.

Фактически Mail Merge представляет собой частный случай генератора отчётов по базе данных. Огромный плюс этого инструмента заключается в том, что его использование не требует вообще никакого программирования. Надо только взять кусок заливаемого конфига, накидать в него изменяемых полей вроде конкретных адресов, имён интерфейсов и прочих различающихся частей, выбрать записи для конкретных устройств в источнике данных, и уже можно заливать эти куски в оборудование методом copy/paste.

Здесь же кроме генерации конфигов решается задача заливки конфигов на устройства.

Это да, Mail Merge заливать ничего никуда не будет, оно только для генерации однотипных кусков конфигов. Но оно позволяет решить эту задачу гораздо быстрее и удобнее написания и отладки всяких скриптов, да ещё и с промежуточной выгрузкой данных об оборудовании в yaml-файлы.

И устройства тут не однотипные. Описаны устройства двух типов. Еще хуавеи есть у меня в хозяйстве.

Все устройства не обязаны быть однотипными. В этом смысле Mail Merge ничем не отличается от любого другого генератора отчётов по базе данных и шаблону. Понятно, что для каждого типа устройств нужен свой документ слияния (шаблон), если у них разные CLI.
1. Спасибо за статью, но явно писали впопыхах — куча опечаток, глаз сбивается
2. Из статьи совершенно непонятно — Nornir откуда взяли? Сложилось впечатление, что автор сам накидал этот фреймворк для решения конкретной задачи, но это ведь не так? А как тогда вышли именно на Nornir?
За очепятки спасибо, поправлю.
А про норнир услышал в твиторе от Кирк Байерс (автор нетмико) и в подкастах PacketPushers
Разумеется vault.passwd не должен лежать рядом с creds.yaml как в моем примере. Но для поиграться сойдет.

И чем это принципиально отличается?
Что мешает условному хацкеру перехватить vault.passwd вместо creds.yaml и расшифоровать пароли?

принципиально тем, что концентрируя секреты в одном месте — можно настроить процесс их хранения, защиты, смены при компроментации. А когда они ровным слоем открытым текстом по репозиториям лежат… ну, вообще даже нельзя сказать, кто эти секреты видел.

Sign up to leave a comment.

Articles