Description:
lb hairpin can't work after destroy sb db
version:
[root@wsfd-advnetlab16 test]# rpm -qa | grep -E "openvswitch3.2|ovn24.03"
openvswitch3.2-3.2.0-87.el9fdp.x86_64
python3-openvswitch3.2-3.2.0-87.el9fdp.x86_64
ovn24.03-24.03.2-19.el9fdp.x86_64
ovn24.03-central-24.03.2-19.el9fdp.x86_64
ovn24.03-host-24.03.2-19.el9fdp.x86_64
steps:
systemctl start openvswitch systemctl start ovn-northd ovn-nbctl set-connection ptcp:6641 ovn-sbctl set-connection ptcp:6642 ovs-vsctl set open . external_ids:system-id=hv1 external_ids:ovn-remote=tcp:127.0.0.1:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=127.0.0.1 systemctl restart ovn-controller ovn-nbctl lr-add lr1 ovn-nbctl lrp-add lr1 lr1-ls1 00:00:01:ff:02:03 192.168.1.254/24 ovn-nbctl ls-add ls1 ovn-nbctl lsp-add ls1 ls1p1 ovn-nbctl lsp-set-addresses ls1p1 "00:00:01:01:01:01 192.168.1.1" ovn-nbctl lsp-add ls1 ls1-lr1 ovn-nbctl lsp-set-type ls1-lr1 router ovn-nbctl lsp-set-options ls1-lr1 router-port=lr1-ls1 ovn-nbctl lsp-set-addresses ls1-lr1 router ovn-nbctl ls-add pub ovn-nbctl lrp-add lr1 lr1-pub 00:00:01:ff:01:03 172.16.1.1/24 ovn-nbctl lsp-add pub pub-lr1 ovn-nbctl lsp-set-type pub-lr1 router ovn-nbctl lsp-set-addresses pub-lr1 router ovn-nbctl lsp-set-options pub-lr1 router-port=lr1-pub ovn-nbctl lb-add lb_r1_tcp 172.16.1.1:50001 192.168.1.1:50001 tcp ovn-nbctl lr-lb-add lr1 lb_r1_tcp ovn-nbctl ls-lb-add ls1 lb_r1_tcp ovn-nbctl lrp-set-gateway-chassis lr1-pub hv1 ovs-vsctl add-port br-int ls1p1 -- set interface ls1p1 type=internal external_ids:iface-id=ls1p1 ip netns add ls1p1 ip link set ls1p1 netns ls1p1 ip netns exec ls1p1 ip link set lo up ip netns exec ls1p1 ip link set ls1p1 address 00:00:01:01:01:01 ip netns exec ls1p1 ip link set ls1p1 up ip netns exec ls1p1 ip addr add 192.168.1.1/24 dev ls1p1 ip netns exec ls1p1 ip route add default via 192.168.1.254 ip netns exec ls1p1 ncat -k -l 50001 & ovn-nbctl --wait=hv sync ip netns exec ls1p1 ncat 172.16.1.1 50001 <<< h for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer do ovn-sbctl --all destroy $sb_table done ovn-nbctl --wait=hv sync ip netns exec ls1p1 ncat 172.16.1.1 50001 <<< h systemctl restart ovn-controller ovn-nbctl --wait=hv sync ip netns exec ls1p1 ncat 172.16.1.1 50001 <<< h
expected result:
lb hairpin can work after destroy sb db
actual result:
lb hairpin can't work after destroy sb db
other info:
+ ip netns exec ls1p1 ncat 172.16.1.1 50001
h
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy chassis
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy chassis_private
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy encap
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy address_set
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy port_group
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy logical_flow
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy logical_dp_group
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy multicast_group
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy port_binding
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy mac_binding
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy dns
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy gateway_chassis
+ for sb_table in chassis chassis_private encap address_set port_group logical_flow logical_dp_group multicast_group port_binding mac_binding dns gateway_chassis load_balancer
+ ovn-sbctl --all destroy load_balancer
+ ovn-nbctl --wait=hv sync
+ ip netns exec ls1p1 ncat 172.16.1.1 50001
Ncat: TIMEOUT.
+ systemctl restart ovn-controller
+ ovn-nbctl --wait=hv sync
+ ip netns exec ls1p1 ncat 172.16.1.1 50001
h