Bug 2292405

Summary: OVN revision number misalign with Neutron revision number port
Product: Red Hat OpenStack Reporter: Fernando Royo <froyo>
Component: python-networking-ovnAssignee: Fernando Royo <froyo>
Status: CLOSED MIGRATED QA Contact: Bernard Cafarelli <bcafarel>
Severity: medium Docs Contact:
Priority: medium    
Version: 16.2 (Train)CC: apevec, lhh, majopela, scohen
Target Milestone: asyncKeywords: Triaged
Target Release: 16.2 (Train on RHEL 8.4)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2292409 (view as bug list) Environment:
Last Closed: 2025-01-10 10:33:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2292409    

Description Fernando Royo 2024-06-14 13:29:04 UTC
Description of problem:
When calling to update hostname of a virtual port the OVN revision number is not bumping. Afterward, in the next trigger, the maintenance task would compare both and run update_port to fix the issue (just the revision number).

Additionally when the update_port called from maintenance task is fixing the revision number of the LSP (OVN NB DB) and corresponding Port_Binding(OVN SB DB), Neutron receives some events from OVN SB DB from Port_Binding table that retrofeed the issue.

This can be easily reproduced doing several updates over one VIP port using openstack cli.

Version-Release number of selected component (if applicable):
16.2.6

How reproducible:
Always

Steps to Reproduce:
1. Create a VIP port and associate to a VM Port, or create a Octavia LB and check its VIP port.
2. Send several openstack port set --description 'changing...' VIP_PORT_UUID
3. Compare the revision number in Neutron DB and LSP on OVN NB DB
4. Maintenance task will be triggered every 5' trying to equal the rev_number for both objects.

Actual results:
Loop trying to fix the revision_number by the maintenance task

Expected results:
Bumping the revision_number accordingly to avoid any unneccesary fix by the maintenance task

Additional info: