Description of problem: seq_num in table Controller_Event doesn't increase when receive more empty_lb_backends packets Version-Release number of selected component (if applicable): [root@dell-per730-19 opt]# uname -a Linux dell-per730-19.rhts.eng.pek2.redhat.com 3.10.0-1061.el7.x86_64 #1 SMP Thu Jul 11 21:02:44 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux [root@dell-per730-19 opt]# rpm -qa | grep openvswitch openvswitch-selinux-extra-policy-1.0-13.el7fdp.noarch openvswitch2.11-2.11.0-18.el7fdp.x86_64 [root@dell-per730-19 opt]# rpm -qa | grep ovn ovn2.11-central-2.11.0-26.el7fdp.x86_64 ovn2.11-2.11.0-26.el7fdp.x86_64 ovn2.11-host-2.11.0-26.el7fdp.x86_64 [root@dell-per730-19 opt]# How reproducible: everytime Steps to Reproduce: 1.add logical switch and add empty_lb_backends load_banlancer to it 2.send tcp packets to vip,the Controller_Event is created and seq_num is 1 3.send tcp packets again,the seq_num doen't increase Actual results: [root@dell-per730-19 opt]# ovn-nbctl list load_balancer _uuid : 0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0 external_ids : {} name : "lb0" protocol : tcp vips : {"172.16.13.100"="", "172.16.13.100:80"="", "172.16.13.200"="", "172.16.13.200:80"=""} [root@dell-per730-19 opt]# [root@dell-per730-19 opt]# ovn-nbctl ls-lb-list s2 UUID LB PROTO VIP IPs 0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0 lb0 tcp/udp 172.16.13.100 tcp 172.16.13.100:80 tcp/udp 172.16.13.200 tcp 172.16.13.200:80 send packets: [root@localhost ~]# nc 172.16.13.100 80 < 2.txt [root@dell-per730-19 opt]# ovn-sbctl list controller_even _uuid : 70943ca3-8de2-4afb-98d6-7ed208835836 chassis : f704b2a1-0435-4627-9119-062cd3a5bba9 event_info : {load_balancer="0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0", protocol=tcp, vip="172.16.13.100:80"} event_type : empty_lb_backends seq_num : 1 Expected results: the seq_num can increase Additional info: If remove the table and send packets again,the seq_num can increase [root@dell-per730-19 opt]# ovn-sbctl destroy controller_even 70943ca3-8de2-4afb-98d6-7ed208835836 [root@dell-per730-19 opt]# ovn-sbctl list controller_even send packets: [root@localhost ~]# nc 172.16.13.100 80 < 2.txt [root@dell-per730-19 opt]# ovn-sbctl list controller_even _uuid : 921b71d6-8c1d-4e7f-977b-281535222b3f chassis : f704b2a1-0435-4627-9119-062cd3a5bba9 event_info : {load_balancer="0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0", protocol=tcp, vip="172.16.13.100:80"} event_type : empty_lb_backends seq_num : 2
(In reply to haidong li from comment #0) > Description of problem: > seq_num in table Controller_Event doesn't increase when receive more > empty_lb_backends packets > > Version-Release number of selected component (if applicable): > [root@dell-per730-19 opt]# uname -a > Linux dell-per730-19.rhts.eng.pek2.redhat.com 3.10.0-1061.el7.x86_64 #1 SMP > Thu Jul 11 21:02:44 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux > [root@dell-per730-19 opt]# rpm -qa | grep openvswitch > openvswitch-selinux-extra-policy-1.0-13.el7fdp.noarch > openvswitch2.11-2.11.0-18.el7fdp.x86_64 > [root@dell-per730-19 opt]# rpm -qa | grep ovn > ovn2.11-central-2.11.0-26.el7fdp.x86_64 > ovn2.11-2.11.0-26.el7fdp.x86_64 > ovn2.11-host-2.11.0-26.el7fdp.x86_64 > [root@dell-per730-19 opt]# > > How reproducible: > everytime > > Steps to Reproduce: > 1.add logical switch and add empty_lb_backends load_banlancer to it > 2.send tcp packets to vip,the Controller_Event is created and seq_num is 1 > 3.send tcp packets again,the seq_num doen't increase > > Actual results: > [root@dell-per730-19 opt]# ovn-nbctl list load_balancer > _uuid : 0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0 > external_ids : {} > name : "lb0" > protocol : tcp > vips : {"172.16.13.100"="", "172.16.13.100:80"="", > "172.16.13.200"="", "172.16.13.200:80"=""} > > [root@dell-per730-19 opt]# > [root@dell-per730-19 opt]# ovn-nbctl ls-lb-list s2 > UUID LB PROTO VIP > IPs > 0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0 lb0 tcp/udp > 172.16.13.100 > tcp > 172.16.13.100:80 > tcp/udp > 172.16.13.200 > tcp > 172.16.13.200:80 > > send packets: > [root@localhost ~]# nc 172.16.13.100 80 < 2.txt > > [root@dell-per730-19 opt]# ovn-sbctl list controller_even > _uuid : 70943ca3-8de2-4afb-98d6-7ed208835836 > chassis : f704b2a1-0435-4627-9119-062cd3a5bba9 > event_info : {load_balancer="0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0", > protocol=tcp, vip="172.16.13.100:80"} > event_type : empty_lb_backends > seq_num : 1 > > Expected results: > the seq_num can increase > > Additional info: > If remove the table and send packets again,the seq_num can increase > > [root@dell-per730-19 opt]# ovn-sbctl destroy controller_even > 70943ca3-8de2-4afb-98d6-7ed208835836 > [root@dell-per730-19 opt]# ovn-sbctl list controller_even > > send packets: > [root@localhost ~]# nc 172.16.13.100 80 < 2.txt > > [root@dell-per730-19 opt]# ovn-sbctl list controller_even > _uuid : 921b71d6-8c1d-4e7f-977b-281535222b3f > chassis : f704b2a1-0435-4627-9119-062cd3a5bba9 > event_info : {load_balancer="0d3a7dcc-a162-4f9c-a2cd-8a1eec113ee0", > protocol=tcp, vip="172.16.13.100:80"} > event_type : empty_lb_backends > seq_num : 2 the seq_num field is updated just when the event is written in the controller_event table and not if ovn-controller receives a new event before the CMS has consumed the raw in the db. Seq_num is used by the CMS to distinguish between two duplicated events reported by ovn-controller