When a Virtual Port is sending or receiving traffic, the host information is updated to reflect where the associated port is hosted. At that moment the standard_attribute revision number is bump but the related ovn_revision_number is not bumped. At this way, next time maintenance task is runned it will detect the mismatching and will run an update_port request to simply update the revision_number.
At same moment the traffic is detected:
stack@ubuntu2204:~/devstack$ openstack port show bac43940-930f-4a5f-89d2-bd7f4b615896 -c id -c revision_number
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| id | bac43940-930f-4a5f-89d2-bd7f4b615896 |
| revision_number | 3 |
+-----------------+--------------------------------------+
stack@ubuntu2204:~/devstack$ sudo ovn-nbctl list Logical_Switch_Port bac43940-930f-4a5f-89d2-bd7f4b615896
_uuid : d93acc13-967b-43ba-a3b3-631f7c066760
external_ids : {"neutron:cidrs"="192.168.100.39/24", "neutron:device_id"="", "neutron:device_owner"="neutron:LOADBALANCER", "neutron:host_id"=ubuntu2204.localdomain, "neutron:mtu"="", "neutron:network_name"=neutron-5677b203-7766-48ea-97a2-004bd354b80a, "neutron:port_capabilities"="", "neutron:port_fip"="172.24.4.117", "neutron:port_name"=vip_port_bz_2282209, "neutron:project_id"=cc8d1491a94347e282f0ba5e63bfb103, "neutron:revision_number"="3", "neutron:security_group_ids"="38e08eca-0b16-4749-b81e-b47ac51b7b2f", "neutron:subnet_pool_addr_scope4"="", "neutron:subnet_pool_addr_scope6"="", "neutron:vnic_type"=normal}
name : "bac43940-930f-4a5f-89d2-bd7f4b615896"
options : {virtual-ip="192.168.100.39", virtual-parents="6ad33ede-f7fd-488f-be43-7306283bb116"}
port_security : ["fa:16:3e:7b:8b:b5 192.168.100.39"]
type : virtual
up : true
After some minutes, Maintenance tasks fix the port, just increasing the revision_number in external_ids:
Jun 11 12:16:40 ubuntu2204.localdomain neutron-server[223343]: DEBUG neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.maintenance [None req-aa2f92a4-0742-45f4-8bb2-6e654885626c None None] Maintenance task: Synchronizing Neutron and OVN databases started {{(pid=223343) check_for_inconsistencies /opt/stack/neutron/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py:340}}
Jun 11 12:16:40 ubuntu2204.localdomain neutron-server[223343]: DEBUG neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.maintenance [None req-aa2f92a4-0742-45f4-8bb2-6e654885626c None None] Maintenance task: Number of inconsistencies found at create/update: ports=1 {{(pid=223343) _log /opt/stack/neutron/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py:321}}
Jun 11 12:16:40 ubuntu2204.localdomain neutron-server[223343]: DEBUG neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.maintenance [None req-aa2f92a4-0742-45f4-8bb2-6e654885626c None None] Maintenance task: Fixing resource bac43940-930f-4a5f-89d2-bd7f4b615896 (type: ports) at create/update {{(pid=223343) check_for_inconsistencies /opt/stack/neutron/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py:350}}
Jun 11 12:16:40 ubuntu2204.localdomain neutron-server[223343]: INFO neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.maintenance [None req-aa2f92a4-0742-45f4-8bb2-6e654885626c None None] Maintenance task: Synchronization completed (took 0.12 seconds)
Fix proposed to branch: master /review. opendev. org/c/openstack /neutron/ +/921759
Review: https:/