Hi, On 15/04/2026 08:59, Saku Ytti via NANOG wrote: [..]
If you ignore deltas, the problem becomes very simple. That is, if for any change, changing a dot in the description of one interface you ship an entire new configuration, and let the router worry about the reconciliation between the A and B configuration.
Anyone can get to the latter option with trivial resources and skill, the former I wouldn't recommend to anyone, no matter how well resourced.
The process to get to the latter is
1. put your configuration backups in your network configuration directory 2. edit the configuration file when needed 3. push the configuration file
Now 100% comes from the system, and anyone can do this literally in minutes.
This is an excellent way to start automation for an existing deployment. Another approach is to make automation part of your hardware refresh cycle. When bringing in new equipment, create a complete config with automation from day 1. This forces you to standardize some things. If you introduce automation at a later point in time, you will need to deal with all kinds of customizations and snowflake bits of config that got added along the way.
Of course you're not exactly reducing much work here at all. But the point is, it doesn't need to be a risky project which may or may not deliver something. You can start today, and manage 100% of config in the system. Then one by one pick low hanging fruits, remove them from the flat file, generate them from SQL, and create the final configuration using the flat file + generated config. Now you always know what the network state is, there is no need for the flat file to ever be zero, that's not important.
In an environment where you have multiple hardware types deployed for the same function or want to migrate to different hardware, it can actually be very useful to have 100% of config come from a source of truth + templating. That way, replacing equipment with a different type is only a matter of changing port assignments and generating a new config. Kind regards, Martin