Yes we have seen that ourselves too.
It doesn’t appear to cause any problems, but seems like OVN bugs.
I’ve not been able to find out why OVN thinks there is a duplicate IP, as looking in the OVN DB there isn’t a duplicate IP for multiple ports defined.
I see this when an instance starts on Ubuntu 22.04:
2022-07-21T07:24:24.685Z|00039|northd|INFO|Assigned dynamic IPv4 address '10.173.122.2' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.685Z|00040|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.689Z|00041|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.689Z|00042|ipam|WARN|Dropped 18 log messages in last 67 seconds (most recently, 8 seconds ago) due to excessive rate
2022-07-21T07:24:24.689Z|00043|ipam|WARN|071b0d1d-4234-4f4e-809c-81c8659264aa: Duplicate IP set: 10.173.122.2
2022-07-21T07:24:24.690Z|00044|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.702Z|00045|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.704Z|00046|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.705Z|00047|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.708Z|00048|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.710Z|00049|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.713Z|00050|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.716Z|00051|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.718Z|00052|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.719Z|00053|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.733Z|00054|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.737Z|00055|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:24.738Z|00056|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
2022-07-21T07:24:33.567Z|00057|northd|INFO|Assigned dynamic IPv6 address 'fd42:1907:ee48:b90f:216:3eff:fe50:ce86' to port 'lxd-net39-instance-0135fe8d-fbf2-4f36-933b-469f09aaad0a-eth0'
But after that it stops.
And the OVN processes are not using high CPU, so doesn’t look like its stuck in a loop.
And as you can see there are no duplicate port IP assignments (as there is only one NIC port):
For the IPv6 log messages I would like to change our implementation to just statically assign the EUI64 address to the port (as this is all the dynamic assignment does anyway), which gets rid of the log message. However there is a limitation in OVN that you cannot specify a port has a dynamic IPv4 address assigned and a static IPv6 address - its both dynamic or both static. And if we want both static then we would need to implement IPAM in LXD. This isn’t something we are fundamentally adverse to (we are already doing it somewhat for bridged networks when NICs use security.ipv{n}_filtering=true) but its not something we’ve gotten around to doing yet.