Re: [openflowplugin-dev] Li vs He - TransactionId and Error notifications
Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES@Cisco) <mirehak@...>
Hi Omar, in Li-design you get a future object but the transactionId is null there. Reason is simple: you do not need it. If there is an error message related to your flow then you will get failed future containing that error in exception. If your future is successful then the flow has been accepted by device (flow-mod was sent followed by barrier request + reply).
See: https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:He_vs_Li_comparison
Regards, Michal
From: openflowplugin-dev-bounces@... <openflowplugin-dev-bounces@...> on behalf of omar dyson <omar.m.dyson@...>
Sent: Wednesday, November 4, 2015 15:34 To: openflowplugin-dev@...; openflowjava-dev Subject: [openflowplugin-dev] Li vs He - TransactionId and Error notifications Hi all,
In Helium RPC future result returned Transaction Id, example :
Future<RpcResult<AddFlowOutput>> rpcResult= salFlowService.addFlow(addFlowInput);
if (rpcResult.get().isSuccessful()) {
TransactionId id = rpcResult.get().getResult().getTransactionId()
}
In Lithium code the getResult() always return null. Is that normal? How to get the transaction Id?
Also, the NodeErrorListener does not return OF errors as it is the case with Helium code.
I'm I missing something?
Regards,
Dyson
|
|
Li vs He - TransactionId and Error notifications
omar.m.dyson@gmail.com
Hi all,
In Helium RPC future result returned Transaction Id, example : Future<RpcResult<AddFlowOutput>> rpcResult= salFlowService.addFlow(addFlowInput); if (rpcResult.get().isSuccessful()) { TransactionId id = rpcResult.get().getResult().getTransactionId() } In Lithium code the getResult() always return null. Is that normal? How to get the transaction Id? Also, the NodeErrorListener does not return OF errors as it is the case with Helium code. I'm I missing something? Regards, Dyson |
|
Li vs He - TransactionId and Error notifications
omar.m.dyson@gmail.com
Hi all,
In Helium RPC future result Future<RpcResult<AddFlowOutput>> rpcResult= salFlowService.addFlow(addFlowInput); if (rpcResult.get().isSuccessful()) { TransactionId id = status.get().getResult().getTransactionId() |
|
is setting cfi bit supported?
Ronald van der Pol <Ronald.vanderPol@...>
I am trying to set the CFI bit in the VLAN TCI header. The REST call
returns 200 OK, but the instruction is not sent via the OpenFlow protocol. Only the VID and PCP are set. Also, cfi is defined inconsistantly. In opendaylight-action-types.yang it is defined as int32, in openflow-extensible-match.yang as boolean. Json code, tshark packet capture, and yang parts are below: ------------------------------------------------------------- { "table": [ { "id": "0", "flow": [ { "id": "11", "match": { "in-port": "78", "ethernet-match": { "ethernet-type": { "type": "0x800" } }, "vlan-match": { "vlan-id": { "vlan-id-present": "true", "vlan-id": "3170" } } }, "instructions": { "instruction": [ { "order": "1", "apply-actions": { "action": [ { "set-vlan-id-action": { "vlan-id": "123" }, "order": "1" }, { "set-vlan-cfi-action": { "vlan-cfi": "1" }, "order": "2" }, { "set-vlan-pcp-action": { "vlan-pcp": "3" }, "order": "3" }, { "output-action": { "output-node-connector": "40" }, "order": "4" } ] } } ] }, "flow-name": "sender-to-loop", "table_id": "0" } ] } ] } ------------------------------------------------------------- ------------------------------------------------------------- Frame 125313: 194 bytes on wire (1552 bits), 194 bytes captured (1552 bits) on interface 0 Interface id: 0 (eth0) Encapsulation type: Ethernet (1) Arrival Time: Nov 4, 2015 11:41:17.802142000 CET [Time shift for this packet: 0.000000000 seconds] Epoch Time: 1446633677.802142000 seconds [Time delta from previous captured frame: 0.000642000 seconds] [Time delta from previous displayed frame: 16.306840000 seconds] [Time since reference or first frame: 331.784363000 seconds] Frame Number: 125313 Frame Length: 194 bytes (1552 bits) Capture Length: 194 bytes (1552 bits) [Frame is marked: False] [Frame is ignored: False] [Protocols in frame: eth:ethertype:ip:tcp:openflow:openflow_v4] Ethernet II, Src: fa:16:3e:8d:36:d8 (fa:16:3e:8d:36:d8), Dst: fa:16:3e:4f:a4:84 (fa:16:3e:4f:a4:84) Destination: fa:16:3e:4f:a4:84 (fa:16:3e:4f:a4:84) Address: fa:16:3e:4f:a4:84 (fa:16:3e:4f:a4:84) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Source: fa:16:3e:8d:36:d8 (fa:16:3e:8d:36:d8) Address: fa:16:3e:8d:36:d8 (fa:16:3e:8d:36:d8) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) Type: IP (0x0800) Internet Protocol Version 4, Src: 10.1.1.7 (10.1.1.7), Dst: XXX.XXX.25.23 (XXX.XXX.25.23) Version: 4 Header Length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport)) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00) Total Length: 180 Identification: 0xb570 (46448) Flags: 0x02 (Don't Fragment) 0... .... = Reserved bit: Not set .1.. .... = Don't fragment: Set ..0. .... = More fragments: Not set Fragment offset: 0 Time to live: 64 Protocol: TCP (6) Header checksum: 0x9e09 [validation disabled] [Good: False] [Bad: False] Source: 10.1.1.7 (10.1.1.7) Destination: XXX.XXX.25.23 (XXX.XXX.25.23) [Source GeoIP: Unknown] [Destination GeoIP: Unknown] Transmission Control Protocol, Src Port: 6633 (6633), Dst Port: 60176 (60176), Seq: 1521169, Ack: 1775593, Len: 128 Source Port: 6633 (6633) Destination Port: 60176 (60176) [Stream index: 2] [TCP Segment Len: 128] Sequence number: 1521169 (relative sequence number) [Next sequence number: 1521297 (relative sequence number)] Acknowledgment number: 1775593 (relative ack number) Header Length: 32 bytes .... 0000 0001 1000 = Flags: 0x018 (PSH, ACK) 000. .... .... = Reserved: Not set ...0 .... .... = Nonce: Not set .... 0... .... = Congestion Window Reduced (CWR): Not set .... .0.. .... = ECN-Echo: Not set .... ..0. .... = Urgent: Not set .... ...1 .... = Acknowledgment: Set .... .... 1... = Push: Set .... .... .0.. = Reset: Not set .... .... ..0. = Syn: Not set .... .... ...0 = Fin: Not set Window size value: 1452 [Calculated window size: 1452] [Window size scaling factor: -1 (unknown)] Checksum: 0xe770 [validation disabled] [Good Checksum: False] [Bad Checksum: False] Urgent pointer: 0 Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps No-Operation (NOP) Type: 1 0... .... = Copy on fragmentation: No .00. .... = Class: Control (0) ...0 0001 = Number: No-Operation (NOP) (1) No-Operation (NOP) Type: 1 0... .... = Copy on fragmentation: No .00. .... = Class: Control (0) ...0 0001 = Number: No-Operation (NOP) (1) Timestamps: TSval 119309230, TSecr 578168889 Kind: Time Stamp Option (8) Length: 10 Timestamp value: 119309230 Timestamp echo reply: 578168889 [SEQ/ACK analysis] [Bytes in flight: 128] [PDU Size: 128] OpenFlow 1.3 Version: 1.3 (0x04) Type: OFPT_FLOW_MOD (14) Length: 128 Transaction ID: 13579669 Cookie: 0x0000000000000000 Cookie mask: 0x0000000000000000 Table ID: 0 Command: OFPFC_ADD (0) Idle timeout: 0 Hard timeout: 0 Priority: 32768 Buffer ID: OFP_NO_BUFFER (0xffffffff) Out port: OFPP_ANY (0xffffffff) Out group: OFPG_ANY (0xffffffff) Flags: 0x0000 .... .... .... ...0 = Send flow removed: False .... .... .... ..0. = Check overlap: False .... .... .... .0.. = Reset counts: False .... .... .... 0... = Don't count packets: False .... .... ...0 .... = Don't count bytes: False Pad: 0000 Match Type: OFPMT_OXM (1) Length: 24 OXM field Class: OFPXMC_OPENFLOW_BASIC (0x8000) 0000 000. = Field: OFPXMT_OFB_IN_PORT (0) .... ...0 = Has mask: False Length: 4 Value: 78 OXM field Class: OFPXMC_OPENFLOW_BASIC (0x8000) 0000 101. = Field: OFPXMT_OFB_ETH_TYPE (5) .... ...0 = Has mask: False Length: 2 Value: IP (0x0800) OXM field Class: OFPXMC_OPENFLOW_BASIC (0x8000) 0000 110. = Field: OFPXMT_OFB_VLAN_VID (6) .... ...0 = Has mask: False Length: 2 ...1 .... .... .... = OFPVID_PRESENT: True .... 1100 0110 0010 = Value: 3170 Instruction Type: OFPIT_APPLY_ACTIONS (4) Length: 56 Pad: 00000000 Action Type: OFPAT_SET_FIELD (25) Length: 16 OXM field Class: OFPXMC_OPENFLOW_BASIC (0x8000) 0000 110. = Field: OFPXMT_OFB_VLAN_VID (6) .... ...0 = Has mask: False Length: 2 ...1 .... .... .... = OFPVID_PRESENT: True .... 0000 0111 1011 = Value: 123 Pad: 000000000000 Action Type: OFPAT_SET_FIELD (25) Length: 16 OXM field Class: OFPXMC_OPENFLOW_BASIC (0x8000) 0000 111. = Field: OFPXMT_OFB_VLAN_PCP (7) .... ...0 = Has mask: False Length: 1 Value: 03 Pad: 00000000000000 Action Type: OFPAT_OUTPUT (0) Length: 16 Port: 40 Max length: 0 Pad: 000000000000 ------------------------------------------------------------- ------------------------------------------------------------- opendaylight-action-types.yang: typedef vlan-cfi { type int32; } ------------------------------------------------------------- ------------------------------------------------------------- openflow-extensible-match.yang: case vlan-vid-case { container vlan-vid { leaf vlan-vid { type uint16; } leaf cfi-bit { type boolean; } leaf mask { type binary; } } } ------------------------------------------------------------- |
|
Re: Query on ExperimenterMessage
Michal Polkorab
Hello Giuseppe,
first, few statements from Openflow 1.3.2 specification: Echo: - An Echo Request message consists of an OpenFlow header plus an arbitrary-length data field Experimenter: - Experimenter-defined arbitrary additional data
So in case of echo message, any additional data present are transformed into "data" (byte array). However, in case experimenter message is received, there is some experimenter defined content which needs to be translated by some codec (deserializer / serializer). In order to do so, one must augment the "choice experimenter-data-of-choice" - so that one
has needed fields added into the experimenter message. And also one needs to implement the codec that takes care of the experimenter data.
Data could be translated even from byte array, but it is easier to work with fields straight. Moreover it goes hand in hand with model driven architecture that we hold on to.
Regards, Michal From: Petralia, GiuseppeX <giuseppex.petralia@...>
Sent: 29 October 2015 17:17 To: openflowjava-dev@... Subject: [openflowjava-dev] Query on ExperimenterMessage Hi all,
I was using the ExperimenterMessage model generated from the yang model openflow-protocol.yang and I noticed that it is missing the data field.
For example if you look at echo-request you will find the data leaf:
grouping echo-request { reference "OFPT_ECHO_REQUEST message in Openflow Switch 1.3 Spec"; /* Symmetric message */ uses ofHeader;
leaf data { type binary; } }
While if you look at the Experimenter fields, data is missing and consequently the generated source does not implement the getData() method (that is the method to which I am interested in):
grouping experimenter-core { description "General experimenter message content suitable for symmetric and multipart message"; leaf experimenter { type oft:experimenter-id; } leaf exp_type { type uint32; } choice experimenter-data-of-choice { // to be augmented by vendors } }
Is that any reason for that or is it just a bug?
Thank you for your help.
Best, -------------------------------------------------------------- This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. MichalPolkoráb Software Engineer
|
|
Query on ExperimenterMessage
Petralia, GiuseppeX <giuseppex.petralia@...>
Hi all,
I was using the ExperimenterMessage model generated from the yang model openflow-protocol.yang and I noticed that it is missing the data field.
For example if you look at echo-request you will find the data leaf:
grouping echo-request { reference "OFPT_ECHO_REQUEST message in Openflow Switch 1.3 Spec"; /* Symmetric message */ uses ofHeader;
leaf data { type binary; } }
While if you look at the Experimenter fields, data is missing and consequently the generated source does not implement the getData() method (that is the method to which I am interested in):
grouping experimenter-core { description "General experimenter message content suitable for symmetric and multipart message"; leaf experimenter { type oft:experimenter-id; } leaf exp_type { type uint32; } choice experimenter-data-of-choice { // to be augmented by vendors } }
Is that any reason for that or is it just a bug?
Thank you for your help.
Best, -------------------------------------------------------------- This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. |
|
Re: [integration-dev] Repo Location - Java OpenFlow Controller Benchmarking Tool
Abhijit Kumbhare
No problems :)
toggle quoted message
Show quoted text
On Wednesday, October 28, 2015, Luis Gomez <ecelgp@...> wrote:
|
|
Re: [integration-dev] Repo Location - Java OpenFlow Controller Benchmarking Tool
Luis Gomez <ecelgp@...>
Thanks Abhijit for hosting this :)
|
|
Re: [integration-dev] Repo Location - Java OpenFlow Controller Benchmarking Tool
Abhijit Kumbhare
Sure - I don't see any issue with that. As Michal mentioned - we already host several OpenFlow related apps. These apps or what were initially called the NSFs (forwarding rules manager, stats mgr, inventory mgr, topology mgr, etc.) had been discussed with/approved at the TSC earlier in the year. Also the following is in scope of the project & your OpenFlow controller benchmarking tool can be considered under that scope:
On Wed, Oct 28, 2015 at 10:48 AM, Williams, Marcus <marcus.williams@...> wrote:
|
|
Re: [integration-dev] Repo Location - Java OpenFlow Controller Benchmarking Tool
Marcus G K Williams
+ Openflow-dev list
Openflowplugin Devs & Committers,
Can we host a Java OpenFlow Controller Benchmarking Tool focused on testing OF 1.3 + TLS [1][2] in your repo? The patches referenced are the beginning stages of tool in question. Another patch with junit tests is forthcoming and Raksha is working on packet-in, flowmod functionality etc. now. The reasoning for moving the patches: “it has been noted that Integration/Test does not have infrastructure (java focused Jenkins jobs to verify/build etc.) to handle Java based patches and except for myself there are few to do reviews on Java code.”
Michal,
The patches that have dependency on openflowjava are in the works, though there is discussion about choosing another openflow library if the functionality we need is not present yet (it sounds like it may not be).
[1]: https://git.opendaylight.org/gerrit/#/c/27312/ [2]: https://git.opendaylight.org/gerrit/#/c/28308/
From: integration-dev-bounces@... [mailto:integration-dev-bounces@...]
On Behalf Of Michal Polkoráb
Hello Marcus,
yes, this sounds reasonable. But I would prefer placing the tool into openflowplugin repository as: 1. there are more committers - so the development (and reviews) will be more swift, 2. openflowplugin already hosts a few applications in their repository.
By the way, are there more commits except for [1][2] ? Because I can see no dependency on openflowjava in pom.xml.
Regards, Michal
From: Williams, Marcus <marcus.williams@...>
Openflowjava Devs,
Raksha has been working on a Java OpenFlow Controller Benchmarking Tool [1][2] (I’m sure many of you have seen her emails come across the wire).
The patches have been pushed to Integration/Test, mainly because that is where the tool will be utilized. It has since been noted that Integration/Test does not have infrastructure (java focused Jenkins jobs to verify/build etc.) to handle Java based patches and except for myself there are few to do reviews on Java code.
Discussion has focused on the possibility of moving the tool into the openflowjava repo, as the tool uses openflowjava as a dependency and it could be thought of as a more ‘advanced’ client using openflowjava lib.
Does this sound reasonable?
[1] https://git.opendaylight.org/gerrit/#/c/27312/ [2] https://git.opendaylight.org/gerrit/#/c/28308/
Thanks, /** Marcus */
Marcus Williams SDN Controller Team Software Defined Networking Division Network Platforms Group Intel Corporation (503) 712-6788
MichalPolkoráb Software Engineer
|
|
Re: [integration-dev] Repo Location - Java OpenFlow Controller Benchmarking Tool
Michal Polkorab
Hello Marcus,
yes, this sounds reasonable. But I would prefer placing the tool into openflowplugin repository as: 1. there are more committers - so the development (and reviews) will be more swift, 2. openflowplugin already hosts a few applications in their repository.
By the way, are there more commits except for [1][2] ? Because I can see no dependency on openflowjava in pom.xml.
Regards, Michal
From: Williams, Marcus <marcus.williams@...>
Sent: 27 October 2015 18:36 To: openflowjava-dev@... Cc: integration-dev@...; Jamo Luhrsen Subject: [integration-dev] Repo Location - Java OpenFlow Controller Benchmarking Tool Openflowjava Devs,
Raksha has been working on a Java OpenFlow Controller Benchmarking Tool [1][2] (I’m sure many of you have seen her emails come across the wire).
The patches have been pushed to Integration/Test, mainly because that is where the tool will be utilized. It has since been noted that Integration/Test does not have infrastructure (java focused Jenkins jobs to verify/build etc.) to handle Java based patches and except for myself there are few to do reviews on Java code.
Discussion has focused on the possibility of moving the tool into the openflowjava repo, as the tool uses openflowjava as a dependency and it could be thought of as a more ‘advanced’ client using openflowjava lib.
Does this sound reasonable?
[1] https://git.opendaylight.org/gerrit/#/c/27312/ [2] https://git.opendaylight.org/gerrit/#/c/28308/
Thanks, /** Marcus */
Marcus Williams SDN Controller Team Software Defined Networking Division Network Platforms Group Intel Corporation (503) 712-6788
MichalPolkoráb Software Engineer
|
|
Repo Location - Java OpenFlow Controller Benchmarking Tool
Marcus G K Williams
Openflowjava Devs,
Raksha has been working on a Java OpenFlow Controller Benchmarking Tool [1][2] (I’m sure many of you have seen her emails come across the wire).
The patches have been pushed to Integration/Test, mainly because that is where the tool will be utilized. It has since been noted that Integration/Test does not have infrastructure (java focused Jenkins jobs to verify/build etc.) to handle Java based patches and except for myself there are few to do reviews on Java code.
Discussion has focused on the possibility of moving the tool into the openflowjava repo, as the tool uses openflowjava as a dependency and it could be thought of as a more ‘advanced’ client using openflowjava lib.
Does this sound reasonable?
[1] https://git.opendaylight.org/gerrit/#/c/27312/ [2] https://git.opendaylight.org/gerrit/#/c/28308/
Thanks, /** Marcus */
Marcus Williams SDN Controller Team Software Defined Networking Division Network Platforms Group Intel Corporation (503) 712-6788
|
|
Re: [openflowplugin-dev] Switch didn't register to controller in opendaylight controller (Lithium) and Openvswitch 2.4.0?
omar.m.dyson@gmail.com
I think the issue is with the switch that send wrong queue stats message. I will debug that. On 26 October 2015 at 13:13, omar dyson <omar.m.dyson@...> wrote:
|
|
Re: [openflowplugin-dev] Switch didn't register to controller in opendaylight controller (Lithium) and Openvswitch 2.4.0?
omar.m.dyson@gmail.com
I disabled the statistics manager using a hack that was suggested in a previous message and I could see the switch in the inventory : --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsManagerImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsManagerImpl.java @@ -89,6 +89,12 @@ public class StatisticsManagerImpl implements StatisticsManager, StatisticsManag return; } + if ( true ) { + LOG.info("skipping stats"); + deviceInitPhaseHandler.onDeviceContextLevelUp(deviceContext); + return; + } + if (null == hashedWheelTimer) { LOG.trace("This is first device that delivered timer. Starting statistics polling immediately."); hashedWheelTimer = deviceContext.getTimer(); The problem seems to be related to statistics gathering. Any suggestion into how to debug this? Here is a packet capture of the communication between the switch and ODL : https://www.cloudshark.org/captures/375fd8b209d8 Regards, Dyson On 26 October 2015 at 11:31, omar dyson <omar.m.dyson@...> wrote:
|
|
Re: [openflowplugin-dev] Switch didn't register to controller in opendaylight controller (Lithium) and Openvswitch 2.4.0?
omar.m.dyson@gmail.com
Hi Michal, Thanks for your answer, I have a new version of the switch that fixes second issue (number of ports mismatch). But openflowplugin Li still don't add the switch to the inventory. Here is the exception : 2015-10-26 11:19:16,832 | INFO | entLoopGroup-6-1 | ConnectionAdapterImpl | 196 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.6.2.Lithium-SR2 | Hello received / branch 2015-10-26 11:19:16,851 | INFO | entLoopGroup-6-1 | eTransactionChainManagerProvider | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | Creating new transaction chain for device Uri [_value=openflow:3] 2015-10-26 11:19:16,933 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | IP address of switch is :/192.168.1.10:53606 2015-10-26 11:19:17,185 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | Static node Uri [_value=openflow:3] info: OFPMPMETERFEATURES collected 2015-10-26 11:19:17,209 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | Static node Uri [_value=openflow:3] info: OFPMPGROUPFEATURES collected 2015-10-26 11:19:17,294 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | Static node Uri [_value=openflow:3] info: OFPMPPORTDESC collected 2015-10-26 11:19:17,399 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | Static node Uri [_value=openflow:3] info: OFPMPTABLEFEATURES collected 2015-10-26 11:19:18,057 | INFO | entLoopGroup-6-1 | RoleContextImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | RoleContextImpl : Candidate registered with ownership service for device :openflow:3 2015-10-26 11:19:18,067 | INFO | lt-dispatcher-27 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | SetRole called with input:SetRoleInput [_controllerRole=BECOMEMASTER, _node=NodeRef [_value=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:3]]]]}], augmentation=[]] 2015-10-26 11:19:18,068 | INFO | lt-dispatcher-27 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | RoleChangeTask submitted for execution 2015-10-26 11:19:18,068 | INFO | pool-42-thread-1 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | RoleChangeTask called on device:openflow:3 OFPRole:BECOMEMASTER 2015-10-26 11:19:18,070 | INFO | pool-42-thread-1 | RoleService | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | getGenerationIdFromDevice called for device:openflow:3 2015-10-26 11:19:18,077 | INFO | pool-42-thread-1 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | RoleChangeTask, GenerationIdFromDevice from device is 0 2015-10-26 11:19:18,077 | INFO | pool-42-thread-1 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | GenerationId received from device:openflow:3 is 0 2015-10-26 11:19:18,077 | INFO | pool-42-thread-1 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | nextGenerationId received from device:openflow:3 is 1 2015-10-26 11:19:18,077 | INFO | pool-42-thread-1 | RoleService | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | submitRoleChange called for device:Uri [_value=openflow:3], role:BECOMEMASTER 2015-10-26 11:19:18,078 | INFO | entLoopGroup-6-1 | RoleService | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | submitRoleChange onSuccess for device:Uri [_value=openflow:3], role:BECOMEMASTER 2015-10-26 11:19:18,080 | INFO | pool-42-thread-1 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | setRoleOutput after submitRoleChange:SetRoleOutput [_transactionId=TransactionId [_value=7], augmentation=[]] 2015-10-26 11:19:18,080 | INFO | lt-dispatcher-27 | SalRoleServiceImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | setRoleOutput received after roleChangeTask execution:SetRoleOutput [_transactionId=TransactionId [_value=7], augmentation=[]] 2015-10-26 11:19:18,081 | INFO | lt-dispatcher-27 | StatisticsManagerImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | Starting Statistics for master role for node:Uri [_value=openflow:3] 2015-10-26 11:19:18,350 | INFO | entLoopGroup-6-1 | RpcManagerImpl | 200 - org.opendaylight.openflowplugin.impl - 0.1.2.Lithium-SR2 | Registering Openflow RPCs for node:Uri [_value=openflow:3], role:BECOMEMASTER 2015-10-26 11:19:18,374 | ERROR | lt-dispatcher-27 | Shard | 176 - org.opendaylight.controller.sal-akka-raft - 1.2.2.Lithium-SR2 | member-1-shard-inventory-operational An exception occurred while preCommitting transaction member-1-chn-3-txn-1 java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}]}]}]}] at com.google.common.util.concurrent.Futures$ImmediateFailedFuture.get(Futures.java:190)[64:com.google.guava:18.0.0] at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$CohortEntry.preCommit(ShardCommitCoordinator.java:614)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCommit(ShardCommitCoordinator.java:367)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:329)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:284)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:256)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:476)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:231)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[173:com.typesafe.akka.persistence.experimental:2.3.10] at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[175:org.opendaylight.controller.sal-clustering-commons:1.2.2.Lithium-SR2] at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)[168:com.typesafe.akka.actor:2.3.10] at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[173:com.typesafe.akka.persistence.experimental:2.3.10] at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[168:com.typesafe.akka.actor:2.3.10] at akka.actor.ActorCell.invoke(ActorCell.scala:487)[168:com.typesafe.akka.actor:2.3.10] at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)[168:com.typesafe.akka.actor:2.3.10] at akka.dispatch.Mailbox.run(Mailbox.scala:221)[168:com.typesafe.akka.actor:2.3.10] at akka.dispatch.Mailbox.exec(Mailbox.scala:231)[168:com.typesafe.akka.actor:2.3.10] at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b] at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b] at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b] at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b] Caused by: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}]}]}]}] at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[64:com.google.guava:18.0.0] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:196)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:117)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:152)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:136)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:117)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:91)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:214)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:117)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:152)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:136)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:117)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:152)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:117)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:152)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.apply(RootModificationApplyOperation.java:78)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:54)[89:org.opendaylight.yangtools.yang-data-impl:0.7.2.Lithium-SR2] at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:72)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2] ... 28 more 2015-10-26 11:19:18,378 | WARN | ult-dispatcher-3 | ConcurrentDOMDataBroker | 183 - org.opendaylight.controller.sal-distributed-datastore - 1.2.2.Lithium-SR2 | Tx: DOM-CHAIN-1-0 Error during phase CAN_COMMIT, starting Abort java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}, modificationType=WRITE, childModification={}]}]}]}]}] Here is the new packet capture : https://www.cloudshark.org/captures/375fd8b209d8 Regards, Dyson On 21 October 2015 at 03:40, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote:
|
|
Re: [integration-dev] Parsing open-flow packet and decoding the type of the message
Madhava Bangera, Raksha <raksha.madhava.bangera@...>
Hi Michal,
I checked Openflow java’s Simple-Client sample program but I could not find the API that decodes the received message from socket to respective openflow messages.
Let me know if I’m missing something here.
Thanks & Regards, Raksha
From: integration-dev-bounces@... [mailto:integration-dev-bounces@...]
On Behalf Of Madhava Bangera, Raksha
Hi Michal,
Yes, I want to use openflowjava to parse/decode the openflow messages. The code referred in my previous mail is the understanding so far of how that could be done. Am I going in the right direction here? If so, what is the best way to convert the byte array of openflow message received from Java sockets to OfHeader type?
Thanks & Regards, Raksha
From: Michal Polkoráb [mailto:michal.polkorab@...]
Hello Raksha,
what code do you refer to ? Do you want to use openflowjava for parsing / decoding openflow messages ?
Regards, Michal From: Madhava Bangera, Raksha <raksha.madhava.bangera@...>
Hi,
I would like to parse/decode the openflow packets received from Java sockets. The received openflow packets are in byte[] format and as far as I could understand, it should be converted to OfHeader.
OfHeader ofheader = (OfHeader) msg if ( ofheader instanceof FlowRemovedMessage ) { LOG.info("FlowRemoved received\n"); } else if ( ofheader instanceof HelloMessage) { LOG.info("Hello reply received\n"); } else if ( ofheader instanceof ErrorMessage) { LOG.info("Error message received\n"); } }
1. Is the above approach right to decode Openflow packets? 2. What is the best way to convert byte[] received from Java sockets to OfHeader?
Thanks & Regards, Raksha MichalPolkoráb Software Developer
|
|
Flows for matching mininet
John Schistos <jschistos@...>
I have a linear topology connected to my odl controller.
What is the flow that will match the ping from h1 to h2?I dont want the ping to be successful yet, I just want a flow for s1 to match the ping from h1. (h1 address=10.0.0.1 / h2 address=10.0.0.2) Thank you in advance. |
|
Re: Parsing open-flow packet and decoding the type of the message
Madhava Bangera, Raksha <raksha.madhava.bangera@...>
Hi Michal,
Yes, I want to use openflowjava to parse/decode the openflow messages. The code referred in my previous mail is the understanding so far of how that could be done. Am I going in the right direction here? If so, what is the best way to convert the byte array of openflow message received from Java sockets to OfHeader type?
Thanks & Regards, Raksha
From: Michal Polkoráb [mailto:michal.polkorab@...]
Hello Raksha,
what code do you refer to ? Do you want to use openflowjava for parsing / decoding openflow messages ?
Regards, Michal From: Madhava Bangera, Raksha <raksha.madhava.bangera@...>
Hi,
I would like to parse/decode the openflow packets received from Java sockets. The received openflow packets are in byte[] format and as far as I could understand, it should be converted to OfHeader.
OfHeader ofheader = (OfHeader) msg if ( ofheader instanceof FlowRemovedMessage ) { LOG.info("FlowRemoved received\n"); } else if ( ofheader instanceof HelloMessage) { LOG.info("Hello reply received\n"); } else if ( ofheader instanceof ErrorMessage) { LOG.info("Error message received\n"); } }
1. Is the above approach right to decode Openflow packets? 2. What is the best way to convert byte[] received from Java sockets to OfHeader?
Thanks & Regards, Raksha MichalPolkoráb Software Developer
|
|
Re: [openflowplugin-dev] Switch didn't register to controller in opendaylight controller (Lithium) and Openvswitch 2.4.0?
Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES@Cisco) <mirehak@...>
Hi Ben, I saw at the capture file and it looks like: - flow statistics replies from device are weird (empty body but many consequent multiparts) - this is probably harmless - in port description device claims to have 48 ports but in port stats there are 49 (+CONTROLLER) - this is causing the write exception
Regards, Michal
From: omar dyson <omar.m.dyson@...>
Sent: Tuesday, October 20, 2015 22:55 To: Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) Cc: Luis Gomez; openflowjava-dev; 鐘晧文; openflowplugin-dev@... Subject: Re: [openflowplugin-dev] [openflowjava-dev] Switch didn't register to controller in opendaylight controller (Lithium) and Openvswitch 2.4.0? Hi All,
I have the same problem with the new openflowplugin API. In my case I'm using a real switch that support table_feature.
Here is a packet capture of the communication between the switch and the controller :
https://www.cloudshark.org/captures/ff89b9081d04
27.0.0.1:2551] to [Up]
2015-10-20 16:16:14,532 | INFO | config-pusher | LLDPSpeaker | 202 - org.opendaylight.openflowplugin.applications.lldp-speaker - 0.1.1.Lithium-SR1 | LLDPSpeaker started, it will send LLDP frames each 5 seconds
2015-10-20 16:16:14,692 | INFO | config-pusher | AuthNStore | 250 - org.opendaylight.aaa.authn-mdsal-store-impl - 0.2.1.Lithium-SR1 | Created MD-SAL AAA Token Cache Service...
2015-10-20 16:16:14,813 | INFO | er [_value=8185] | WebSocketServer | 265 - org.opendaylight.controller.sal-rest-connector - 1.2.1.Lithium-SR1 | Web socket server started at port 8185.
2015-10-20 16:16:14,817 | INFO | entLoopGroup-6-1 | ConnectionAdapterImpl | 195 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.6.1.Lithium-SR1 | Hello received / branch
2015-10-20 16:16:14,838 | INFO | entLoopGroup-6-1 | eTransactionChainManagerProvider | 198 - org.opendaylight.openflowplugin.impl - 0.1.1.Lithium-SR1 | Creating new transaction chain for device Uri [_value=openflow:3]
2015-10-20 16:16:15,207 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 198 - org.opendaylight.openflowplugin.impl - 0.1.1.Lithium-SR1 | Static node Uri [_value=openflow:3] info: OFPMPMETERFEATURES collected
2015-10-20 16:16:15,231 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 198 - org.opendaylight.openflowplugin.impl - 0.1.1.Lithium-SR1 | Static node Uri [_value=openflow:3] info: OFPMPGROUPFEATURES collected
2015-10-20 16:16:15,306 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 198 - org.opendaylight.openflowplugin.impl - 0.1.1.Lithium-SR1 | Static node Uri [_value=openflow:3] info: OFPMPPORTDESC collected
2015-10-20 16:16:15,405 | INFO | entLoopGroup-6-1 | DeviceManagerImpl | 198 - org.opendaylight.openflowplugin.impl - 0.1.1.Lithium-SR1 | Static node Uri [_value=openflow:3] info: OFPMPTABLEFEATURES collected
2015-10-20 16:16:16,333 | ERROR | lt-dispatcher-15 | Shard | 175 - org.opendaylight.controller.sal-akka-raft - 1.2.1.Lithium-SR1 | member-1-shard-inventory-operational An exception occurred while preCommitting transaction member-1-chn-3-txn-1
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]},
modificationType=TOUCH, childModification={(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics=NodeModification [identifier=(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics,
modificationType=WRITE, childModification={}]}], AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number,
(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported,
(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue,
modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}]}]}]}]
at com.google.common.util.concurrent.Futures$ImmediateFailedFuture.get(Futures.java:190)[64:com.google.guava:18.0.0]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$CohortEntry.preCommit(ShardCommitCoordinator.java:614)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCommit(ShardCommitCoordinator.java:367)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:329)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:284)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:256)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:467)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:236)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[174:org.opendaylight.controller.sal-clustering-commons:1.2.1.Lithium-SR1]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)[167:com.typesafe.akka.actor:2.3.10]
at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[167:com.typesafe.akka.actor:2.3.10]
at akka.actor.ActorCell.invoke(ActorCell.scala:487)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.run(Mailbox.scala:221)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.exec(Mailbox.scala:231)[167:com.typesafe.akka.actor:2.3.10]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
Caused by: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]},
modificationType=TOUCH, childModification={(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics=NodeModification [identifier=(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics,
modificationType=WRITE, childModification={}]}], AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number,
(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported,
(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue,
modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}]}]}]}]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[64:com.google.guava:18.0.0]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:196)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:93)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:214)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.apply(RootModificationApplyOperation.java:78)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:54)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:72)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
... 28 more
2015-10-20 16:16:16,335 | ERROR | lt-dispatcher-22 | LocalThreePhaseCommitCohort | 182 - org.opendaylight.controller.sal-distributed-datastore - 1.2.1.Lithium-SR1 | Failed to prepare transaction member-1-chn-3-txn-1 on backend
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]},
modificationType=TOUCH, childModification={(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics=NodeModification [identifier=(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics,
modificationType=WRITE, childModification={}]}], AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number,
(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported,
(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue,
modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}]}]}]}]
at com.google.common.util.concurrent.Futures$ImmediateFailedFuture.get(Futures.java:190)[64:com.google.guava:18.0.0]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$CohortEntry.preCommit(ShardCommitCoordinator.java:614)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCommit(ShardCommitCoordinator.java:367)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:329)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:284)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:256)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:467)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:236)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[174:org.opendaylight.controller.sal-clustering-commons:1.2.1.Lithium-SR1]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)[167:com.typesafe.akka.actor:2.3.10]
at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[167:com.typesafe.akka.actor:2.3.10]
at akka.actor.ActorCell.invoke(ActorCell.scala:487)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.run(Mailbox.scala:221)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.exec(Mailbox.scala:231)[167:com.typesafe.akka.actor:2.3.10]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
Caused by: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]},
modificationType=TOUCH, childModification={(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics=NodeModification [identifier=(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics,
modificationType=WRITE, childModification={}]}], AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number,
(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported,
(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue,
modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}]}]}]}]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[64:com.google.guava:18.0.0]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:196)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:93)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:214)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.apply(RootModificationApplyOperation.java:78)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:54)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:72)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
... 28 more
2015-10-20 16:16:16,340 | WARN | entLoopGroup-6-1 | ConcurrentDOMDataBroker | 182 - org.opendaylight.controller.sal-distributed-datastore - 1.2.1.Lithium-SR1 | Tx: DOM-CHAIN-1-0 Error during phase CAN_COMMIT, starting Abort
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]},
modificationType=TOUCH, childModification={(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics=NodeModification [identifier=(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics,
modificationType=WRITE, childModification={}]}], AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number,
(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported,
(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue,
modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}]}]}]}]
at com.google.common.util.concurrent.Futures$ImmediateFailedFuture.get(Futures.java:190)[64:com.google.guava:18.0.0]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator$CohortEntry.preCommit(ShardCommitCoordinator.java:614)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCommit(ShardCommitCoordinator.java:367)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:329)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleCanCommit(ShardCommitCoordinator.java:284)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.handleReadyLocalTransaction(ShardCommitCoordinator.java:256)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.Shard.handleReadyLocalTransaction(Shard.java:467)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.Shard.onReceiveCommand(Shard.java:236)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
at akka.persistence.UntypedPersistentActor.onReceive(Eventsourced.scala:430)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:97)[174:org.opendaylight.controller.sal-clustering-commons:1.2.1.Lithium-SR1]
at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:534)[167:com.typesafe.akka.actor:2.3.10]
at akka.persistence.Recovery$State$class.process(Recovery.scala:30)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.ProcessorImpl$$anon$2.process(Processor.scala:103)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.ProcessorImpl$$anon$2.aroundReceive(Processor.scala:114)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Recovery$class.aroundReceive(Recovery.scala:265)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(Eventsourced.scala:428)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$$anon$2.doAroundReceive(Eventsourced.scala:82)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$$anon$2.aroundReceive(Eventsourced.scala:78)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.Eventsourced$class.aroundReceive(Eventsourced.scala:369)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.persistence.UntypedPersistentActor.aroundReceive(Eventsourced.scala:428)[172:com.typesafe.akka.persistence.experimental:2.3.10]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[167:com.typesafe.akka.actor:2.3.10]
at akka.actor.ActorCell.invoke(ActorCell.scala:487)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.run(Mailbox.scala:221)[167:com.typesafe.akka.actor:2.3.10]
at akka.dispatch.Mailbox.exec(Mailbox.scala:231)[167:com.typesafe.akka.actor:2.3.10]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[164:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
Caused by: java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:inventory?revision=2013-08-19)node-connector[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:3:CONTROLLER}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics]},
modificationType=TOUCH, childModification={(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics=NodeModification [identifier=(urn:opendaylight:port:statistics?revision=2013-12-14)flow-capable-node-connector-statistics,
modificationType=WRITE, childModification={}]}], AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported, (urn:opendaylight:flow:inventory?revision=2013-08-19)port-number,
(urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)maximum-speed, (urn:opendaylight:flow:inventory?revision=2013-08-19)advertised-features,
(urn:opendaylight:flow:inventory?revision=2013-08-19)peer-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware-address, (urn:opendaylight:flow:inventory?revision=2013-08-19)state, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported,
(urn:opendaylight:flow:inventory?revision=2013-08-19)port-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)queue, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-feature, (urn:opendaylight:flow:inventory?revision=2013-08-19)name, (urn:opendaylight:flow:inventory?revision=2013-08-19)current-speed,
(urn:opendaylight:flow:inventory?revision=2013-08-19)configuration]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue,
modificationType=TOUCH, childModification={(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=0}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=2}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=1}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=4}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=3}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=6}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=5}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}], (urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}]=NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)queue[{(urn:opendaylight:flow:inventory?revision=2013-08-19)queue-id=7}],
modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:queue:statistics?revision=2013-12-16)flow-capable-node-connector-queue-statistics]},
modificationType=WRITE, childModification={}]}]}]}]}]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)[64:com.google.guava:18.0.0]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:196)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:93)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:214)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:133)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:205)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:114)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:156)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.apply(RootModificationApplyOperation.java:78)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:54)[88:org.opendaylight.yangtools.yang-data-impl:0.7.1.Lithium-SR1]
at org.opendaylight.controller.cluster.datastore.SimpleShardDataTreeCohort.preCommit(SimpleShardDataTreeCohort.java:72)[182:org.opendaylight.controller.sal-distributed-datastore:1.2.1.Lithium-SR1]
... 28 more
I'm I missing something?
Regards,
Dyson
On Thu, Oct 15, 2015 at 3:11 AM, Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) <mirehak@...> wrote: > Hi Luis, > > I guess you filed the first one > > https://bugs.opendaylight.org/show_bug.cgi?id=4473 > > > I will add some comments there. > > > > Regards, > > Michal > > > > ________________________________ > From: Luis Gomez <ecelgp@...> > Sent: Wednesday, October 14, 2015 22:31 > To: Michal Rehak -X (mirehak - PANTHEON TECHNOLOGIES at Cisco) > Cc: 鐘晧文; openflowplugin-dev@...; openflowjava-dev > Subject: Re: [openflowjava-dev] [openflowplugin-dev] Switch didn't register > to controller in opendaylight controller (Lithium) and Openvswitch 2.4.0? > > How are we doing with this? did anybody open a bug to track this? if not I > will do as I think it is important to support latest OVS in ODL. > > BR/Luis > > > On Sep 25, 2015, at 6:29 AM, Michal Rehak -X (mirehak - PANTHEON > TECHNOLOGIES at Cisco) <mirehak@...> wrote: > > Hi Ben, > this is caused by table-features. Please file a bug to openflowjava. > You might workaround this issue by downgrading to 2.3.x version of > openvswitch (there are table-features not supported). > > And just to defend ofjava a bit - by cpqd switch there are table-features > supported and it works. Ovs-2.4 is the first version of ovs with > table-features and message content is probably more complicated. > > > Regards, > Michal > > ________________________________ > From: openflowplugin-dev-bounces@... > [openflowplugin-dev-bounces@...] on behalf of 鐘晧文 > [hnaxiorll@...] > Sent: Friday, September 25, 2015 02:11 > To: openflowplugin-dev@... > Subject: [openflowplugin-dev] Switch didn't register to controller in > opendaylight controller (Lithium) and Openvswitch 2.4.0? > > Hi all, > > I use the openvswitch 2.4.0 and opendaylight controller (Lithium). > > Then, I install these feature odl-dlux-all, odl-restconf-all, > odl-mdsal-apidocs, and odl-openflowplugin-all-li in ODL. > > Next, I create a bridge and set controller but I can't see any switch node > in web. > > The OVS shows that `Controller "tcp:192.168.5.131:6633" is_connected: true` > (ovs-vsctl show). > > The log of ODL shows a lot of warn and some error: > > 2015-09-24 18:17:02,718 | INFO | entLoopGroup-8-4 | DeviceManagerImpl > | 279 - org.opendaylight.openflowplugin.impl - 0.1.0.Lithium | Static node > Uri [_value=openflow:134303595078473] info: OFPMPGROUPFEATURES collected > 2015-09-24 18:17:02,719 | TRACE | entLoopGroup-8-4 | > OpenflowProtocolListenerFullImpl | 279 - > org.opendaylight.openflowplugin.impl - 0.1.0.Lithium | Multipart Reply with > XID: 2 > 2015-09-24 18:17:02,732 | WARN | entLoopGroup-8-4 | OFDecoder > | 276 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.6.0.Lithium > | Message deserialization failed > java.lang.IllegalStateException: Deserializer for key: msgVersion: 4 > objectClass: > org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry > msgType: 1 oxm_field: 31 experimenterID: null was not found - please verify > that all needed deserializers ale loaded correctly > at > org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl.getDeserializer(DeserializerRegistryImpl.java:64)[276:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.Lithium] > at > org.opendaylight.openflowjava.protocol.impl.util.ListDeserializer.deserializeHeaders(ListDeserializer.java:71)[276:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.Lithium] > at > org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.createTableFeaturesProperties(MultipartReplyMessageFactory.java:426)[276:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.Lithium] > at > org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.setTableFeatures(MultipartReplyMessageFactory.java:361)[276:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.Lithium] > at > org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.deserialize(MultipartReplyMessageFactory.java:216)[276:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.Lithium] > at > org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.deserialize(MultipartReplyMessageFactory.java:146)[276:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.Lithium] > at > org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory.deserialize(DeserializationFactory.java:53)[276:org.opendaylight.openflowjava.openflow-pr > ... > 2015-09-24 18:17:03,251 | DEBUG | entLoopGroup-8-4 | RpcContextImpl > | 279 - org.opendaylight.openflowplugin.impl - 0.1.0.Lithium | Registration > of service interface > org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.OpendaylightFlowStatisticsService > for device 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:134303595078473]]]]}. > 2015-09-24 18:17:03,252 | TRACE | entLoopGroup-8-4 | > OpenflowProtocolListenerFullImpl | 279 - > org.opendaylight.openflowplugin.impl - 0.1.0.Lithium | Multipart Reply with > XID: 11 > 2015-09-24 18:17:03,253 | ERROR | lt-dispatcher-14 | Shard > | 208 - org.opendaylight.controller.sal-akka-raft - 1.2.0.Lithium | > member-1-shard-inventory-operational An exception occurred while > preCommitting transaction member-1-chn-15-txn-1 > java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: > Metadata not available for modification NodeModification > [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=140}], > modificationType=TOUCH, > childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}=NodeModification > [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}, > modificationType=TOUCH, > childModification={(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics=NodeModification > [identifier=(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics, > modificationType=WRITE, childModification={}]}]}] > at > com.google.common.util.concurrent.Futures$ImmediateFailedFuture.get(Futures.java:190)[97:com.google.guava:18.0.0] > at > org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCommit(ShardCommitCoordinator.java:357)[215:org.opendaylight.controller.sal-distributed-datastore:1.2.0.Lithium] > at > org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.doCanCommit(ShardCommitCoordinator.java:316)[215:org.opend > ... > 2015-09-24 18:17:06,282 | WARN | lt-dispatcher-16 | > SimpleShardDataTreeCohort | 215 - > org.opendaylight.controller.sal-distributed-datastore - 1.2.0.Lithium | > Store Tx member-1-chn-17-txn-1: Data validation failed for path > /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:134303595078473}]. > org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException: > Node > /(urn:opendaylight:inventory?revision=2013-08-19)nodes/node/node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:134303595078473}] > does not exist. Cannot apply modification to its children. > at > org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:182)[121:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium] > at > org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[121:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium] > at > org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkChildPreconditions(AbstractNodeContainerModificationStrategy.java:205)[121:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium] > at > org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.checkTouchApplicable(AbstractNodeContainerModificationStrategy.java:189)[121:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium] > at > org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:125)[121:org.opendaylight.yangtools.yang-data-impl:0.7.0.Lithium] > > Does anyone know what problem? > > Thanks, > > Ben. > > _______________________________________________ > openflowjava-dev mailing list > openflowjava-dev@... > https://lists.opendaylight.org/mailman/listinfo/openflowjava-dev > > > > _______________________________________________ > openflowjava-dev mailing list > openflowjava-dev@... > https://lists.opendaylight.org/mailman/listinfo/openflowjava-dev > |
|
Re: Parsing open-flow packet and decoding the type of the message
Michal Polkorab
Hello Raksha,
what code do you refer to ? Do you want to use openflowjava for parsing / decoding openflow messages ?
Regards, Michal From: Madhava Bangera, Raksha <raksha.madhava.bangera@...>
Sent: 21 October 2015 06:59 To: 'openflowjava-dev@...' Cc: 'integration-dev@...' Subject: [openflowjava-dev] Parsing open-flow packet and decoding the type of the message Hi,
I would like to parse/decode the openflow packets received from Java sockets. The received openflow packets are in byte[] format and as far as I could understand, it should be converted to OfHeader.
OfHeader ofheader = (OfHeader) msg if ( ofheader instanceof FlowRemovedMessage ) { LOG.info("FlowRemoved received\n"); } else if ( ofheader instanceof HelloMessage) { LOG.info("Hello reply received\n"); } else if ( ofheader instanceof ErrorMessage) { LOG.info("Error message received\n"); } }
1. Is the above approach right to decode Openflow packets? 2. What is the best way to convert byte[] received from Java sockets to OfHeader?
Thanks & Regards, Raksha MichalPolkoráb Software Developer
|
|