[CONTROLLER-879] Continuous WARN logs in o.o.c.s.c.ToSalConversionsUtils - nodeConnector creation failed at node: OF|00:00:xx:xx:xx:xx:xx:xx with nodeConnectorUri: OF:213772296732235:CONTROLLER Created: 22/Sep/14 Updated: 25/Jul/23 Resolved: 15/Nov/14 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | mdsal |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Flavio Fernandes | Assignee: | Flavio Fernandes |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 2021 |
| Description |
|
osgi> 2014-09-22 09:40:01.399 EDT [md-sal-binding-notification-48] WARN o.o.c.s.c.ToSalConversionsUtils - nodeConnector creation failed at node: OF|00:00:62:07:3e:b5:35:43 with nodeConnectorUri: OF:107783256356163:NORMAL |
| Comments |
| Comment by Flavio Fernandes [ 22/Sep/14 ] |
|
Exception details: org.opendaylight.controller.sal.core.ConstructionException: Type of incoming object:class java.lang.String not compatible with expected type:class java.lang.Short or Node type incompatible:OF "md-sal-binding-notification-199@13469" daemon prio=5 tid=0x2ff nid=NA runnable |
| Comment by Flavio Fernandes [ 22/Sep/14 ] |
|
Info on where exception takes place: |
| Comment by Flavio Fernandes [ 22/Sep/14 ] |
|
[14:06:23] <flaviof> hi edwarnicke. can you tell me who is a good person to talk about this piece of code: https://www.dropbox.com/s/prdhresrdcfcyv5/Screenshot%202014-09-22%2014.03.46.png?dl=0 ? |
| Comment by Ed Warnicke [ 23/Sep/14 ] |
|
I would like to assert that I apparently was delusional when I told flavio to talk to Madhu about this bug. |
| Comment by Ed Warnicke [ 23/Sep/14 ] |
|
Not a Fix: https://git.opendaylight.org/gerrit/#/c/11497/ Makes the logging clearer on what just happened. From the logs below, it looks like someone wrote a flow with a NodeConnectorId of OF:107783256356163:NORMAL... since this doesn't match the format OFplugin uses, our converters are failing (and there's no way they couldn't). It looks like someone is writing invalid flows... but I could be wrong. |
| Comment by Jim West [ 26/Sep/14 ] |
|
I've hit this comment too and I've chased it into the same region of the code. I too though I was calling something incorrectly. I've spent several hours chasing this and I don't think I'm calling anything incorrectly. The Flow that I think was causing this on my side was created as: (When I see this problem, the node ID is OF:<datapathID>:FLOOD private static Instruction createInstructionApplyActionsFlood(final int order) { final OutputActionBuilder outputActionBuilder = new OutputActionBuilder(); final Uri uri = new Uri("FLOOD"); outputActionBuilder.setOutputNodeConnector(uri); // create an actonBuilder final ActionBuilder actionBuilder = new ActionBuilder(); actionBuilder.setAction(new OutputActionCaseBuilder().setOutputAction(outputActionBuilder.build()).build()); actionBuilder.setOrder(0); actionBuilder.setKey(new ActionKey(0)); // Create an Apply Action final ApplyActionsBuilder applyActionBuilder = new ApplyActionsBuilder(); applyActionBuilder.setAction(ImmutableList.of(actionBuilder.build())); // Wrap our Apply Action in an Instruction final InstructionBuilder instructionBuilder = new InstructionBuilder(); instructionBuilder.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(applyActionBuilder.build()).build()); instructionBuilder.setOrder(order); instructionBuilder.setKey(new InstructionKey(order)); return instructionBuilder.build(); }NOTE: This code comes from one of the code samples that's out there. |
| Comment by Ed Warnicke [ 03/Nov/14 ] |
|
Jim, Somewhere someone is writing an FlowCapable Node with MD-SAL NodeID of 'OF:107783256356163:CONTROLLER' etc. Thats an AD-SAL NodeID, and not an MD-SAL NodeID and thus we have no idea how to translate it (and also no idea how to actually program it meaningfully on a switch). You need to chase this down to where you are missetting the NodeConnectorID for the flow to resolve the issue. |
| Comment by Flavio Fernandes [ 06/Nov/14 ] |
|
I have drilled down to where the issue is located: The function Is attempting to detect the special cases and would return SPECIALNODECONNECTORID: if (nodeConnectorId.equals(toLocalNodeConnectorId(nodeId)) || in this case – however – the toControllerNodeConnectorId(nodeId) and OF:1234:CONTROLLER Moiz: it looks like you are the one who added the logic to return SPECIALNODECONNECTORID. Can you advise what is the best way of fixing this? I have a simple proposal, but I'm not sure if that is what you would do. – flavio |
| Comment by Flavio Fernandes [ 06/Nov/14 ] |
|
Links that shows code involved with this issue: https://www.dropbox.com/s/txpb9m5sm2wr7re/Screenshot%202014-11-06%2006.27.41.png?dl=0 https://www.dropbox.com/s/rtyukw4n5ies2tr/Screenshot%202014-11-06%2006.28.08.png?dl=0 https://www.dropbox.com/s/9n2bymnlpqx9vsn/Screenshot%202014-11-06%2006.29.17.png?dl=0 https://www.dropbox.com/s/hlz3whx7e8n8o1i/Screenshot%202014-11-06%2006.32.51.png?dl=0 https://www.dropbox.com/s/5o2ztlq373r6wtt/Screenshot%202014-11-06%2006.41.22.png?dl=0 |
| Comment by Flavio Fernandes [ 06/Nov/14 ] |
| Comment by Flavio Fernandes [ 06/Nov/14 ] |
|
From: Flavio Fernandes <ffernand@redhat.com> … it is a no go. by making the changes you mentioned, the Uri became just ‘CONTROLLER’. W/out the 'OF:dpid:’ prefix: https://www.dropbox.com/s/w5veevdft0hqow8/Screenshot%202014-11-06%2018.18.33.png?dl=0 [redhatlaptop:controller.git]$ git diff } so I gotta believe that the ‘node.getType()":"+node.getID()”:”’ are very needed. Is this a case where a translator from ‘OF’ to ‘open flow’ Do you see anything wrong with the gerrit I’m proposing: https://git.opendaylight.org/gerrit/#/c/12568/ ? Please advice, — flavio |
| Comment by Flavio Fernandes [ 08/Nov/14 ] |
|
From: Flavio Fernandes <ffernand@redhat.com> On Fri, Nov 7, 2014 at 6:17 PM, Srini Seetharaman Thanks for this message Srini! Can you share more details on the org.opendaylight.controller.sal.compatibility.InventoryAndReadAdapter.onFlowsStatisticsUpdate(InventoryAndReadAdapter.java:710) will suffer from this. That is so, because According to InteliJ, there are 153 uses of 'NodeIDType.OPENFLOW' And this is only in the controller repository! I don't know the history of So, yes... I think the changes you are proposing would address https://git.opendaylight.org/gerrit/#/c/12568/ It is likely that Ed likes your changes better and I'm very okay Best, – flavio > diff --git > } |
| Comment by Flavio Fernandes [ 11/Nov/14 ] |
|
mail thread: https://lists.opendaylight.org/pipermail/ovsdb-dev/2014-November/000845.html |
| Comment by Flavio Fernandes [ 14/Nov/14 ] |
|
master: stable/helium (SR2): |