Bug 1873032

Summary: when the system-id changes, the table chassis_private doesn't clean the old information
Product: Red Hat Enterprise Linux Fast Datapath Reporter: ying xu <yinxu>
Component: ovn2.13Assignee: Dumitru Ceara <dceara>
Status: CLOSED ERRATA QA Contact: ying xu <yinxu>
Severity: high Docs Contact:
Priority: high    
Version: RHEL 8.0CC: ctrautma, jishi, ralongi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-27 09:49:12 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:

Description ying xu 2020-08-27 08:18:53 UTC
Description of problem:
when the system-id changes, the table chassis_private doesn't clean the old information

Version-Release number of selected component (if applicable):
# rpm -qa|grep ovn
ovn2.13-host-20.06.2-1.el8fdp.x86_64
ovn2.13-20.06.2-1.el8fdp.x86_64
ovn2.13-central-20.06.2-1.el8fdp.x86_64


How reproducible:
always

Steps to Reproduce:
at first,set the env as below:
#ovn-sbctl show
Chassis hv0
    hostname: dell-per730-57.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.26"
        options: {csum="true"}
Chassis hv1        ----------------this name is hv1
    hostname: dell-per730-19.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.25"
        options: {csum="true"}

then config the ls and ports.

change the system-id:
ovs-vsctl set open . external_ids:system-id=local

then,
#ovn-sbctl show
Chassis hv0
    hostname: dell-per730-57.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.26"
        options: {csum="true"}
Chassis local        ----------------now the name is local
    hostname: dell-per730-19.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.25"
        options: {csum="true"}

then check the chassis_private table,there are three items:
# ovn-sbctl list chassis_private
_uuid               : b612ba1c-5434-4864-be37-02fa68a056e1
chassis             : fd1b04b6-972c-4dce-b24e-7a0ac31dcf94
external_ids        : {}
name                : hv0
nb_cfg              : 102
 
_uuid               : 70346152-cece-44b9-b39c-dbf0f5845e35
chassis             : d3831b51-8ddd-4b4c-8844-0a225e738f36
external_ids        : {}
name                : hv1            ---------------this item should be cleanup
nb_cfg              : 0
 
_uuid               : 58628c1f-b623-4a98-af4f-821a9d101aba
chassis             : d3831b51-8ddd-4b4c-8844-0a225e738f36
external_ids        : {}
name                : local
nb_cfg              : 102


but we can see the table chassis clean the old item:
# ovn-sbctl list chassis
_uuid               : d3831b51-8ddd-4b4c-8844-0a225e738f36
encaps              : [bc8869d2-130a-4754-ac51-52dd05576c1e]
external_ids        : {datapath-type="", iface-types="erspan,geneve,gre,internal,ip6erspan,ip6gre,lisp,patch,stt,system,tap,vxlan", is-interconn="false", ovn-bridge-mappings="", ovn-chassis-mac-mappings="", ovn-cms-options="", ovn-monitor-all="false"}
hostname            : dell-per730-19.rhts.eng.pek2.redhat.com
name                : local
nb_cfg              : 0
other_config        : {datapath-type="", iface-types="erspan,geneve,gre,internal,ip6erspan,ip6gre,lisp,patch,stt,system,tap,vxlan", is-interconn="false", ovn-bridge-mappings="", ovn-chassis-mac-mappings="", ovn-cms-options="", ovn-monitor-all="false"}
transport_zones     : []
vtep_logical_switches: []
 
_uuid               : fd1b04b6-972c-4dce-b24e-7a0ac31dcf94
encaps              : [2bd0a98d-71f0-45eb-9537-33dc7f80634f]
external_ids        : {datapath-type="", iface-types="erspan,geneve,gre,internal,ip6erspan,ip6gre,lisp,patch,stt,system,tap,vxlan", is-interconn="false", ovn-bridge-mappings="", ovn-chassis-mac-mappings="", ovn-cms-options="", ovn-monitor-all="false"}
hostname            : dell-per730-57.rhts.eng.pek2.redhat.com
name                : hv0
nb_cfg              : 0
other_config        : {datapath-type="", iface-types="erspan,geneve,gre,internal,ip6erspan,ip6gre,lisp,patch,stt,system,tap,vxlan", is-interconn="false", ovn-bridge-mappings="", ovn-chassis-mac-mappings="", ovn-cms-options="", ovn-monitor-all="false"}
transport_zones     : []
vtep_logical_switches: []


Actual results:
the old item is in the table 

Expected results:
the old item should be cleanup

Additional info:

Comment 5 ying xu 2020-09-30 02:19:38 UTC
verified on version:
# rpm -qa|grep ovn
ovn2.13-20.09.0-1.el8fdp.x86_64
ovn2.13-host-20.09.0-1.el8fdp.x86_64
ovn2.13-central-20.09.0-1.el8fdp.x86_64

ovn-sbctl show'
Chassis hv0
    hostname: dell-per730-57.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.26"
        options: {csum="true"}
Chassis hv1
    hostname: dell-per730-19.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.25"
        options: {csum="true"}
    Port_Binding vm3
    Port_Binding vm1

# ovn-sbctl --columns name --bare find chassis_private
hv1

hv0

#ovs-vsctl set open . external_ids:system-id=local     ----------change system-id
# ovn-sbctl show
Chassis hv0
    hostname: dell-per730-57.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.26"
        options: {csum="true"}
    Port_Binding vm4
Chassis local
    hostname: dell-per730-19.rhts.eng.pek2.redhat.com
    Encap geneve
        ip: "20.0.10.25"
        options: {csum="true"}
    Port_Binding vm3
    Port_Binding vm1
# ovn-sbctl --columns name --bare find chassis_private
local                 ------------------------------------after change config,new table add and old table delete

hv0

Comment 7 errata-xmlrpc 2020-10-27 09:49:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (ovn2.13 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4356