Bug 1708131

Summary: [OVN]traffic can't pass through if the chassis's system-id is part of other chassis's system-id
Product: Red Hat Enterprise Linux Fast Datapath Reporter: haidong li <haili>
Component: ovn2.11Assignee: Dumitru Ceara <dceara>
Status: CLOSED ERRATA QA Contact: haidong li <haili>
Severity: medium Docs Contact:
Priority: unspecified    
Version: FDP 19.CCC: ctrautma, dceara, jishi, kfida, qding
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ovn2.11-2.11.0-22.el7fdn Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-20 11:05:11 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 haidong li 2019-05-09 08:25:58 UTC
Description of problem:
traffic can't pass through if the chassis's value of system-id is part of other chassis's system-id. for example, character "hv0" is part of "hv01".

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

[root@hp-dl385pg8-07 ovn_ha]# rpm -qa | grep openvswitch
openvswitch2.11-2.11.0-9.el7fdp.x86_64
openvswitch-selinux-extra-policy-1.0-11.el7fdp.noarch
kernel-kernel-networking-openvswitch-ovn_ha-1.0-34.noarch
[root@hp-dl385pg8-07 ovn_ha]# rpm -qa | grep ovn
ovn2.11-central-2.11.0-16.el7fdp.x86_64
ovn2.11-2.11.0-16.el7fdp.x86_64
ovn2.11-host-2.11.0-16.el7fdp.x86_64
kernel-kernel-networking-openvswitch-ovn_ha-1.0-34.noarch

How reproducible:
everytime

Steps to Reproduce:
1.setup ovn server and ovn-controller on different chassises
2.configure one chassis's system-id to "hv01" and another chassis's system-id to "hv0" with command:
   ovs-vsctl set Open_vSwitch . external-ids:system-id=hv0
   ovs-vsctl set Open_vSwitch . external-ids:system-id=hv01
3.fail to ping the chassis witch has the part system-id

Actual results:

I have set up 4 chassises:

[root@hp-dl385pg8-07 ovn_ha]# ovn-sbctl show
Chassis "hv01"
    hostname: "hp-dl388g8-07.rhts.eng.pek2.redhat.com"
    Encap geneve
        ip: "192.168.60.11"
        options: {csum="true"}
    Port_Binding "lsp1"
Chassis "hv0"
    hostname: "hp-dl385pg8-07.rhts.eng.pek2.redhat.com"
    Encap geneve
        ip: "192.168.60.50"
        options: {csum="true"}
    Port_Binding "lsp0"
Chassis "hv03"
    hostname: "hp-dl380pg8-16.rhts.eng.pek2.redhat.com"
    Encap geneve
        ip: "192.168.60.3"
        options: {csum="true"}
    Port_Binding "lsp3"
Chassis "hv02"
    hostname: "hp-dl388g8-02.rhts.eng.pek2.redhat.com"
    Encap geneve
        ip: "192.168.60.20"
        options: {csum="true"}
    Port_Binding "lsp2"

[root@hp-dl385pg8-07 ovn_ha]# ovn-nbctl show
switch 31594b92-287b-4fa3-8f49-ed691c0e3af7 (s2)
    port lsp2
        addresses: ["00:00:00:01:01:12"]
    port lsp0
        addresses: ["00:00:00:01:00:10"]
    port lsp3
        addresses: ["00:00:00:01:01:13"]
    port lsp1
        addresses: ["00:00:00:01:00:11"]
[root@hp-dl385pg8-07 ovn_ha]# 

[root@hp-dl388g8-07 ovn_ha]# ping 80.0.0.10
PING 80.0.0.10 (80.0.0.10) 56(84) bytes of data.
^C
--- 80.0.0.10 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms

[root@hp-dl388g8-07 ovn_ha]# ovs-vsctl set Open_vSwitch . external-ids:system-id=hv01
[root@hp-dl388g8-07 ovn_ha]# ping 80.0.0.10
PING 80.0.0.10 (80.0.0.10) 56(84) bytes of data.
^C
--- 80.0.0.10 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms

[root@hp-dl388g8-07 ovn_ha]# ping 80.0.0.12
PING 80.0.0.12 (80.0.0.12) 56(84) bytes of data.
64 bytes from 80.0.0.12: icmp_seq=1 ttl=64 time=1.18 ms
64 bytes from 80.0.0.12: icmp_seq=2 ttl=64 time=0.258 ms
^C
--- 80.0.0.12 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.258/0.720/1.182/0.462 ms
[root@hp-dl388g8-07 ovn_ha]# ping 80.0.0.13
PING 80.0.0.13 (80.0.0.13) 56(84) bytes of data.
64 bytes from 80.0.0.13: icmp_seq=1 ttl=64 time=1.72 ms
^C
--- 80.0.0.13 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.729/1.729/1.729/0.000 ms
[root@hp-dl388g8-07 ovn_ha]# ip add show veth2
94: veth2@veth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:00:00:01:00:11 brd ff:ff:ff:ff:ff:ff
    inet 80.0.0.11/24 scope global veth2
       valid_lft forever preferred_lft forever
    inet6 fe80::742e:9dff:feee:9d9/64 scope link 
       valid_lft forever preferred_lft forever
[root@hp-dl388g8-07 ovn_ha]# 



Expected results:
success to  ping

Additional info:

Comment 3 haidong li 2019-07-26 09:42:25 UTC
This issue is verified on the latest version:
[root@dell-per730-17 ovn_ha]# uname -a
Linux dell-per730-17.rhts.eng.pek2.redhat.com 4.18.0-107.el8.x86_64 #1 SMP Fri Jun 14 13:46:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@dell-per730-17 ovn_ha]# rpm -qa | grep openvswitch
kernel-kernel-networking-openvswitch-ovn_ha-1.0-40.noarch
openvswitch2.11-2.11.0-18.el8fdp.x86_64
openvswitch-selinux-extra-policy-1.0-16.el8fdp.noarch
[root@dell-per730-17 ovn_ha]# rpm -qa | grep ovn
ovn2.11-2.11.0-26.el8fdp.x86_64
kernel-kernel-networking-openvswitch-ovn_ha-1.0-40.noarch
ovn2.11-central-2.11.0-26.el8fdp.x86_64
ovn2.11-host-2.11.0-26.el8fdp.x86_64
[root@dell-per730-17 ovn_ha]# ovs-vsctl show
74ba9e9c-d8ae-4fb4-bc00-3247c80b183e
    Bridge br-int
        fail_mode: secure
        Port "ovn-hv0-0"
            Interface "ovn-hv0-0"
                type: geneve
                options: {csum="true", key=flow, remote_ip="40.0.0.2"}
        Port "veth1"
            Interface "veth1"
        Port br-int
            Interface br-int
                type: internal
    ovs_version: "2.11.0"
[root@dell-per730-17 ovn_ha]# ovn-nbctl show
switch 970ca2c8-010b-47fc-888b-bdf01f9d0816 (s2)
    port lsp1
        addresses: ["a2:95:f7:96:ca:7f"]
    port lsp2
        addresses: ["5a:95:b9:5e:49:3a"]
[root@dell-per730-17 ovn_ha]# ovn-sbctl show
Chassis "hv01"
    hostname: "dell-per730-17.rhts.eng.pek2.redhat.com"
    Encap geneve
        ip: "40.0.0.1"
        options: {csum="true"}
    Port_Binding "lsp1"
Chassis "hv0"
    hostname: "dell-per730-42.rhts.eng.pek2.redhat.com"
    Encap geneve
        ip: "40.0.0.2"
        options: {csum="true"}
    Port_Binding "lsp2"
[root@dell-per730-17 ovn_ha]# ping 60.0.0.2
PING 60.0.0.2 (60.0.0.2) 56(84) bytes of data.
64 bytes from 60.0.0.2: icmp_seq=1 ttl=64 time=0.753 ms
64 bytes from 60.0.0.2: icmp_seq=2 ttl=64 time=0.165 ms
^C
--- 60.0.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 11ms
rtt min/avg/max/mdev = 0.165/0.459/0.753/0.294 ms
[root@dell-per730-17 ovn_ha]# ping 60.0.0.1
PING 60.0.0.1 (60.0.0.1) 56(84) bytes of data.
64 bytes from 60.0.0.1: icmp_seq=1 ttl=64 time=0.030 ms
^C
--- 60.0.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.030/0.030/0.030/0.000 ms
[root@dell-per730-17 ovn_ha]#

Comment 5 errata-xmlrpc 2019-08-20 11:05:11 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, 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-2019:2527