Replies: 5 comments 7 replies
-
|
Scrapli might be a good alternative: https://carlmontanari.github.io/scrapli/ |
Beta Was this translation helpful? Give feedback.
-
|
Yesterday morning, I was enjoying a Makefile maimed with spaces. 50 years since those 6 users cast that TAB shit in stone. An hour later, my distro blessed me with Ansible 13.1.0 . Alegedly, it has a quarter million users, over thousands of companies. OK. Jokes aside, Netmiko looks good. But if possible, and Nornir's API is simple enough, we might consider using it with the netmiko plugin. We gain inventory, filters, and task abstraction + parallel execution, and if we are clever, we can abstract a bit the plugin backends so next time Voodoo hits, we have options. Nornir's parallelism will shorten config delivery times a lot. Netmiko is widely packaged. Nornir itself is packaged by a few distros. Nornir-netmiko is not in any repo I know of, but I dumped the transitive closure of their dependencies, and it looks easy to maintain this stack for custom packages. Using nornir instead of naked netmiko, we introduce more dependencies, but the advantages may be well worth it. |
Beta Was this translation helpful? Give feedback.
-
|
good news for @DanPartelly: I have working code for #1 and #2 (create configs with netlab, deploy with Ansible), and at least netlab initial works with Ansible 13.1. It's follow-up from #2950, after that one gets merged, I'll submit another series of PRs. Next step after that: make some containers (Linux, FRR; VyOS) work completely without Ansible. |
Beta Was this translation helpful? Give feedback.
-
|
Almost there ;) When we add netmiko support, we'll be able to configure most devices without Ansible. |
Beta Was this translation helpful? Give feedback.
-
|
Nornir is getting some new life: https://opsmill.com/blog/opsmill-is-the-new-steward-of-nornir/ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
After #2864, we configure all devices the same way:
Ansible 12 partially broke template rendering (Jinja2 filters have to use fully-qualified names) and totally borked the device configuration rendering (see #2768). Even worse, it doesn't look like anyone cares anymore. Ansible 13.1 has the exact same problems.
The only sane way forward thus seems to be to get as far away from Ansible as possible:
(1) and (3) are already implemented for pure containers. Linux, Bird, and dnsmasq are done; activating FRR and VyOS is just a question of a bit of tweaking (bash versus vtysh) and device configuration. I also started a large-scale cleanup of configuration templates, hopefully getting at least (1) done for all supported devices in a reasonable timeframe, which would allow us to implement (2) in time for the 26.01 release (I don't want to prolong this agony any further).
Thoughts/comments? cc @ssasso @jbemmel @DanPartelly @sdargoeuves @Muddyblack @ddutt
Beta Was this translation helpful? Give feedback.
All reactions