Trunk subport will not be available after controller restart

Bug #1705503 reported by Dima Kuznetsov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DragonFlow
Fix Released
High
Unassigned

Bug Description

If controller restarts and flows are deleted, flows pertaining to subports will not be created.

Consider the following on-boot scenario:
 * Sub-port is fetched.
 * Sub-port's ofport is not set, because child port segmentation was not fetched yet (due to model ordering)
 * Sub-port is not cached or notified to apps due to lack of ofport
 * Child port segmentation is fetched
 * Child port segmentation looks for child port in local cache
 * Child port segmentation does not update sub-port because it is not found.

Dima Kuznetsov (dimakuz)
Changed in dragonflow:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on dragonflow (master)

Change abandoned by Dima Kuznetsov (<email address hidden>) on branch: master
Review: https://review.openstack.org/486411
Reason: Will not work

Revision history for this message
Dima Kuznetsov (dimakuz) wrote :

ofport is no longer considered for lport updates.

Changed in dragonflow:
status: Confirmed → Fix Committed
Revision history for this message
Omer Anson (omer-anson) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to dragonflow (master)

Reviewed: https://review.openstack.org/493282
Committed: https://git.openstack.org/cgit/openstack/dragonflow/commit/?id=2ccc6e99537cbe0695bc4884ae6d1a43343aea66
Submitter: Jenkins
Branch: master

commit 2ccc6e99537cbe0695bc4884ae6d1a43343aea66
Author: Dima Kuznetsov <email address hidden>
Date: Sat Aug 12 09:53:57 2017 +0300

    Remove binding on trunk subports

    This patch removes port binding added to northbound objects by
    Dragonflow's trunk driver. Previously, when a subport was added, its
    binding was added by trunk driver. Any later update to the port (e.g.
    status) removed the binding as Neutron port object did not have a
    binding set.

    In the new code, the driver is no longer responsible to update binding.
    Trunk app running on the controller is responsible for receiving port
    and child_port_segmentation events, and deducing when a subport should
    be marked local or remote.

    Change-Id: Ia5559256d38a74a49e64eb4f9b3c7d0c1a503df0
    Closes-Bug: 1710335
    Closes-Bug: 1705503

Changed in dragonflow:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.