When OVS restart, some flows will be missing in the br-int

Bug #1920700 reported by Jacy Lee on 2021-03-22
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
High
Jacy Lee

Bug Description

When OVS restart and executed here (https://github.com/openstack/neutron/blob/80dfbb03715ff3b8ee06f698df4bfa95d285b0e5/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L2579), some flows will be missing in the br-int, as follows:
 * table=60, n_packets=230017, n_bytes=25281846, priority=4,in_port="int-br-floating" actions=resubmit(,61)
 * table=60, n_packets=23697, n_bytes=1230474, priority=4,in_port="patch-tun" actions=resubmit(,61)
 * table=61, n_packets=2713148, n_bytes=800997718, priority=0 actions=resubmit(,62)

These flows are initialized in the function install_ingress_direct_goto_flows(), and this function is only called in the constructor of the class OVSNeutronAgent. So when ovs_status equals constants.OVS_RESTARTED and flows need to be regenerated, but this function is not called and these flows are not regenerated.

In order to solve this problem, we need to additionally restart ovs-neutron-agent to call install_ingress_direct_goto_flows() to regenerate these flows.

Jacy Lee (yjmango) on 2021-03-22
Changed in neutron:
assignee: nobody → Jacy Lee (yjmango)
Changed in neutron:
status: New → Confirmed
Changed in neutron:
importance: Undecided → High
milestone: none → wallaby-rc1
Revision history for this message
Lajos Katona (lajos-katona) wrote :
Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 18.0.0.0rc1

This issue was fixed in the openstack/neutron 18.0.0.0rc1 release candidate.

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/train)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/783923
Committed: https://opendev.org/openstack/neutron/commit/eed5b3ec7c3900533f7a74ae969eee1c65bea43c
Submitter: "Zuul (22348)"
Branch: stable/train

commit eed5b3ec7c3900533f7a74ae969eee1c65bea43c
Author: Li YaJie <yajiemango@163.com>
Date: Mon Mar 22 10:01:22 2021 +0800

    Call install_ingress_direct_goto_flows() when ovs restarts

    When ovs restarts and needs to regenerate flows, some flows will be
    missing in br-int, as follows:
     * table=60,priority=4,in_port="int-br-floating" actions=resubmit(,61)
     * table=60,priority=4,in_port="patch-tun" actions=resubmit(,61)
     * table=61,priority=0 actions=resubmit(,62)
    Call install_ingress_direct_goto_flows() again in the
    _handle_ovs_restart() to ensure generate these flows.

    Change-Id: I240a78879db757592df138a53b2c22d7f5a9ae13
    Closes-Bug: #1920700
    (cherry picked from commit 2bb52d49bec299f070a513fee6f9f7ae5d53118b)

tags: added: in-stable-train
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 15.3.4

This issue was fixed in the openstack/neutron 15.3.4 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 16.3.2

This issue was fixed in the openstack/neutron 16.3.2 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 17.1.2

This issue was fixed in the openstack/neutron 17.1.2 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/rocky)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/783544
Committed: https://opendev.org/openstack/neutron/commit/27ade26b64446554135e5d6f04c0927de314377a
Submitter: "Zuul (22348)"
Branch: stable/rocky

commit 27ade26b64446554135e5d6f04c0927de314377a
Author: Li YaJie <yajiemango@163.com>
Date: Mon Mar 22 10:01:22 2021 +0800

    Call install_ingress_direct_goto_flows() when ovs restarts

    When ovs restarts and needs to regenerate flows, some flows will be
    missing in br-int, as follows:
     * table=60,priority=4,in_port="int-br-floating" actions=resubmit(,61)
     * table=60,priority=4,in_port="patch-tun" actions=resubmit(,61)
     * table=61,priority=0 actions=resubmit(,62)
    Call install_ingress_direct_goto_flows() again in the
    _handle_ovs_restart() to ensure generate these flows.

    Change-Id: I240a78879db757592df138a53b2c22d7f5a9ae13
    Closes-Bug: #1920700
    (cherry picked from commit 2bb52d49bec299f070a513fee6f9f7ae5d53118b)

tags: added: in-stable-rocky
tags: added: neutron-proactive-backport-potential
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers