Regardless of terminal width FS switches always split known VLAN
ranges into multiple lines of at most twenty numbers when showing
configuration. Do the same in our config template to avoid reporting
changes when there are none.
Allowed VLANs for tagged ports are displayed similarly but even worse,
with the first line specifying `allowed vlan only` for the first twenty
numbers and subsequent lines adding the remaining VLANs.
Not sure if configuring a switch this way – as opposed to a single long
`allowed vlan only` line – could disrupt traffic. Instead we simply
allow all VLANs on uplink ports, marked in NetBox as 'tagged-all'. For
downlink tagged ports the number of allowed VLANs is unlikely to
exceed twenty.
Ansible now reports no fictional changes for all existing access
switches. The only remaining issue is removing known VLANs, which has
to be done manually on each switch.
Ten minutes to set up and ten hours to convince Ansible to not be
quite so retarded. The list2dict filter seems to be the (or another)
missing piece. Now let’s rewrite everything else using it. Or not.