[OPNFLWPLUG-353] Buckets in groups are not ordered. Created: 03/Feb/15  Updated: 27/Sep/21  Resolved: 09/Oct/15

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Charalampos Kaidos Assignee: Ioakeim Samaras
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 2664
Priority: High

 Description   

According to spec 1.3.x the action buckets are "an ordered list of action buckets, where each action bucket contains a set of
actions to execute and associated parameters". The problem is that these buckets are not ordered, thus when designing an app that involves multiple buckets for, say, fast fail-over, the result is not predictable. This http request:

<group xmlns="urn:opendaylight:flow:inventory">
<group-type>group-ff</group-type>
<buckets>
<bucket>
<action>
<output-action>
<output-node-connector>openflow:1:2</output-node-connector>
</output-action>
<order>0</order>
</action>
<bucket-id>1</bucket-id>
<watch_port>2</watch_port>
</bucket>
<bucket>
<action>
<output-action>
<output-node-connector>openflow:1:3</output-node-connector>
</output-action>
<order>0</order>
</action>
<bucket-id>2</bucket-id>
<watch_port>3</watch_port>
</bucket>
</buckets>
<group-name>Foo</group-name>
<group-id>1</group-id>
</group>

produces this data in the configuration tree:

<group xmlns="urn:opendaylight:flow:inventory">
<group-id>1</group-id>
<buckets>
<bucket>
<bucket-id>2</bucket-id>
<watch_port>3</watch_port>
<action>
<order>0</order>
<output-action>
<output-node-connector>openflow:1:3</output-node-connector>
</output-action>
</action>
</bucket>
<bucket>
<bucket-id>1</bucket-id>
<watch_port>2</watch_port>
<action>
<order>0</order>
<output-action>
<output-node-connector>openflow:1:2</output-node-connector>
</output-action>
</action>
</bucket>
</buckets>
<group-type>group-ff</group-type>
<group-name>Foo</group-name>
<barrier>false</barrier>
</group>

and the message send to the switch contains the buckets as in the data store. This way we cannot create proper paths in a network using groups as we don't know which bucket will be used when.

I suggest a change in the model so that each bucket has an "order" field, much like actions have an order field. Then the OpenFlow pluggin should respect this order and create the proper OF message.



 Comments   
Comment by Abhijit Kumbhare [ 24/Feb/15 ]

Kamal,

Did you work on a bug related to ordering? This is not the most pressing bug at the moment but if you have a chance sometime - please look at it.

Thanks,
Abhijit

Comment by Kamal Rameshan [ 03/Jun/15 ]

I can work on this one, but this one would probably need a yang/api change.

Too late for Lithium i guess

Comment by Shuva Jyoti Kar [ 05/Aug/15 ]

The issue becomes even more complex and inexplicable in case we decide to add a few more buckets, the ordering gets really scrambled

Comment by Ioakeim Samaras [ 21/Aug/15 ]

Hello,

I would like to ask if there is any progress regarding this bug.

Thanks in advance.

Comment by Ioakeim Samaras [ 21/Aug/15 ]

Please check the following thread in mailing list:

https://lists.opendaylight.org/pipermail/openflowplugin-dev/2015-August/003723.html

Comment by Kamal Rameshan [ 23/Aug/15 ]

I am not getting the time to pick this up as clustering is going to take a bulk.
If there are any takers for this one, please go ahead.
If not then i will jump onto this one, after Li-SR2.

Resetting owner to default.

Comment by Luis Gomez [ 25/Sep/15 ]

This bug makes FF groups unusable.

Comment by Luis Gomez [ 25/Sep/15 ]

Hi Samaras, any ETA for the fix?

Comment by Ioakeim Samaras [ 29/Sep/15 ]

Hello, we have just pushed our solution to ODL gerrit. We are waiting for the review process.

https://git.opendaylight.org/gerrit/#/c/27544/

Comment by Anil Vishnoi [ 29/Sep/15 ]

Patch is merged in master and also to stable/lithium.

Comment by Abhijit Kumbhare [ 09/Oct/15 ]

As per Anil's comment has been fixed and just needs verification

Generated at Wed Feb 07 20:32:14 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.