Hi Team, We are facing the following MAC_Binding constraint violation error. This mac_binding conflicting entry coming distributed gateway port( not on the logical_switch_port of the VM)
2024-10-16T12:53:44.575Z|07799|ovsdb_idl|WARN|transaction error: > {"details":"Transaction causes multiple rows in \"*MAC_Binding*\" table > to have identical values > (a_baeb1d52_7e67_4520_a620_be0104ad64e7_lrp_9c3e7e32_087c_4c4d_818a_443d3f3c074b > and \"100.100.100.1\") for index on columns \"logical_port\" and \"ip\". > First > row, with UUID 6a5ac9a5-d314-42dd-a418-9202b1670853, was inserted by this > transaction. Second row, with UUID 4b14a49a-21c9-4f76-b10b-7844f2c1d0f9, > existed in the database before this transaction and was not modified by the > transaction.","error":"*constraint violation*"} ovn-controller updates the MAC if the entry for the VM_IP already exists. 1. MAC Binding Creation on Chassis C1: The ovn-controller on Chassis C1 creates a MAC binding entry for (VM_IP, MAC1, LP) in the OVN Southbound database. This means the MAC address MAC1 is associated with the VM_IP and logical port LP. The MAC_Binding table in the SBDB now contains this entry. 2. VM_IP Moves to Chassis C2 with MAC2: Now, the VM_IP or the associated workload moves from Chassis C1 to Chassis C2, and the MAC address changes to MAC2. The ovn-controller on Chassis C2 is responsible for updating the MAC_Binding table to reflect the new MAC address (MAC2).However, there is a race condition here: the ovn-controller on C2 may not yet have received the update made by Chassis C1 (for (VM_IP, MAC1, LP)) due to the delay in synchronization between the local ovn-controller instances and the central OVSDB server. 3. MAC Binding Update Attempt on Chassis C2: The ovn-controller on C2 attempts to create a new MAC binding for (VM_IP, MAC2, LP) in the SBDB. Since the existing entry for (VM_IP, MAC1, LP) already exists in the database, trying to insert (VM_IP, MAC2, LP) results in a constraint violation. The OVN database has a constraint that prevents duplicate entries for the same (VM_IP, LP) pair, and as a result, the update fails.The MAC address remains unchanged (still MAC1), and MAC2 is not registered in the SBDB. If the VM migration happens, we can understand the constraint violation on LSP of the VM. But here the constraint violation is on the distributed gateway port of the logical router. We are also facing the following couldn't parse error on a different LRP. But we don't see any side effect because of this error and mac_binding entry was present for this LRP. Curious to know the reason behind this failure 2024-10-16T18:36:46.340Z|09046|mac_cache|WARN|Couldn't parse MAC binding: ip=100.100.100.3, mac=2a:bb:2f:21:b4:56, logical_port=a_bb5de07c_fc11_4a0b_b118_885c4780b14a_lrp_35ea7e9c_2bcc_432f_94bd_b9f4289d9f08 thanks Srini
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss