For servers facing ports, the switch descriptions use the following format:
description "hostname:interface_name {#cable_id}";
Unfortunately those descriptions changes during servers re-image, or after their first puppet runs, for example:
- description "ms-backup1001:##PRIMARY## {#5322}"; + description "ms-backup1001:ens2f0np0 {#5322}";
Or
[edit interfaces xe-7/0/25] - description "an-worker1103:eno1 {#}"; + description "an-worker1103:eno1np0 {#}";
As running Homer is manual and time consuming, only to update those interfaces descriptions, it's not being done.
This causes the daily diffs emails to always bring up outstanding changes, making those emails less relevant, and could hide some more important discrepancies.
There are several options to improve this situation:
- Remove the server interface name from the switch interface description
- This is the easiest/fastest, downside is for servers with multiple links (not common) but the data is still in Netbox and LLDP
- Use a stable identifier
- Cleanest option, could for example use the Netbox "label" field (to not confuse with "name", that we use). A whole can of worm as it means changing our provisioning scripts and processes
- (Semi-)automatically update only the switch interface name
- Using for example spice-rack/cookbooks to only push a partial config to the switch, probably the long term solution, especially as this will be needed if we do any kind of (semi-)automated remediation/changes, etc
My preference is to go with (1) as now that we have the data in Netbox, there is less need to have the data in the switch config as well.