Resubmit actions are changed to drop after rebooting the control node.
Description
Environment
Operating System: All
Platform: All
Attachments
- 11 Sep 2017, 08:46 AM
- 11 Sep 2017, 08:45 AM
- 11 Sep 2017, 08:43 AM
- 11 Sep 2017, 08:43 AM
- 11 Sep 2017, 08:38 AM
duplicates
is duplicated by
Activity
Arunprakash D March 12, 2018 at 7:06 AM
@Former user, openflowjava should be converted to blueprint and we don't have plan to convert the same for carbon branch.
Openflowplugin and Openflowjava are converted to blueprint from stable nitrogen. Please check from nitrogen onwards and open the bug if exits.
Somashekhar Javalagi March 6, 2018 at 5:58 AM
Hi @Former user,
This issue is not there in nitrogen and oxygen, as they are already having latest blueprint changes. Do we need to fix it to the carbon as well?
Arunprakash D November 7, 2017 at 12:14 PMEdited
After controller restart, nicira extensions serializer registration is taking some amount of time as it is still in config subsystem.
Before openflowplugin-extension-nicira bundles comes up, reconciliation is pushing the flow which is not having resubmit serializer and fails.
We need to convert the extension bundle to blueprint.
Arunprakash D October 27, 2017 at 1:50 PM
Cherry-pick to stable/carbon is yet to be merged.
https://git.opendaylight.org/gerrit/#/c/62471/
Will merge as soon as the conflicts gets resolved.
Bertrand Low October 23, 2017 at 11:58 PM
This bug is still valid in stable/carbon (last tested using distribution-karaf-0.6.3-20171023.085758-46.tar.gz), but is not reproducible in stable/nitrogen or master branches.
Below is a more simplified setup to reproduce the bug, and only requires restarting ODL.
setup:
using ovs_version: "2.6.1"
create a bridge (e.g. br-int) and set its controller to be ODL
start ODL and install features: odl-openflowplugin-flow-services odl-openflowplugin-nxm-extensions odl-mdsal-apidocs
create a flow with action=resubmit using ODL and confirm that the flow is pushed successfully to the node
steps:
1. stop ODL
2. start ODL
3. notice that flow is pushed to the node but the resubmit action is now a drop action. Also, other attributes of the flow (e.g. ct_mark) are also missing.
this is the case regardless of the OVS fail_mode setting of the bridge, which determines whether the original flow is cleared by OVS between step 1. and 2. (i.e. after ODL disconnects).
workaround: if you restart openvswitch on the node after step 3., the correct flow is pushed down to the node.
e.g.
[odl@odl32 ~]$ sudo ovs-ofctl dump-flows -Oopenflow13 br-int
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x6900000, duration=21.207s, table=2, n_packets=0, n_bytes=0, priority=62020 actions=drop
[odl@odl32 ~]$ sudo systemctl restart openvswitch
[odl@odl32 ~]$ sudo ovs-ofctl dump-flows -Oopenflow13 br-int
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x6900000, duration=2.392s, table=2, n_packets=0, n_bytes=0, priority=62020,ct_mark=0x24/0x37 actions=resubmit(,17)
stable/carbon:
reproducible most of the time. Occasionally, the correct flow is pushed successfully.
stable/nitrogen:
fixed
master:
fixed
Distro Version: Carbon (distribution-karaf-0.6.2-20170821.001151-442.tar.gz)
Setup:
Control node with ODL
Features to be installed:
odl-openflowplugin-flow-services
odl-openflowplugin-nxm-extensions
odl-mdsal-apidocs
Steps:
Push a resubmit flow using RESTAPI
Reboot the control node with ODL.
Observation:
The flow with action resubmit had been changed to action drop after reboot.
In config datastore, the action is not been changed to drop. But in device the action has been changed to drop.