[VTN-144] Failure in VTN Flowfilter CSIT to install flow with actions vtn-set-inet-src and vtn-set-inet-dst Created: 06/Sep/16  Updated: 19/Oct/17

Status: Open
Project: vtn
Component/s: VTN Manager
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Karthik Sivasamy Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Zip Archive FailureCSIT.zip     Zip Archive SuccessCSIT.zip    
External issue ID: 6643

 Description   

VTN Flowfilter CSIT which failed to install flows with actions vtn-set-inet-src and vtn-set-inet-dst in Boron.
Failure is not consistent. And issue occurs in OF13.

Followed below steps in creating VTN Flowfilter test case
1) Create VTN
2) Create VBR1
3) Create VBR1-IF1 and VBR1-IF2
4) Configure portmap s2-eth1 (host h1) for VBR1-IF1
5) Configure portmap s3-eth1 (host h3) for VBR1-IF2
6) ping h1 and h3
7) Create VBR2
8) Create VBR2-IF3 and VBR2-IF4
9) Configure portmap s2-eth2 (host h2) for VBR2-IF3
10 Configure portmap s3-eth2 (host h4) for VBR2-IF4
11 ping h2 and h4
12 Create flowcondition with vtn-flow-math [inet4-src 10.0.0.1/32 and inet4-dst 10.0.0.3/32]
13) Create VTN Flowfilter with vtn-set-inet-src (192.0.0.1/32) and vtn-set-inet-dst (192.0.0.3/32)
14) Verify Mininet ping should not succeed Between h1 and h3.
15) Verify flowentry installed with vtn-set-inet-src (192.0.0.1) and vtn-set-inet-dst (192.0.0.3) -> Here test case fails to detect inet-src and inet-dst in flow entry installed.

https://logs.opendaylight.org/releng/jenkins092/vtn-csit-1node-manager-only-boron/649/archives/karaf.log.gz

Below are the observation from the above log and Steps of VTN flowfilter

1) When the above Step-13 is executed, found path-fault issue between openflow:2 --> openflow:3. And vbridge1 status become DOWN.
Please find log below for the same.

2016-09-05 16:30:59,731 | TRACE | Runner: VTN Main | VTNFlowCondition | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | cond_1: Matched the condition: match=[DL_TYPE=2048,IP_SRC=10.0.0.1,IP_DST=10.0.0.3], packet=[Ether[src=56:33:cb:a7:29:f5,dst=6a:ef:a7:a4:36:f2,type=0x800],Inet4[src=10.0.0.1,dst=10.0.0.3,proto=1,dscp=0],ICMP[type=8,code=0]]
2016-09-05 16:30:59,731 | TRACE | Runner: VTN Main | VTNPassFilter | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | VTN:Tenant1%IN.1: Flow action was applied: VTNSetInetSrcAction[addr=192.0.0.1,order=1]
2016-09-05 16:30:59,731 | TRACE | Runner: VTN Main | VTNPassFilter | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | VTN:Tenant1%IN.1: Flow action was applied: VTNSetInetDstAction[addr=192.0.0.2,order=2]
2016-09-05 16:30:59,731 | TRACE | Runner: VTN Main | VTNPassFilter | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | VTN:Tenant1%IN.1: Packet matched the condition: cond_1
2016-09-05 16:30:59,733 | WARN | n-dispatcher-149 | VTenantManager | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | vBridge:Tenant1/vBridge1: Path fault: openflow:2 -> openflow:3
2016-09-05 16:30:59,733 | INFO | n-dispatcher-149 | VTenantManager | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | vBridge:Tenant1/vBridge1: vBridge status has been changed: old=

{state=UP, path-faults=0}

, new=

{state=DOWN, path-faults=1}

2) Few seconds later (5sec) missing edge added and inter switch link has been created. Which in turns resolves path-fault issue.

2016-09-05 16:31:04,338 | INFO | n-dispatcher-149 | VTNRoutingManager | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | Inter-switch link has been created:

{id=openflow:1:2, src=openflow:1:2, dst=openflow:3:3, static=false}

2016-09-05 16:31:04,338 | TRACE | n-dispatcher-149 | TopologyGraph | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | Edge added: openflow:1:2 -> openflow:3:3
2016-09-05 16:31:04,338 | INFO | n-dispatcher-149 | VTNRoutingManager | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | Routing table has been updated.
2016-09-05 16:31:04,338 | INFO | on-dispatcher-45 | VTNInventoryManager | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | Port has been changed: old={id=openflow:3:3, name=s3-eth3, enabled=true, cost=1000, links=[

{id=openflow:3:3, peer=openflow:1:2}

]}, new={id=openflow:3:3, name=s3-eth3, enabled=true, cost=1000, links=[

{id=openflow:3:3, peer=openflow:1:2}

,

{id=openflow:1:2, peer=openflow:1:2}

]}
2016-09-05 16:31:04,339 | INFO | n-dispatcher-121 | VTNInventoryManager | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | Port has been changed: old={id=openflow:1:2, name=s1-eth2, enabled=true, cost=1000, links=[

{id=openflow:3:3, peer=openflow:3:3}

]}, new={id=openflow:1:2, name=s1-eth2, enabled=true, cost=1000, links=[

{id=openflow:3:3, peer=openflow:3:3}

,

{id=openflow:1:2, peer=openflow:3:3}

]}

3) But packet doesn't match the condition even after the path-fault resolved.

2016-09-05 16:31:04,675 | TRACE | Runner: VTN Main | VTNFlowCondition | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | cond_1: Does not match: match=[DL_TYPE=2048,IP_SRC=10.0.0.1,IP_DST=10.0.0.3], packet=[Ether[src=56:33:cb:a7:29:f5,dst=6a:ef:a7:a4:36:f2,type=0x806]]
2016-09-05 16:31:04,675 | TRACE | Runner: VTN Main | VTNFlowCondition | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | cond_1: Unmatched: packet=[Ether[src=56:33:cb:a7:29:f5,dst=6a:ef:a7:a4:36:f2,type=0x806]]
2016-09-05 16:31:04,675 | TRACE | Runner: VTN Main | VTNPassFilter | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | VTN:Tenant1%IN.1: Packet did not match the condition: cond_1
2016-09-05 16:31:04,676 | TRACE | Runner: VTN Main | VBridge | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | 0: Packet route resolved: openflow:2:1 -> [LinkEdge[openflow:2:3 -> openflow:1:1], LinkEdge[openflow:1:2 -> openflow:3:3]] -> openflow:3:1
2016-09-05 16:31:04,676 | TRACE | Runner: VTN Main | VBridge | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | vBridge:Tenant1/vBridge1: Forward packet to known host: src=56:33:cb:a7:29:f5, dst=6a:ef:a7:a4:36:f2, port=openflow:3:1, type=0x806, vlan=0
2016-09-05 16:31:04,677 | TRACE | Runner: VTN Main | Packet | 192 - org.opendaylight.vtn.manager - 0.5.0.SNAPSHOT | Serialized: ARP: 00:01:08:00:06:04:00:01:56:33:cb:a7:29:f5:0a:00:00:01:00:00:00:00:00:00:0a:00:00:03
2016-09-05 16:31:04,677 | TRACE | Runner: VTN Main | Packet | 192 - org.opendaylight.vtn.manager - 0.5.0.SNAPSHOT | Serialized: Ethernet: 6a:ef:a7:a4:36:f2:56:33:cb:a7:29:f5:08:06:00:01:08:00:06:04:00:01:56:33:cb:a7:29:f5:0a:00:00:01:00:00:00:00:00:00:0a:00:00:03
2016-09-05 16:31:04,677 | TRACE | entLoopGroup-5-5 | VTNPacketService | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | transmit-packet: RPC completed successfully: result=null

4) Due to unmatched packet, flow entry installed without vtn-set-inet-src and vtn-set-inet-dst in openflow3:1

2016-09-05 16:31:04,684 | TRACE | entLoopGroup-5-5 | SendBarrierRpc | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | send-barrier RPC has completed: node=openflow:3
2016-09-05 16:31:04,684 | TRACE | TN Flow Thread-0 | FlowAddContext | 194 - org.opendaylight.vtn.manager.implementation - 0.5.0.SNAPSHOT | Flow entry has been installed: flow=[id=7f56000000000027-2, pri=11, timeout=(0,0), node=openflow:3, ingress=openflow:3:3, cond=

{DL_SRC=56:33:cb:a7:29:f5,DL_DST=6a:ef:a7:a4:36:f2,DL_TYPE=2054,DL_VLAN=0}

, actions=

{OUTPUT(port=openflow:3:1, len=65535)}

We will add Report_Failure_Due_To_Bug in the failed test case.
Which report that a test failed due to a known Bugzilla bug whose Bug id is provided as an argument.



 Comments   
Comment by Hideyuki Tai [ 07/Sep/16 ]

Thank you for creating this bug report!!!

I've checked your explanation, but it is not clear to me that which behavior of the VTN Manager was wrong. Could you make it clear which behavior of the VTN Manager was wrong? I'm thinking VTN Manager worked fine as expected.

The VTN Manager didn't filter the packet, since the packet didn't match the condition. As the following log message showed, the packet was an ARP packet (type=0x806), but not an IP packet. On the other hand, the conditis for IP packets (DL_TYPE=2048). Therefore, I think the behavior of the VTN Manager was fine.

2016-09-05 16:31:04,675 (snip) cond_1: Does not match: match=[DL_TYPE=2048,IP_SRC=10.0.0.1,IP_DST=10.0.0.3], packet=[Ether[src=56:33:cb:a7:29:f5,dst=6a:ef:a7:a4:36:f2,type=0x806]]
2016-09-05 16:31:04,675 (snip) cond_1: Unmatched: packet=[Ether[src=56:33:cb:a7:29:f5,dst=6a:ef:a7:a4:36:f2,type=0x806]]

The following log message meant that the flow entry was installed for ARP packets (DL_TYPE=2054). The flow entry was not related to the flow filter. Therefore, that's fine.

2016-09-05 16:31:04,684 (snip) Flow entry has been installed: flow=[id=7f56000000000027-2, pri=11, timeout=(0,0), node=openflow:3, ingress=openflow:3:3, cond=

{DL_SRC=56:33:cb:a7:29:f5,DL_DST=6a:ef:a7:a4:36:f2,DL_TYPE=2054,DL_VLAN=0}

, actions=

{OUTPUT(port=openflow:3:1, len=65535)}

Therefore, I could not see any issues of the VTN Manager here. Could you explain which behavior of the VTN Manager was wrong in the test? I'm thinking that the test script of the CSIT may be wrong, although I've not checked the CSIT code deeply.

Or, I'm thinking the path-fault caused the test failure. It could be that the VTN Manager didn't forward the IP packets between h1 and h3, and didn't install flow entries for them due to the path-fault. That could be the reason why the flow entries for the flow filter was not installed. In that case, we need to investigate why the path-fault occurred to check if the path-fault was expected or not.

Comment by Karthik Sivasamy [ 20/Sep/16 ]

Attachment FailureCSIT.zip has been added with description: Attached Failure CSIT Karaf log with TRACE enabled for VTN and Openflowplugin

Comment by Karthik Sivasamy [ 20/Sep/16 ]

Attachment SuccessCSIT.zip has been added with description: Attached Success CSIT Karaf log with TRACE enabled for VTN and Openflowplugin

Comment by Karthik Sivasamy [ 20/Sep/16 ]

To investigate the inconsistent path-fault issue, The following has been added to the CIST test cases.
Collecting VTN-Inventory information
Collecting ODL-Inventory information
Enabling Trace log for Openflow plugin.

A patch with the above changes has been pushed to git.
https://git.opendaylight.org/gerrit/#/c/45617/

The patch was tested in Sandbox and the issue are reproduced.

Attached Karaf log zip file for Failed CSIT build and Success CSIT Build. We compared and analysed both logs to understand the issue.
Attached File Info:
1) Failure CSIT karaf Log - FailureCSIT.zip
2) Success CSIT karaf Log - SuccessCSIT.zip

Analysis:
============
The path-fault is detected during the Verify inet4src and inet4dst of vtn flowfilter test case in the VTN Manager Flowfilter test scenario.
The path-fault is due to the Inter-switch link between ports openflow:1:2 and openflow:3:3 is not present in the VTN Inventory during the test execution.

On analyzing the failure karaf log, The Inter-Switch link between ports openflow:1:2 and openflow:3:3 removal was detected when the configuration was removed in the previous test case ‘Remove Portmap for If1 test case’ in Vtn Manager Dataflow test scenario.

Log Snippet -
Open flow plugin detects Link removal
2016-09-18 19:28:13,049 | DEBUG | yExporter-flow:1 | OperationProcessor | 345 - org.opendaylight.openflowplugin.applications.topology-manager - 0.3.1.SNAPSHOT | New onLinkRemoved operation available, starting transaction

VTN Manager detects link removal
2016-09-18 19:28:13,077 | INFO | on-dispatcher-71 | VTNRoutingManager | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | Inter-switch link has been removed:

{id=openflow:1:2, src=openflow:1:2, dst=openflow:3:3, static=false}

2016-09-18 19:28:13,077 | TRACE | on-dispatcher-71 | TopologyGraph | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | Edge removed: openflow:1:2 -> openflow:3:3

Also in the get vtn-inventory link edge opneflow:1:2 and openflow:3:3 is missing. And the same link ID is present in other test cases.

VTN-Inventory of Delete VTN Test case in Failure case
=============================================
{"vtn-nodes":{"vtn-node":[{"id":"openflow:3","vtn-port":[{"id":"openflow:3:3","cost":1000,"name":"s3-eth3","enabled":true,"port-link":[

{"link-id":"openflow:3:3","peer":"openflow:1:2"}

]},

{"id":"openflow:3:2","cost":1000,"name":"s3-eth2","enabled":true}

,

{"id":"openflow:3:1","cost":1000,"name":"s3-eth1","enabled":true}

],"openflow-version":"OF13"},{"id":"openflow:2","vtn-port":[{"id":"openflow:2:3","cost":1000,"name":"s2-eth3","enabled":true,"port-link":[

{"link-id":"openflow:1:1","peer":"openflow:1:1"}

,

{"link-id":"openflow:2:3","peer":"openflow:1:1"}

]},

{"id":"openflow:2:2","cost":1000,"name":"s2-eth2","enabled":true}

,

{"id":"openflow:2:1","cost":1000,"name":"s2-eth1","enabled":true}

],"openflow-version":"OF13"},{"id":"openflow:1","vtn-port":[{"id":"openflow:1:2","cost":1000,"name":"s1-eth2","enabled":true,"port-link":[

{"link-id":"openflow:3:3","peer":"openflow:3:3"}

]},{"id":"openflow:1:1","cost":1000,"name":"s1-eth1","enabled":true,"port-link":[

{"link-id":"openflow:1:1","peer":"openflow:2:3"}

,

{"link-id":"openflow:2:3","peer":"openflow:2:3"}

]}],"openflow-version":"OF13"}]}}

VTN-Inventory of Delete VTN Test case in Success case.
=============================================
{"vtn-nodes":{"vtn-node":[{"id":"openflow:3","vtn-port":[

{"id":"openflow:3:2","cost":1000,"name":"s3-eth2","enabled":true}

,

{"id":"openflow:3:1","cost":1000,"name":"s3-eth1","enabled":true}

,{"id":"openflow:3:3","port-link":[

{"link-id":"openflow:3:3","peer":"openflow:1:2"}

,

{"link-id":"openflow:1:2","peer":"openflow:1:2"}

],"cost":1000,"name":"s3-eth3","enabled":true}],"openflow-version":"OF13"},{"id":"openflow:2","vtn-port":[{"id":"openflow:2:3","port-link":[

{"link-id":"openflow:1:1","peer":"openflow:1:1"}

,

{"link-id":"openflow:2:3","peer":"openflow:1:1"}

],"cost":1000,"name":"s2-eth3","enabled":true},

{"id":"openflow:2:2","cost":1000,"name":"s2-eth2","enabled":true}

,

{"id":"openflow:2:1","cost":1000,"name":"s2-eth1","enabled":true}

],"openflow-version":"OF13"},{"id":"openflow:1","vtn-port":[{"id":"openflow:1:2","port-link":[

{"link-id":"openflow:3:3","peer":"openflow:3:3"}

,

{"link-id":"openflow:1:2","peer":"openflow:3:3"}

],"cost":1000,"name":"s1-eth2","enabled":true},{"id":"openflow:1:1","port-link":[

{"link-id":"openflow:1:1","peer":"openflow:2:3"}

,

{"link-id":"openflow:2:3","peer":"openflow:2:3"}

],"cost":1000,"name":"s1-eth1","enabled":true}],"openflow-version":"OF13"}]}}

In the above vtn-inventory,

{"link-id":"openflow:1:2","peer":"openflow:1:2"}

is missing in node:id ""openflow:3"" and

{"link-id":"openflow:1:2","peer":"openflow:3:3"}

is missing in node:id ""openflow:1""

On completion of VTN Manager Dataflow Test scenario, VTN Manager Flowfilter test scenario is executed.
Below are Steps followed in VTN Manager Flowfilter test.
1) Create VTN -> pass
2) Create VBR1 -> pass
3) Create VBR1-IF1 and VBR1-IF2 -> pass
4) Configure portmap s2-eth1 (host h1) for VBR1-IF1 -> pass
5) Configure portmap s3-eth1 (host h3) for VBR1-IF2 -> pass
6) ping h1 and h3 -> pass
7) Create VBR2 -> pass
8) Create VBR2-IF3 and VBR2-IF4 -> pass
9) Configure portmap s2-eth2 (host h2) for VBR2-IF3 -> pass
10 Configure portmap s3-eth2 (host h4) for VBR2-IF4 -> pass
11 ping h2 and h4 -> pass
12 Create flowcondition with vtn-flow-math [inet4-src 10.0.0.1/32 and inet4-dst 10.0.0.3/32] -> pass
13) Create VTN Flowfilter with vtn-set-inet-src (192.0.0.1/32) and vtn-set-inet-dst (192.0.0.3/32) -> pass

From step 1 to step 13 the output of VTN-Inventory list doesn't contain Inter-switch link link edge opneflow:1:2 and openflow:3:3.

VTN Inventory Output for the above Step 1 to step 13 - Inter-switch link is missing.
{"vtn-nodes":{"vtn-node":[{"id":"openflow:3","vtn-port":[{"id":"openflow:3:3","cost":1000,"name":"s3-eth3","enabled":true,"port-link":[

{"link-id":"openflow:3:3","peer":"openflow:1:2"}

]},

{"id":"openflow:3:2","cost":1000,"name":"s3-eth2","enabled":true}

,

{"id":"openflow:3:1","cost":1000,"name":"s3-eth1","enabled":true}

],"openflow-version":"OF13"},{"id":"openflow:2","vtn-port":[{"id":"openflow:2:3","cost":1000,"name":"s2-eth3","enabled":true,"port-link":[

{"link-id":"openflow:1:1","peer":"openflow:1:1"}

,

{"link-id":"openflow:2:3","peer":"openflow:1:1"}

]},

{"id":"openflow:2:2","cost":1000,"name":"s2-eth2","enabled":true}

,

{"id":"openflow:2:1","cost":1000,"name":"s2-eth1","enabled":true}

],"openflow-version":"OF13"},{"id":"openflow:1","vtn-port":[{"id":"openflow:1:2","cost":1000,"name":"s1-eth2","enabled":true,"port-link":[

{"link-id":"openflow:3:3","peer":"openflow:3:3"}

]},{"id":"openflow:1:1","cost":1000,"name":"s1-eth1","enabled":true,"port-link":[

{"link-id":"openflow:1:1","peer":"openflow:2:3"}

,

{"link-id":"openflow:2:3","peer":"openflow:2:3"}

]}],"openflow-version":"OF13"}]}}

As the Inter-switch link is not present, Step 6 - ping h1 and h3 and Step 11 - ping h2 to h4 should actually fail but the ping is successful in CSIT. In the karaf log VTN Manager is able to successfully resolve the path

2016-09-18 19:28:14,002 | TRACE | Runner: VTN Main | VBridge | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | 0: Packet route resolved: openflow:3:1 -> [LinkEdge[openflow:3:3 -> openflow:1:2], LinkEdge[openflow:1:1 -> openflow:2:3]] -> openflow:2:1
2016-09-18 19:28:14,466 | TRACE | Runner: VTN Main | VBridge | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | 0: Packet route resolved: openflow:3:2 -> [LinkEdge[openflow:3:3 -> openflow:1:2], LinkEdge[openflow:1:1 -> openflow:2:3]] -> openflow:2:2

Also we cross verified the same ping test case with the successful CSIT job there in VTN-Inventory list Inter-switch link is present.

14) Verify Mininet ping between h1 and h3. -> pass (ping should not work)
During this ping test VTN Manager detects a path fault.

2016-09-18 19:28:14,707 | WARN | on-dispatcher-71 | VTenantManager | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | vBridge:Tenant1/vBridge1: Path fault: openflow:2 -> openflow:3
2016-09-18 19:28:14,707 | INFO | on-dispatcher-71 | VTenantManager | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | vBridge:Tenant1/vBridge1: vBridge status has been changed: old=

{state=UP, path-faults=0}

, new=

{state=DOWN, path-faults=1}

Due to this no flows are added to the switch by the VTN Manager.

15) Verify flowentry installed with vtn-set-inet-src (192.0.0.1) and vtn-set-inet-dst (192.0.0.3) -> As No flows are written this verification test fails in CSIT.

During the execution of test 14 , Openflow plugin detects the link between Openflow:1:2 and Openflow:3:3
2016-09-18 19:28:16,768 | DEBUG | yExporter-flow:1 | OperationProcessor | 345 - org.opendaylight.openflowplugin.applications.topology-manager - 0.3.1.SNAPSHOT | New onLinkDiscovered operation available, starting transaction
2016-09-18 19:28:16,768 | DEBUG | yExporter-flow:1 | OperationProcessor | 345 - org.opendaylight.openflowplugin.applications.topology-manager - 0.3.1.SNAPSHOT | Next operation onLinkDiscovered

VTN Manager Added the link to the Inventory.
2016-09-18 19:28:16,786 | INFO | on-dispatcher-71 | VTNRoutingManager | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | Inter-switch link has been created:

{id=openflow:1:2, src=openflow:1:2, dst=openflow:3:3, static=false}

2016-09-18 19:28:16,786 | TRACE | on-dispatcher-71 | TopologyGraph | 492 - org.opendaylight.vtn.manager.implementation - 0.5.1.SNAPSHOT | Edge added: openflow:1:2 -> openflow:3:3

The missing inter switch links are added to the VTN inventory during step 15 and the subsequent tests are executed successfully in CSIT.

{"vtn-nodes":{"vtn-node":[{"id":"openflow:3","vtn-port":[{"id":"openflow:3:3","cost":1000,"name":"s3-eth3","enabled":true,"port-link":[

{"link-id":"openflow:3:3","peer":"openflow:1:2"}

,

{"link-id":"openflow:1:2","peer":"openflow:1:2"}

]},

{"id":"openflow:3:2","cost":1000,"name":"s3-eth2","enabled":true}

,

{"id":"openflow:3:1","cost":1000,"name":"s3-eth1","enabled":true}

],"openflow-version":"OF13"},{"id":"openflow:2","vtn-port":[{"id":"openflow:2:3","cost":1000,"name":"s2-eth3","enabled":true,"port-link":[

{"link-id":"openflow:1:1","peer":"openflow:1:1"}

,

{"link-id":"openflow:2:3","peer":"openflow:1:1"}

]},

{"id":"openflow:2:2","cost":1000,"name":"s2-eth2","enabled":true}

,

{"id":"openflow:2:1","cost":1000,"name":"s2-eth1","enabled":true}

],"openflow-version":"OF13"},{"id":"openflow:1","vtn-port":[{"id":"openflow:1:2","cost":1000,"name":"s1-eth2","enabled":true,"port-link":[

{"link-id":"openflow:3:3","peer":"openflow:3:3"}

,

{"link-id":"openflow:1:2","peer":"openflow:3:3"}

]},{"id":"openflow:1:1","cost":1000,"name":"s1-eth1","enabled":true,"port-link":[

{"link-id":"openflow:1:1","peer":"openflow:2:3"}

,

{"link-id":"openflow:2:3","peer":"openflow:2:3"}

]}],"openflow-version":"OF13"}]}}

In the ODL Inventory all the ODL ports are present for all the test cases. We found only the Port information and not link information in the ODL inventory.

Observations -
1) As the Link edges are removed in the earlier test scenario, Ping test in step 6 and 11 should fail in VTN Manager, but the tests are successful and the path is resolved. Why Path fault was not reported during these tests? Is this the expected behavior of VTN Manager?
2) As the Link addition/removal was detected by Openflow plugin first followed by VTN Manager, Our understanding is VTN Manager is handing the Openflow plugin events correctly. Is our understanding correct.
3) In the Openflow plugin logs we didn't find any specific reason for the Link failure detected by the Openflow plugin.

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