Hello OVN Experts,

With ovn-k8s,  we need to keep the flows always on br-int which needed by
running pods on the k8s node.
Is there an ongoing project to address this problem?
If not,  I have one proposal not sure if it is doable.
Please share your thoughts.
The issue:

In large scale ovn-k8s cluster there are 200K+ Open Flows on br-int on
every K8s node.  When we restart ovn-controller for upgrade using
`ovs-appctl -t ovn-controller exit --restart`,  the remaining traffic still
works fine since br-int with flows still be Installed.

However, when a new ovn-controller starts it will connect OVS IDL and do an
engine init run,  clearing all OpenFlow flows and install flows based on SB
DB.

With open flows count above 200K+,  it took more than 15 seconds to get all
the flows installed br-int bridge again.

Proposal solution for the issue:

When the ovn-controller gets “exit --start”,  it will write a
“ovs-cond-seqno” to OVS IDL and store the value to Open vSwitch table in
external-ids column. When new ovn-controller starts, it will check if the
“ovs-cond-seqno” exists in the Open_vSwitch table,  and get the seqno from
OVS IDL to decide if it will force a recomputing process?

Test log:

Check flow cnt on br-int every second:

packet_count=0 byte_count=0 flow_count=0

packet_count=0 byte_count=0 flow_count=0

packet_count=0 byte_count=0 flow_count=0

packet_count=0 byte_count=0 flow_count=0

packet_count=0 byte_count=0 flow_count=0

packet_count=0 byte_count=0 flow_count=0

packet_count=0 byte_count=0 flow_count=10322

packet_count=0 byte_count=0 flow_count=34220

packet_count=0 byte_count=0 flow_count=60425

packet_count=0 byte_count=0 flow_count=82506

packet_count=0 byte_count=0 flow_count=106771

packet_count=0 byte_count=0 flow_count=131648

packet_count=2 byte_count=120 flow_count=158303

packet_count=29 byte_count=1693 flow_count=185999

packet_count=188 byte_count=12455 flow_count=212764



-- 
Winson
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to