[OPNFLWPLUG-422] Unknow Flow-ID for a flow containing a group or a meter Created: 28/Apr/15  Updated: 27/Sep/21  Resolved: 08/Jun/15

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

Type: Bug
Reporter: Luis Gomez Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: PC


External issue ID: 3082

 Description   

Restoring Group and Meters test has exposed similar issue as https://bugs.opendaylight.org/show_bug.cgi?id=2862, this is flow ID is unknown for a flow containing a group or a meter. Same as 2862, this was working in stable/helium.

Steps to reproduce:

1) start CPqD

2) Create a group:

PUT http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/group/1

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

3) Create a flow with the group:

PUT http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/1

<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<hard-timeout>0</hard-timeout>
<idle-timeout>0</idle-timeout>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<group-action>
<group-id>1</group-id>
</group-action>
<order>1</order>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>0</table_id>
<id>1</id>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
</ethernet-match>
<ipv4-destination>10.0.10.1/32</ipv4-destination>
</match>
<flow-name>forward</flow-name>
<priority>2</priority>
</flow>

3) Check operational:

GET http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0

ANSWER:
"flow": [
{
"id": "#UF$TABLE*0-1",
"flags": "",
"match": {
"ipv4-destination": "10.0.10.1/32",
"ethernet-match": {
"ethernet-type": {
"type": 2048
}
}
},
"priority": 2,
"instructions": {
"instruction": [
{
"order": 0,
"apply-actions": {
"action": [
{
"order": 0,
"group-action": {
"group-id": 1
}
}
]
}
}
]
},
"idle-timeout": 0,
"opendaylight-flow-statistics:flow-statistics": {
"duration": {
"nanosecond": 790000,
"second": 595
},
"byte-count": 0,
"packet-count": 0
},
"table_id": 0,
"hard-timeout": 0,
"cookie": 0
}
],



 Comments   
Comment by Luis Gomez [ 05/May/15 ]

I think the unknown Flow-ID issue is occurring with many flows in Lithium, it just happens that we have a test that checks the Flow-ID in the Group and Meter test.

Comment by Michal Rehak [ 06/May/15 ]

Please retest. Big alien affair has been fixed by https://git.opendaylight.org/gerrit/19638

Comment by Jozef Gloncak [ 06/May/15 ]

I retested as specified in steps 1, 2, 3.

Mininet contained tree structure of height 2 (3 switches).

I added group with ID 1 and 2.
Then I added flows with ID 1 and 2 to openflow:1 and flows with ID 1 and 2 to openflow:2 device.

After few moments everything was correctly mirrored in operational DS (no alien nodes)

Comment by Jozef Gloncak [ 06/May/15 ]

Reported behavior wasn't observed.
Fix mentioned by Michal Rehak probably solved issue.

Comment by Luis Gomez [ 06/May/15 ]

So I just tried with latest master and odl-openflowplugin-flow-services-ui and still does not work.

CI test also shows this bug:

https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-1node-cds-flow-services-only-master/377/robot/report/log.html

BR/Luis

Comment by Luis Gomez [ 06/May/15 ]

Joseph, can you also plese post the result of below request when you say it works:

GET http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0

Comment by Jozef Gloncak [ 11/May/15 ]

Currently I am also able to see alien flows in operational datastore.

Comment by Jozef Gloncak [ 15/May/15 ]

Try to retest please.

This problem should be solved now with patch https://git.opendaylight.org/gerrit/#/c/20395/.

Comment by Luis Gomez [ 20/May/15 ]

It seems fixed in Li redesign but not in He plugin. I cannot close this until we decide which plugin goes in this release.

Comment by Jozef Gloncak [ 21/May/15 ]

Trying to fix problem in helium

Comment by Jozef Gloncak [ 21/May/15 ]

It wasn't possible to put flows (flow) to config datastore. Operation has frozen.

Comment by Jozef Gloncak [ 26/May/15 ]

Because of comment in >>comment 9<< this bug was removed from depends on bug in 3120

Comment by Luis Gomez [ 08/Jun/15 ]

This was a replica of https://bugs.opendaylight.org/show_bug.cgi?id=2862

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