[GENIUS-78] Inconsistent tunnel port information in Genius Created: 28/Apr/17  Updated: 30/Oct/17  Resolved: 18/May/17

Status: Resolved
Project: genius
Component/s: General
Affects Version/s: Carbon
Fix Version/s: None

Type: Bug
Reporter: Brady Johnson Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: File karaf_log_bug8332.tgz    
External issue ID: 8332
Priority: High

 Description   

When I execute this RESTconf command, I get the following:

curl -H "Content-Type: application/json" -X GET --user admin:admin http://localhost:8181/restconf/config/odl-interface-meta:bridge-interface-info | python -m json.tool

{
"bridge-interface-info": {
"bridge-entry": [
{
"bridge-interface-entry": [

{ "interface-name": "tun5586105979e" }

,

{ "interface-name": "tun50ac854dc23" }

,

{ "interface-name": "tune40822e4b24" }

,

{ "interface-name": "tunc5bbb60c5be" }

],
"dpid": 203068852039248
},
{
"bridge-interface-entry": [

{ "interface-name": "tunda57332e390" }

,

{ "interface-name": "tunf7fc5075a90" }

,

{ "interface-name": "tunf192712a021" }

,

{ "interface-name": "tune235dba66db" }

],
"dpid": 259899806894535
},
{
"bridge-interface-entry": [

{ "interface-name": "tun9574fb33977" }

,

{ "interface-name": "tun1efc669f2c5" }

,

{ "interface-name": "tuna6fdeb91b92" }

,

{ "interface-name": "tun0ee97cb99a7" }

],
"dpid": 88118914860719
}
]
}
}

But this information does not coincide with what I actually have in the OVS bridges, as can be seen below:

[vagrant@localhost ~]$ docker exec firewall ovs-vsctl show
b1fbefc8-c12e-4d78-86c6-59c7db89ef97
Manager "tcp:172.28.128.1:6640"
is_connected: true
Bridge br-int
Controller "tcp:172.28.128.1:6653"
is_connected: true
fail_mode: secure
Port br-int
Interface br-int
type: internal
Port "tuna1b98913c5d"
Interface "tuna1b98913c5d"
type: vxlan
options:

{dst_port="4880", exts=gpe, key=flow, local_ip="172.19.0.2", "nshc1"=flow, "nshc2"=flow, "nshc3"=flow, "nshc4"=flow, nsi=flow, nsp=flow, remote_ip=flow}

Port "tune235dba66db"
Interface "tune235dba66db"
type: vxlan
options:

{key=flow, local_ip="172.19.0.2", remote_ip="172.19.0.3"}

Port "tunf7fc5075a90"
Interface "tunf7fc5075a90"
type: vxlan
options:

{key=flow, local_ip="172.19.0.2", remote_ip="172.19.0.4"}

Port "tape4a67c1e-61"
Interface "tape4a67c1e-61"
ovs_version: "2.6.1"

[vagrant@localhost ~]$ docker exec client1 ovs-vsctl show
a5358b9c-7a78-40a5-b2a7-811a09c81684
Manager "tcp:172.28.128.1:6640"
is_connected: true
Bridge br-int
Controller "tcp:172.28.128.1:6653"
is_connected: true
fail_mode: secure
Port "tun1efc669f2c5"
Interface "tun1efc669f2c5"
type: vxlan
options:

{key=flow, local_ip="172.19.0.3", remote_ip="172.19.0.4"}

Port br-int
Interface br-int
type: internal
Port "tap1cbc44fa-d6"
Interface "tap1cbc44fa-d6"
Port "tun430bea2ed4f"
Interface "tun430bea2ed4f"
type: vxlan
options:

{dst_port="4880", exts=gpe, key=flow, local_ip="172.19.0.3", "nshc1"=flow, "nshc2"=flow, "nshc3"=flow, "nshc4"=flow, nsi=flow, nsp=flow, remote_ip=flow}

Port "tun9574fb33977"
Interface "tun9574fb33977"
type: vxlan
options:

{key=flow, local_ip="172.19.0.3", remote_ip="172.19.0.2"}

ovs_version: "2.6.1"

[vagrant@localhost ~]$ docker exec server1 ovs-vsctl show
f227a7b7-f01e-47b5-a630-95964d80558b
Manager "tcp:172.28.128.1:6640"
is_connected: true
Bridge br-int
Controller "tcp:172.28.128.1:6653"
is_connected: true
fail_mode: secure
Port "tunc5bbb60c5be"
Interface "tunc5bbb60c5be"
type: vxlan
options:

{key=flow, local_ip="172.19.0.4", remote_ip="172.19.0.2"}

Port br-int
Interface br-int
type: internal
Port "tap993b051f-b7"
Interface "tap993b051f-b7"
Port "tun55258486af0"
Interface "tun55258486af0"
type: vxlan
options:

{dst_port="4880", exts=gpe, key=flow, local_ip="172.19.0.4", "nshc1"=flow, "nshc2"=flow, "nshc3"=flow, "nshc4"=flow, nsi=flow, nsp=flow, remote_ip=flow}

Port "tune40822e4b24"
Interface "tune40822e4b24"
type: vxlan
options:

{key=flow, local_ip="172.19.0.4", remote_ip="172.19.0.3"}

ovs_version: "2.6.1"

Additionally, the interfaceMgr.getTunnelPortsOnBridge(dpnId); Genius RPC gives me even different information.



 Comments   
Comment by Brady Johnson [ 28/Apr/17 ]

Attachment karaf_log_bug8332.tgz has been added with description: karaf logs

Comment by Hema Gopalakrishnan [ 29/Apr/17 ]

Can you please list down the steps to reproduce this issue.

Do you see this issue consistently?

Comment by Brady Johnson [ 30/Apr/17 ]

Yes, the problem is consistent.

Comment by Brady Johnson [ 30/Apr/17 ]

To reproduce this, we are using the SFC dovs testing harness with a locally built netvirt karaf distro. Since we found this problem, we havent merged this final dovs draft patch yet: https://git.opendaylight.org/gerrit/#/c/55996/ You'll need to use this patch to reproduce the problem. I added Vishal and Hema as reviewers.

Using a locally built karaf distro from netvirt/vpnservice:
karaf> feature:install odl-netvirt-sfc

From the SFC repo:

cd sfc-test/sfc-docker
vagrant up
vagrant ssh

From within vagrant:

export ODL_IP=172.28.128.1
sudo dovs sfc-config --chains "[['client1', 'firewall', 'server1']]" --odl ${ODL_IP}
sudo dovs sfc-config --create-rsp-from-id 1 --odl ${ODL_IP}

You should be able to see the problem now, but there is one step left in the test.

Then to install the netvirt classifier rules:

curl -i -H "Content-Type: application/json" -H "Cache-Control: no-cache" --data '{ "acl": [ { "acl-name": "ACL1", "acl-type": "ietf-access-control-list:ipv4-acl", "access-list-entries": { "ace": [ { "rule-name": "ACE1", "actions":

{ "netvirt-sfc-acl:rsp-name": "RSP1" }

, "matches": { "network-uuid" : "177bef73-514e-4922-990f-d7aba0f3b0f4", "source-ipv4-network": "10.0.0.2/32", "protocol": "6", "source-port-range":

{ "lower-port": 0 }

, "destination-port-range":

{ "lower-port": 80 }

} } ] } }]}' -X PUT --user admin:admin http://localhost:8181/restconf/config/ietf-access-control-list:access-lists/acl/ietf-access-control-list:ipv4-acl/ACL1

Comment by Jaime CaamaƱo Ruiz [ 03/May/17 ]

Tested Vishal patch [1] and solves the issue.

[1] https://git.opendaylight.org/gerrit/#/c/56354/1

Comment by Vishal Thapar [ 16/May/17 ]

Added some more changes based on issues found in same code by others and some testing.

Comment by A H [ 17/May/17 ]

We are looking to build Carbon RC2 tomorrow 5/18 at 23:59 UTC time assuming there are no blocker bugs. Is there an ETA for when a fix can be merged and this bug resolved for stable/carbon branch?

Generated at Wed Feb 07 19:59:51 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.