fix missing shared_block for PF interface

Bug #1836581 reported by Noam Angel on 2019-07-15
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
os-net-config
Undecided
waleed mousa

Bug Description

fix missing shared_block for PF interface

this patch handels 2 cases of missing shared_block for PF interface:
 * First os-net-config run / Post deployment
 * Reboot compute node

in case of first os-net-config we restart openvswitch and ifdown ifup
any PF interface, this will make openvswitch recreate PF shared_block

in case of reboot comput node we just need to make sure PF interface
is up.

issue example PF's p6p1, p6p2

# tc q | grep ingress
qdisc ingress ffff: dev em1 parent ffff:fff1
qdisc ingress ffff: dev p6p1_49 parent ffff:fff1
qdisc ingress ffff: dev p6p1_57 parent ffff:fff1
qdisc ingress ffff: dev bond0 parent ffff:fff1 ingress_block 141
qdisc ingress ffff: dev p6p2_9 parent ffff:fff1
qdisc ingress ffff: dev p6p2_45 parent ffff:fff1
qdisc ingress ffff: dev vxlan_sys_4789 parent ffff:fff1

missing:
qdisc ingress ffff: dev p6p1 parent ffff:fff1 ingress_block 141
qdisc ingress ffff: dev p6p2 parent ffff:fff1 ingress_block 141

Changed in os-net-config:
assignee: nobody → Noam Angel (noama)
status: New → In Progress
Changed in os-net-config:
assignee: Noam Angel (noama) → waleed mousa (waleedm)

Reviewed: https://review.opendev.org/670740
Committed: https://git.openstack.org/cgit/openstack/os-net-config/commit/?id=a74bbdd7b017fb3bb9faffb4240efa59cb42c79c
Submitter: Zuul
Branch: master

commit a74bbdd7b017fb3bb9faffb4240efa59cb42c79c
Author: Moshe Levi <email address hidden>
Date: Mon Jul 15 00:26:02 2019 +0300

    fix missing shared_block for PF interface in switchdev bond connected to ovs

    When having a deployment with ovs bridge having a linux bond and
    the slaves of that bond are in switchdev mode , shared_blocks are
    expected to be created for both the bond and the slaves, but because the
    slaves have an autoconfig IPv6 so ovs will assume that the slaves are not
    managed by it, and so those shared_blocks will be missing for those slaves.

    As a workaround for this issue we should handle two cases:
     * First os-net-config run / Post deployment
     * Reboot compute node

    For deployment case, we are restarting openvswitch and ifdown ifup
    any PF interface, this will make openvswitch recreate PF shared_block

    For reboot case, we are disabling ipv6 for PF interfaces and because
    the ovs will start after moving to swichdev, so the shared_blocks will
    be created.

    Also there is no need to ifup the PF interfaces after moving to switchdev
    in reboot case as the config scripts will bring them up later

    Change-Id: I2468866629d95dc9f088985d57fbf70263253235
    Closes-Bug: #1836581

Changed in os-net-config:
status: In Progress → Fix Released

Reviewed: https://review.opendev.org/679522
Committed: https://git.openstack.org/cgit/openstack/os-net-config/commit/?id=519f12b18124955df3dcc3a55dcc0e52b6299e5e
Submitter: Zuul
Branch: stable/queens

commit 519f12b18124955df3dcc3a55dcc0e52b6299e5e
Author: Moshe Levi <email address hidden>
Date: Mon Jul 15 00:26:02 2019 +0300

    fix missing shared_block for PF interface in switchdev bond connected to ovs

    When having a deployment with ovs bridge having a linux bond and
    the slaves of that bond are in switchdev mode , shared_blocks are
    expected to be created for both the bond and the slaves, but because the
    slaves have an autoconfig IPv6 so ovs will assume that the slaves are not
    managed by it, and so those shared_blocks will be missing for those slaves.

    As a workaround for this issue we should handle two cases:
     * First os-net-config run / Post deployment
     * Reboot compute node

    For deployment case, we are restarting openvswitch and ifdown ifup
    any PF interface, this will make openvswitch recreate PF shared_block

    For reboot case, we are disabling ipv6 for PF interfaces and because
    the ovs will start after moving to swichdev, so the shared_blocks will
    be created.

    Also there is no need to ifup the PF interfaces after moving to switchdev
    in reboot case as the config scripts will bring them up later

    Change-Id: I2468866629d95dc9f088985d57fbf70263253235
    Closes-Bug: #1836581
    (cherry picked from commit a74bbdd7b017fb3bb9faffb4240efa59cb42c79c)

tags: added: in-stable-queens

Reviewed: https://review.opendev.org/679523
Committed: https://git.openstack.org/cgit/openstack/os-net-config/commit/?id=e1b03386e5f24091664dfdff9cbd9ac5296375d1
Submitter: Zuul
Branch: stable/rocky

commit e1b03386e5f24091664dfdff9cbd9ac5296375d1
Author: Moshe Levi <email address hidden>
Date: Mon Jul 15 00:26:02 2019 +0300

    fix missing shared_block for PF interface in switchdev bond connected to ovs

    When having a deployment with ovs bridge having a linux bond and
    the slaves of that bond are in switchdev mode , shared_blocks are
    expected to be created for both the bond and the slaves, but because the
    slaves have an autoconfig IPv6 so ovs will assume that the slaves are not
    managed by it, and so those shared_blocks will be missing for those slaves.

    As a workaround for this issue we should handle two cases:
     * First os-net-config run / Post deployment
     * Reboot compute node

    For deployment case, we are restarting openvswitch and ifdown ifup
    any PF interface, this will make openvswitch recreate PF shared_block

    For reboot case, we are disabling ipv6 for PF interfaces and because
    the ovs will start after moving to swichdev, so the shared_blocks will
    be created.

    Also there is no need to ifup the PF interfaces after moving to switchdev
    in reboot case as the config scripts will bring them up later

    Change-Id: I2468866629d95dc9f088985d57fbf70263253235
    Closes-Bug: #1836581
    (cherry picked from commit a74bbdd7b017fb3bb9faffb4240efa59cb42c79c)

tags: added: in-stable-rocky
tags: added: in-stable-stein

Reviewed: https://review.opendev.org/679524
Committed: https://git.openstack.org/cgit/openstack/os-net-config/commit/?id=14e46a5accc1501ed2f599d65eff069afb505c8b
Submitter: Zuul
Branch: stable/stein

commit 14e46a5accc1501ed2f599d65eff069afb505c8b
Author: Moshe Levi <email address hidden>
Date: Mon Jul 15 00:26:02 2019 +0300

    fix missing shared_block for PF interface in switchdev bond connected to ovs

    When having a deployment with ovs bridge having a linux bond and
    the slaves of that bond are in switchdev mode , shared_blocks are
    expected to be created for both the bond and the slaves, but because the
    slaves have an autoconfig IPv6 so ovs will assume that the slaves are not
    managed by it, and so those shared_blocks will be missing for those slaves.

    As a workaround for this issue we should handle two cases:
     * First os-net-config run / Post deployment
     * Reboot compute node

    For deployment case, we are restarting openvswitch and ifdown ifup
    any PF interface, this will make openvswitch recreate PF shared_block

    For reboot case, we are disabling ipv6 for PF interfaces and because
    the ovs will start after moving to swichdev, so the shared_blocks will
    be created.

    Also there is no need to ifup the PF interfaces after moving to switchdev
    in reboot case as the config scripts will bring them up later

    Change-Id: I2468866629d95dc9f088985d57fbf70263253235
    Closes-Bug: #1836581
    (cherry picked from commit a74bbdd7b017fb3bb9faffb4240efa59cb42c79c)

This issue was fixed in the openstack/os-net-config 10.4.1 release.

This issue was fixed in the openstack/os-net-config 9.4.1 release.

This issue was fixed in the openstack/os-net-config 8.5.1 release.

This issue was fixed in the openstack/os-net-config 11.2.0 release.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers