-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
Dear Odenos community,
We observed an issue with Federated network during internal testing. We tried to test the following scenario:
- Our logic application already installed BasicFlow with specified path attribute on the Federated network. Established flow status was already received from both domain drivers.
- We simulated some network fault. Domain controller recalculates the path by itself and notify own driver. Driver recognized new path, requested BasicFlow from NetworkInterface, changed BasicFlow path attribute and push it into Odenos.
- We did not receive onFlowUpdate in our logic component after all actions.
Please find BasicFlow push steps in the driver logs file:
2015-11-17 09:44:14:812 INFO OdenosAdapterDriver:380 - [OUT] Push flow to Odenos: flow org.o3project.odenos.core.component.network.flow.basic.BasicFlow@36c4618a[version=1,flowId=1_1,owner=test_23,enabled=true,priority=0,status=established,matches=[org.o3project.odenos.core.component.network.flow.basic.BasicFlowMatch@16dfc71d[inNode=Node1,inPort=1_0_0_0_0_1]],path=[LINK1_0_0_0_0_2_2_0_0_0_0_2, LINK2_0_0_0_0_4_4_0_0_0_0_2],edgeActions={Node4=[org.o3project.odenos.core.component.network.flow.basic.FlowActionOutput@3d894ca6[output=4_0_0_0_0_5]]},attributes={}]
2015-11-17 09:44:14:824 DEBUG OdenosAdapterDriver:382 - pushFlow() -> Received: 200
2015-11-17 09:44:54:826 INFO OdenosAdapterDriver:380 - [OUT] Push flow to Odenos: flow org.o3project.odenos.core.component.network.flow.basic.BasicFlow@36c4618a[version=2,flowId=1_1,owner=test_23,enabled=true,priority=0,status=established,matches=[org.o3project.odenos.core.component.network.flow.basic.BasicFlowMatch@16dfc71d[inNode=Node1,inPort=1_0_0_0_0_1]],path=[LINK1_0_0_0_0_4_2_0_0_0_0_5, LINK2_0_0_0_0_4_4_0_0_0_0_2],edgeActions={Node4=[org.o3project.odenos.core.component.network.flow.basic.FlowActionOutput@3d894ca6[output=4_0_0_0_0_5]]},attributes={}]
2015-11-17 09:44:54:827 DEBUG OdenosAdapterDriver:382 - pushFlow() -> Received: 200
2015-11-17 09:44:54:828 INFO OdenosAdapterDriver:203 - [IN] On flow updated: network original-nw1, flow org.o3project.odenos.core.component.network.flow.basic.BasicFlow@7b0aa31f[version=2,flowId=1_1,owner=test_23,enabled=true,priority=0,status=established,matches=[org.o3project.odenos.core.component.network.flow.basic.BasicFlowMatch@775b8754[inNode=Node1,inPort=1_0_0_0_0_1]],path=[LINK1_0_0_0_0_2_2_0_0_0_0_2, LINK2_0_0_0_0_4_4_0_0_0_0_2],edgeActions={Node4=[org.o3project.odenos.core.component.network.flow.basic.FlowActionOutput@1a11d904[output=4_0_0_0_0_5]]},attributes={}]
2015-11-17 09:44:54:829 INFO OdenosAdapterDriver:203 - [IN] On flow updated: network original-nw1, flow org.o3project.odenos.core.component.network.flow.basic.BasicFlow@42be11bc[version=3,flowId=1_1,owner=test_23,enabled=true,priority=0,status=established,matches=[org.o3project.odenos.core.component.network.flow.basic.BasicFlowMatch@4c7e6fdf[inNode=Node1,inPort=1_0_0_0_0_1]],path=[LINK1_0_0_0_0_4_2_0_0_0_0_5, LINK2_0_0_0_0_4_4_0_0_0_0_2],edgeActions={Node4=[org.o3project.odenos.core.component.network.flow.basic.FlowActionOutput@e2c0b5[output=4_0_0_0_0_5]]},attributes={}]We checked both original and Federated networks and observed that BasicFlow path attribute was changed in the original network, but nor in Federated.
Please find these REST GET responses that illustrate described Odenos state:
http://localhost:10080/federated-nw/flows
{
"priority": {
"0": [
"1"
]
},
"type": "FlowSet",
"flows": {
"1": {
"enabled": true,
"matches": [
{
"in_port": "original-nw1_Node1_1_0_0_0_0_1",
"in_node": "original-nw1_Node1",
"type": "BasicFlowMatch"
}
],
"flow_id": "1",
"status": "established",
"edge_actions": {
"original-nw0_S0001-1": [
{
"output": "original-nw0_S0001-1_S0001-1_0_4_9_0_1",
"type": "FlowActionOutput"
}
]
},
"priority": "0",
"path": [
"original-nw1_LINK1_0_0_0_0_2_2_0_0_0_0_2",
"original-nw1_LINK2_0_0_0_0_4_4_0_0_0_0_2",
"federator_boundary4_link01",
"original-nw2_LINKof:000000000000000c_0_0_0_0_1_of:0000000000000001_0_0_0_0_3",
"original-nw2_LINKof:0000000000000001_0_0_0_0_4_of:000000000000000d_0_0_0_0_1",
"federator_boundary1_link02",
"original-nw0_3_1005002_1_1001001_719285823882225"
],
"owner": "test_23",
"attributes": {},
"type": "BasicFlow",
"version": "2"
}
},
"version": "2"
}
http://localhost:10080/original-nw1/flows
{
"priority": {
"0": [
"1_1"
]
},
"type": "FlowSet",
"flows": {
"1_1": {
"enabled": true,
"matches": [
{
"in_port": "1_0_0_0_0_1",
"in_node": "Node1",
"type": "BasicFlowMatch"
}
],
"flow_id": "1_1",
"status": "established",
"edge_actions": {
"Node4": [
{
"output": "4_0_0_0_0_5",
"type": "FlowActionOutput"
}
]
},
"priority": "0",
"path": [
"LINK1_0_0_0_0_4_2_0_0_0_0_5",
"LINK2_0_0_0_0_4_4_0_0_0_0_2"
],
"owner": "test_23",
"attributes": {},
"type": "BasicFlow",
"version": "3"
}
},
"version": "3"
}Could you please elaborate - is described scenario valid or not?
Is it possible to trigger path attribute change from driver level?
Thanks,
Pavel.
Metadata
Metadata
Assignees
Labels
No labels