Build 2715: UI: Underlay: Physical-Topology-> Topology not drawn properly when Map flow/Trace flow has src/dst ip as floating ip

Bug #1549931 reported by Ankit Jain
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Fix Committed
High
jayaramsatya
Trunk
Fix Committed
High
jayaramsatya

Bug Description

Underlay topology path drawn does not seem to be correct for trace flow and map flow when flow is having src ip/dst ip as floating ip.

Steps:

Create the following resources:

VMs:

demo nodei4 test1-int ubuntu 5.5.5.3 m1.small Active None Running 3 hours, 40 minutes

demo nodei5 test2-int ubuntu 6.6.6.3 Floating IPs: 5.5.5.4 m1.small Active None Running 3 hours, 39 minutes

 Networks
test1 5.5.5.0/24 - Disabled Up
test2 6.6.6.0/24 - Disabled Up

Floating IPs
5.5.5.4
6.6.6.3 (c89cb719-3ef7-47ab-9664-e134a7015f7e)
test1:test2FIP

Issues:

1) Trace flow not correct (screenshots traceflow1.png, traceflow2.png)

request :

Sending reqUrl http://40.43.1.7:9100/fqname-to-id {"fq_name":["default-domain","demo","test1"],"type":"virtual-network"} { 'X-Auth-Token': '28a530e6c086470ca2001b8f7cfe2d08',
  X_API_ROLE: 'KeystoneAdmin,KeystoneServiceAdmin,admin',
  'Content-Length': 70,
  'Content-Type': 'application/json' }
Sending reqUrl http://40.43.1.6:9100/virtual-networks?fields=routing_instances&obj_uuids=cc9e32a3-0a98-4c74-a8dc-f8b1d11cdfa0 {} { 'X-Auth-Token': '28a530e6c086470ca2001b8f7cfe2d08',
  X_API_ROLE: 'KeystoneAdmin,KeystoneServiceAdmin,admin',
  'Content-Length': 0 }
Sending reqUrl http://40.40.40.6:8085/Snh_TraceRouteReq?source_ip=5.5.5.4&source_port=0&dest_ip=5.5.5.3&dest_port=0&protocol=1&vrf_name=default-domain:demo:test1:test1&max_hops=&max_attempts=3&interval=5 {} { 'Content-Length': 0 }
Sending reqUrl http://40.43.1.7:8081/analytics/uves/prouter {"cfilt":["PRouterEntry:ipMib","ContrailConfig"]} { 'Content-Length': 49, 'Content-Type': 'application/json' }
Sending reqUrl http://40.43.1.6:8081/analytics/uves/vrouter {"cfilt":["VrouterAgent:self_ip_list"]} { 'Content-Length': 39, 'Content-Type': 'application/json' }
Sending reqUrl http://40.43.1.5:8081/analytics/uves/virtual-machine {"cfilt":["UveVirtualMachineAgent:interface_list","UveVirtualMachineAgent:vrouter"]} { 'Content-Length': 84, 'Content-Type': 'application/json' }
Sending reqUrl http://40.43.1.7:8081/analytics/uves/virtual-machine-interface {"cfilt":["UveVMInterfaceAgent:vm_name","UveVMInterfaceAgent:uuid","UveVMInterfaceAgent:label","UveVMInterfaceAgent:mac_address","UveVMInterfaceAgent:active","UveVMInterfaceAgent:virtual_network","UveVMInterfaceAgent:ip_address","UveVMInterfaceAgent:gateway","UveVMInterfaceAgent:floating_ips","UveVirtualMachineAgent:ip6_active","UveVirtualMachineAgent:ip6_address"]} { 'Content-Length': 368, 'Content-Type': 'application/json' }
Sending reqUrl http://40.40.40.6:8085/Snh_VnListReq?name=default-domain:demo:test1 {} { 'Content-Length': 0 }

{
  "nodes": [
    {
      "name": "nodei5",
      "node_type": "virtual-router"
    },
    {
      "name": "nodei4",
      "node_type": "virtual-router"
    },
    {
      "name": "682972c0-1ad5-41d1-a387-13947cd4f056",
      "node_type": "virtual-machine"
    },
    {
      "name": "0a167a77-303f-415c-b8ed-755f9e4681bc",
      "node_type": "virtual-machine"
    }
  ],
  "links": [
    {
      "endpoints": [
        "682972c0-1ad5-41d1-a387-13947cd4f056",
        "nodei5"
      ]
    },
    {
      "endpoints": [
        "nodei5",
        "nodei4"
      ]
    },
    {
      "endpoints": [
        "nodei4",
        "0a167a77-303f-415c-b8ed-755f9e4681bc"
      ]
    }
  ]
}

2) Map flow not correct( screenshot mapflow1.png)

Sending reqUrl http://40.43.1.6:8081/analytics/query {"table":"OverlayToUnderlayFlowMap","start_time":1456422205369000,"end_time":1456422805369000,"select_fields":["u_prouter","u_pifindex"],"where":[[{"name":"o_protocol","value":"1","op":1,"value2":null,"suffix":{"name":"o_sport","value":"1568","suffix":null,"op":1,"value2":null}},{"name":"o_protocol","value":"1","op":1,"value2":null,"suffix":{"name":"o_dport","value":"0","suffix":null,"op":1,"value2":null}},{"name":"o_svn","value":"default-domain:demo:test1","op":1,"value2":null,"suffix":{"name":"o_sip","value":"5.5.5.4","suffix":null,"op":1,"value2":null}},{"name":"o_dvn","value":"default-domain:demo:test1","op":1,"value2":null,"suffix":{"name":"o_dip","value":"5.5.5.3","suffix":null,"op":1,"value2":null}}]],"dir":1} { 'Content-Length': 726, 'Content-Type': 'application/json' }
02/25/2016 11:31:54 PM - debug: Query executed in 2.036secs {"table":"OverlayToUnderlayFlowMap","start_time":1456422205369000,"end_time":1456422805369000,"select_fields":["u_prouter","u_pifindex"],"where":[[{"name":"o_protocol","value":"1","op":1,"value2":null,"suffix":{"name":"o_sport","value":"1568","suffix":null,"op":1,"value2":null}},{"name":"o_protocol","value":"1","op":1,"value2":null,"suffix":{"name":"o_dport","value":"0","suffix":null,"op":1,"value2":null}},{"name":"o_svn","value":"default-domain:demo:test1","op":1,"value2":null,"suffix":{"name":"o_sip","value":"5.5.5.4","suffix":null,"op":1,"value2":null}},{"name":"o_dvn","value":"default-domain:demo:test1","op":1,"value2":null,"suffix":{"name":"o_dip","value":"5.5.5.3","suffix":null,"op":1,"value2":null}}]],"dir":1}
Sending reqUrl http://40.43.1.5:8081/analytics/uves/prouter {"cfilt":["PRouterEntry:ipMib","ContrailConfig"]} { 'Content-Length': 49, 'Content-Type': 'application/json' }
Sending reqUrl http://40.43.1.7:8081/analytics/uves/virtual-machine {"cfilt":["UveVirtualMachineAgent:interface_list","UveVirtualMachineAgent:vrouter"]} { 'Content-Length': 84, 'Content-Type': 'application/json' }
Sending reqUrl http://40.43.1.6:8081/analytics/uves/virtual-machine-interface {"cfilt":["UveVMInterfaceAgent:vm_name","UveVMInterfaceAgent:uuid","UveVMInterfaceAgent:label","UveVMInterfaceAgent:mac_address","UveVMInterfaceAgent:active","UveVMInterfaceAgent:virtual_network","UveVMInterfaceAgent:ip_address","UveVMInterfaceAgent:gateway","UveVMInterfaceAgent:floating_ips","UveVirtualMachineAgent:ip6_active","UveVirtualMachineAgent:ip6_address"]} { 'Content-Length': 368, 'Content-Type': 'application/json' }
Sending reqUrl http://40.40.40.6:8085/Snh_VnListReq?name=default-domain:demo:test1 {} { 'Content-Length': 0 }
02/25/2016 11:32:06 PM - debug: DiscService Response Updated by process:11846 {"OpServer":[{"@publisher-id":"nodeh2","port":8081,"ip-address":"40.43.1.7"},{"@publisher-id":"nodeh1","port":8081,"ip-address":"40.43.1.6"},{"@publisher-id":"nodeg32","port":8081,"ip-address":"40.43.1.5"}],"ttl":672}

Response:

{
  "nodes": [
    {
      "name": "bng-contrail-qfx51-8",
      "node_type": "physical-router"
    },
    {
      "name": "bng-contrail-qfx51-7",
      "node_type": "physical-router"
    },
    {
      "name": "682972c0-1ad5-41d1-a387-13947cd4f056",
      "node_type": "virtual-machine"
    },
    {
      "name": "0a167a77-303f-415c-b8ed-755f9e4681bc",
      "node_type": "virtual-machine"
    },
    {
      "name": "nodei5",
      "node_type": "virtual-router"
    },
    {
      "name": "nodei4",
      "node_type": "virtual-router"
    }
  ],
  "links": [
    {
      "endpoints": [
        "682972c0-1ad5-41d1-a387-13947cd4f056",
        "nodei5"
      ]
    },
    {
      "endpoints": [
        "nodei5",
        "bng-contrail-qfx51-7"
      ]
    },
    {
      "endpoints": [
        "bng-contrail-qfx51-7",
        "bng-contrail-qfx51-8"
      ]
    },
    {
      "endpoints": [
        "bng-contrail-qfx51-8",
        "nodei4"
      ]
    },
    {
      "endpoints": [
        "nodei4",
        "0a167a77-303f-415c-b8ed-755f9e4681bc"
      ]
    }
  ]
}

Revision history for this message
Ankit Jain (ankitja) wrote :
Revision history for this message
Ankit Jain (ankitja) wrote :
Revision history for this message
Ankit Jain (ankitja) wrote :
Revision history for this message
Ankit Jain (ankitja) wrote :

Looks like src and dst VMs are getting overlapped in such a manner that it's impossible to understand the path drawn without dragging it. Response returned is correct

summary: - Build 2715: UI: Underlay: Physical-Topology-> Map flow/Trace flow with
- src/dst ip as floating ip not working
+ Build 2715: UI: Underlay: Physical-Topology-> Topology not drawn
+ properly when Map flow/Trace flow has src/dst ip as floating ip
Ankit Jain (ankitja)
tags: added: blocker
Rahul (rahuls)
Changed in juniperopenstack:
assignee: Rahul (rahuls) → asbalaji (asbalaji)
Revision history for this message
Rahul (rahuls) wrote :

Traceflow for Floating IP doesn't work in certain scenarios.

tags: added: releasenote vrouter
removed: blocker
Revision history for this message
VishnuVardhan V (vishnuvv) wrote :

Checked in the fix to mainline and R 3.0

https://review.opencontrail.org/#/c/18024/

Revision history for this message
VishnuVardhan V (vishnuvv) wrote :
Changed in juniperopenstack:
milestone: r3.0-fcs → r3.0.1.0
milestone: r3.0.1.0 → r3.1.0.0-fcs
assignee: asbalaji (asbalaji) → jayaramsatya (jayaramsatya)
importance: Undecided → Medium
Revision history for this message
VishnuVardhan V (vishnuvv) wrote :

As per discussion, In case of floating ip we are going to use the floating ip as source ip for Ingress flow and destination ip in case of egress flow.

Revision history for this message
VishnuVardhan V (vishnuvv) wrote :

Missed the clause source and destination networks same in last comment

As per discussion, In case of floating ip when the source and destination networks are same, we are going to use the floating ip as source ip for Ingress flow and destination ip in case of egress flow.

eg: Flow

vRouter IP: nodei5(40.40.40.6)

otherVrouterIP: nodeh7 (40.40.10.6)

Protocol: ICMP

Source network: vn2 (admin)

Source IP: 10.1.1.3

Source Port: 1198

Direction: INGRESS

Destionation network: vn2 (admin)

DestIP: 20.1.1.8

Dest Port: 0

Above flow is ping b/w 20.1.1.3(floating ip of 10.1.1.3) to 20.1.1.8

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/18683
Submitter: VishnuVardhan V (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/18724
Submitter: VishnuVardhan V (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/18724
Committed: http://github.org/Juniper/contrail-web-controller/commit/9d0635aa688925775bf101c8792d653313bb1c98
Submitter: Zuul
Branch: R3.0

commit 9d0635aa688925775bf101c8792d653313bb1c98
Author: Vishnu Vardhan V <email address hidden>
Date: Wed Mar 23 12:12:31 2016 +0530

Floating IP issue:
 In case of floating IP,source and destination ip's of ingress and egress flows of introspect
are not matching with the src and dest VN subnet, because of this while doing trace flow ip's are not reachable from the vRouter.
Fix is we are picking the fip from the flow info
and updating with source and destination IP based on the direction.

Closes-Bug:#1549931

Change-Id: I7e7e86819216615a445714f8d924dc9daa823cff
(cherry picked from commit e9a627038b08745c08ddbf44c53a471ac707dc0a)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/18683
Committed: http://github.org/Juniper/contrail-web-controller/commit/e9a627038b08745c08ddbf44c53a471ac707dc0a
Submitter: Zuul
Branch: master

commit e9a627038b08745c08ddbf44c53a471ac707dc0a
Author: Vishnu Vardhan V <email address hidden>
Date: Wed Mar 23 12:12:31 2016 +0530

Floating IP issue:
 In case of floating IP,source and destination ip's of ingress and egress flows of introspect
are not matching with the src and dest VN subnet, because of this while doing trace flow ip's are not reachable from the vRouter.
Fix is we are picking the fip from the flow info
and updating with source and destination IP based on the direction.

Closes-Bug:#1549931

Change-Id: I7e7e86819216615a445714f8d924dc9daa823cff

Rahul (rahuls)
tags: removed: ui
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.