[OPNFLWPLUG-760] OVS Port remains DOWN in OpenFlow inventory when using Mininet 2.1.0 with OVS 2.0 OF1.0 Created: 31/Aug/16 Updated: 27/Sep/21 Resolved: 16/Oct/17 |
|
| Status: | Resolved |
| Project: | OpenFlowPlugin |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Karthik Sivasamy | Assignee: | Karthik Sivasamy |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 6595 |
| Description |
|
The latest regression runs for VTN CSIT jobs reports failure in normal flow installation when testing with OF 1.0 switches. The same jobs are not reporting failures when testing with OF 1.3 switches. VTN CSIT Jobs URL reporting failures Karaf Log URL Observation During the failure scenario the below error was observed in the log 2016-08-28 19:34:22,691 | WARN | entLoopGroup-5-3 | DeviceContextImpl | 183 - org.opendaylight.openflowplugin.impl - 0.3.0.SNAPSHOT | Error processing port status message: The packets received at the ports were dropped as the status was reported as down. 2016-08-28 19:35:13,879 | WARN | Runner: VTN Main | VBridge | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | vBridge:Tenant1/vBridge1: Drop packet because egress port is down: src=0e:d0:3e:75:86:41, dst=52:5b:30:b8:d8:0b, port=openflow:2:1, type=0x806, vlan=0 this is a blocker for VTN testing in OF 1.0 switches. |
| Comments |
| Comment by Shuva Jyoti Kar [ 01/Sep/16 ] |
|
Have put in a fix to get more information on the port whose status is being missed: Please try it out with this and share the logs for us to analyse the failure to process the port status message. However since : Could you guys also take a look and ascertain that |
| Comment by Hideyuki Tai [ 02/Sep/16 ] |
|
I'm sharing the outcome of my investigation so far. I think the OpenFlow plugin failed to process a port status message because the message came from a switch before it started the service as MASTER for the switch.
Here is detailed information of my investigation. I've checked the following log file on a failed job. In this job, the VTN feature wrongly judged a port "openflow:2:1" was down, because probably OFP didn't notify the VTN Manager of the port creation. I saw the following log messages on the log file. 2016-09-01 18:16:24,099 | DEBUG | entLoopGroup-5-3 | TransactionChainManager | 183 - org.opendaylight.openflowplugin.impl - 0.3.0.SNAPSHOT | WriteTx is null for node KeyedInstanceIdentifier {targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]]]}. Write data for KeyedInstanceIdentifier {targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]], org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector[key=NodeConnectorKey [_id=Uri [_value=openflow:2:1]]]]} was not realized. I think the OpenFlow plugin failed to process port status message, because it failed to get a WriteTransaction. Actually, I saw the following log message 160 msec after the above log message. 2016-09-01 18:16:24,260 | INFO | ult-dispatcher-2 | LifecycleServiceImpl | 183 - org.opendaylight.openflowplugin.impl - 0.3.0.SNAPSHOT | ========== Starting clustering MASTER services for node openflow:2 ==========
[openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/TransactionChainManager.java] 223 <T extends DataObject> void writeToTransaction(final LogicalDatastoreType store, 258 @Nullable 265 } |
| Comment by Hideyuki Tai [ 02/Sep/16 ] |
|
(In reply to Shuva Jyoti Kar from comment #1) Thank you for check the log messages! However, all those flow addition failures are not related to the CSIT test failures. In the VTN CSIT, firstly some tests are done with OF10 switches, and secondly some tests are done with OF13 switches. The test failures which this bug report is handling were occurred in the test with OF10. And, the following two types of error messages are expected. In the test, test scripts stop and start mininet a few times to change its topology to test many scenarios. On an event to stop mininet, the following types of error messages are output, but that is expected, and that doesn't introduce any test failures. > b. 10 due to Device disconnected On the other hand, the following error is not good. > a. 19 are due to error type BADACTION code BADSETARGUMENT Anyway, as I explained in the previous comment in the #c2, I think the root cause of the test failure of CSIT is that the OpenFlow Plugin failed to process port status message, and failed to put correct port information into the operational DS. So I think we need to focus and fix this issue. |
| Comment by A H [ 02/Sep/16 ] |
|
Is there an ETA for this bug and someone assigned to fix? |
| Comment by Luis Gomez [ 06/Sep/16 ] |
|
After more testing this bug only reproduces with OVS 2.0 in OF1.0 (default) mode the first time you start mininet after controller restarts. I have added test in OF suite to detect this: https://git.opendaylight.org/gerrit/#/c/45193/ BR/Luis |
| Comment by A H [ 06/Sep/16 ] |
|
To better assess the impact of this bug and fix, could someone from your team please help us identify the following: |
| Comment by Luis Gomez [ 06/Sep/16 ] |
|
I just see 1 port status failing in Beryllium: This would mean:
Therefore I downgrade the importance from Blocker to Major. |
| Comment by A H [ 08/Sep/16 ] |
|
Has this bug been verified as fixed in the latest Boron RC 3.1 Build? |
| Comment by Luis Gomez [ 08/Sep/16 ] |
|
Mininet 2.1.0 with OVS 2.0 OF1.0 has this strange behavior that switch s2 connects to controller with port s2-eth1 down. After some time the switch sends a port status update to controller who seems to miss to update the OpenFlow inventory. I still believe there is something odd in the controller with this port status update but since this only happens with very specific (and old) version of mininet and OVS we can definitely lower the priority of this. |
| Comment by Tomas Slusny [ 05/Jun/17 ] |
|
Can someone retest this again on latest master? Patch that was solving issues with missed/early port status messages was merged and it was solving similar issues as ones mentioned in this bug. |
| Comment by Abhijit Kumbhare [ 16/Oct/17 ] |
|
Closing this as there was no update. |