NIC renaming via puppet can be challenging.
Take the following example:
- the server cloudnet1005.eqiad.wmnet has a predictable interface name too long, like enp175s0f0np0
- the interface::rename mechanism was introduced in puppet to easily rename an interface, via systemd.link(5).
- puppet runs once the installer has already generated /etc/network/interfaces
- moreover, plenty of other configuration (via puppet or perhaps in the installer itself) has been generated referencing the old interface name. Example: sysctl params
- once puppet runs, the interface is renamed, the server wont boot again with a valid network config
As of this writing we lack a mechanism for either:
- rename an interface at debian installer time -- so all config, even before the initial puppet run is generated for the new interface name
- completely manage /etc/network/interfaces via puppet