The Nokia switches in codfw are now running SR-Linux v25.10.1, which we understand is not susceptible to the ARP bug (T409178) we have hit on v24.10.
Schema diff
This has led to a problem running Homer, as the produced device configuration for the switches won't apply. For example the first problem that is being reported is how prefix-lists are referenced in a routing policy.
Version 24.10.4:
match {
prefix-set overlay_loopback4
}Version 25.10.1:
match {
prefix {
prefix-set overlay_loopback4
}
}The actual difference is fairly minor but we need to have a strategy to deal with these things.
Options
Get version from the device
The best approach may be for Homer to initially connect to the device and retrieve its OS version, and then we can use this to adjust the generated config to the required schema for one or other version. The downside of that approach is it would mean "generate" requires a network connection, access to the device, an online device etc. So that may not be ideal.
Store version in Netbox
We could store the version in Netbox, in the platform attribute or something. But this seems like a big commitment to maintain (current OS/software version stored in Netbox)
YAML vars
Another approach may be to use our YAML vars to store the version a device is running. Particularly we could just add the var for "non standard" releases here, and hopefully keep most of the estate on the same major release.
This might be the simplest short-term fix to allow for usage of the devices in codfw/ulsfo, but may not be a great strategy long term.