SNAT port not found for the given internal port error message seen when gateway is removed for DVR routers.

Bug #1496578 reported by Swaminathan Vasudevan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Swaminathan Vasudevan

Bug Description

Recently the logstash logs showed traces about "SNAT port not found for the given internal port".

http://logs.openstack.org/22/219422/13/check/gate-tempest-dsvm-neutron-dvr/e5243b2/logs/screen-q-l3.txt.gz?level=TRACE#_2015-09-15_12_28_08_880

By analyzing the failure it seems when a gateway is removed, the "get_snat_port_for_internal_port" is called without the cache value.

This bug was introduced by the patch shown below.

Icc099c1a97e3e68eeaf4690bc83167ba30d8099a

Changed in neutron:
status: New → Confirmed
assignee: nobody → Swaminathan Vasudevan (swaminathan-vasudevan)
Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
Swaminathan Vasudevan (swaminathan-vasudevan) wrote :

This will affect Liberty.

Changed in neutron:
milestone: none → liberty-rc1
Revision history for this message
Kyle Mestery (mestery) wrote :

Is there a patch for this? Given we're near the end of Liberty, is this a bug we'd hold the RC1 for? I don't think so, so if it doesn't merge by Friday we'll keep it out of the release.

Changed in neutron:
importance: Undecided → Medium
Revision history for this message
Kyle Mestery (mestery) wrote :

Also, I don't see the patch linked here in the bug, can someone do that please?

Revision history for this message
Swaminathan Vasudevan (swaminathan-vasudevan) wrote :

Yes we do have a patch for this right now.

https://review.openstack.org/#/c/224250/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/224250
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=e0664a4c2cd8ec5e24f67eac2b2c4e04464888d3
Submitter: Jenkins
Branch: master

commit e0664a4c2cd8ec5e24f67eac2b2c4e04464888d3
Author: Swaminathan Vasudevan <email address hidden>
Date: Wed Sep 16 11:13:46 2015 -0700

    Fixes SNAT port not found for internal port

    For every router interface added to a router
    with a default gateway there will be an internal
    SNAT port generated and will be required by the
    L3 Agent to process the SNAT rules.

    This bug was introduced by the change ID below
    Icc099c1a97e3e68eeaf4690bc83167ba30d8099a.

    When the gateway is removed these ports have to
    be removed from the namespace. These ports are
    cached in the router_info and should be provided
    to the get_snat_port_for_internal_port function
    when called from external_gateway_removed or when
    called from _dvr_internal_network_removed.

    This patch fixes this problem.

    Closes-Bug: #1496578

    Change-Id: Id5af4774ba246e24f343f5623af5ea9143bd5f6b

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-rc1 → 7.0.0
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.