Better late than never, but I stumbled over a blog article at Cumulus where they introduce ifupdown2: a new network interface manager. This is meant to replace the existing ifupdown manager in Debian.
Their description of this new version:
Existing tools for network interface configuration have several shortcomings when applied to network switches. These include the lack of ability to handle interface dependencies, incremental updates to interface configuration without disruption, and interface configuration validation ... ifupdown2 solves these problems through an implementation based on dependency graph.
By looking at their code, maybe I can solve another problem I have. I have been using SaltStack to solve some NetDevOps related configuration tasks. There are built-in state managers for the standard Debian /etc/network/interfaces and ifupdown configurations. But lately, I have been integrating OpenVSwitch related configurations. The problem is that OVS maintains state through a database file. OVS does allow configuration commands through /etc/nework/interfaces: README.Debian for openvswitch-switch. I have also resorted to placing openvswitch commands in /etc/rc.local.
So.... by looking through the code in Cumulus' module, maybe I can reuse their code to come up with some sort of custom SaltStack State Module.
Some links:
- ifupdown 2.0.1 documentation
- iproute2 overview: good description, and good one-liner examples (not completely related to ifupdown)
- netdev.01 meeting slides