manually moving dvr-snat router fails

Bug #1369721 reported by Mike Smith
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Oleg Bondarev

Bug Description

An admin should be able to manually "move" the snat router functionality from one dvr_snat node to another for DVR routers. The commands "neutron l3-agent-router-delete" and "neutron l3-agent-router-add" should be used to manually move or reschedule the snat namespace from one dvr_snat configured node to another.

Currently the old agent does remove the namespace and the "l3-agent-list-hosting-router" command shows the agent missing, but the following error is returned when the "neutron l3-agent-router-add" command is used -

Not Found (HTTP 404) (Request-ID: req-1f2681ba-1d0c-47fe-8d6a-aea80086ed29)

tags: added: l3-dvr-backlog
Changed in neutron:
assignee: nobody → Mike Smith (michael-smith6)
Changed in neutron:
importance: Undecided → High
Changed in neutron:
status: New → In Progress
Kyle Mestery (mestery)
Changed in neutron:
milestone: none → juno-rc1
Revision history for this message
Carl Baldwin (carl-baldwin) wrote :
Revision history for this message
Kyle Mestery (mestery) wrote :

Per Carl, we need this for Juno-RC1 for DVR.

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

Fix proposed to branch: master
Review: https://review.openstack.org/123815

Changed in neutron:
assignee: Mike Smith (michael-smith6) → Swaminathan Vasudevan (swaminathan-vasudevan)
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

Patch https://review.openstack.org/#/c/118491/ has some messages that are subject to String freeze, so deferring to post Juno.

Changed in neutron:
milestone: juno-rc1 → none
Changed in neutron:
assignee: Swaminathan Vasudevan (swaminathan-vasudevan) → Mike Smith (michael-smith6)
Changed in neutron:
assignee: Mike Smith (michael-smith6) → Swaminathan Vasudevan (swaminathan-vasudevan)
Changed in neutron:
assignee: Swaminathan Vasudevan (swaminathan-vasudevan) → Mike Smith (michael-smith6)
Changed in neutron:
assignee: Mike Smith (michael-smith6) → Swaminathan Vasudevan (swaminathan-vasudevan)
Changed in neutron:
assignee: Swaminathan Vasudevan (swaminathan-vasudevan) → Mike Smith (michael-smith6)
Changed in neutron:
assignee: Mike Smith (michael-smith6) → Carl Baldwin (carl-baldwin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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

commit 7e65529923953c815e77d726b56f94635367532f
Author: Swaminathan Vasudevan <email address hidden>
Date: Tue Sep 2 09:48:54 2014 -0700

    Add validation for the dvr router l3agent binding

    Validates dvr router add/remove cases to the
    l3agents running in different dvr modes such
    as "dvr_snat" and "dvr" mode.

    In the case of distributed virtual routers it
    does not make sense to move distributed routers
    from one "dvr" node to another "dvr" node.

    Also added some unit tests that addresses the
    validation of legacy routers to dvr agent and
    dvr routers to legacy agent.

    Partial-Bug: #1369721

    Change-Id: I008dda6abaf25094b11f3730b951e096dd3b7025

Changed in neutron:
assignee: Carl Baldwin (carl-baldwin) → Mike Smith (michael-smith6)
Kyle Mestery (mestery)
Changed in neutron:
milestone: none → liberty-1
Changed in neutron:
assignee: Mike Smith (michael-smith6) → Ila Palanisamy (ilavajuthy-palanisamy)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/191718

Changed in neutron:
assignee: Ila Palanisamy (ilavajuthy-palanisamy) → ZongKai LI (lzklibj)
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-1 → liberty-2
Changed in neutron:
assignee: ZongKai LI (lzklibj) → Ila Palanisamy (ilavajuthy-palanisamy)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by ZongKai LI (<email address hidden>) on branch: master
Review: https://review.openstack.org/191718

Changed in neutron:
assignee: Ila Palanisamy (ilavajuthy-palanisamy) → Oleg Bondarev (obondarev)
Changed in neutron:
assignee: Oleg Bondarev (obondarev) → Swaminathan Vasudevan (swaminathan-vasudevan)
Changed in neutron:
assignee: Swaminathan Vasudevan (swaminathan-vasudevan) → Oleg Bondarev (obondarev)
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-2 → liberty-3
Changed in neutron:
assignee: Oleg Bondarev (obondarev) → Ryan Moats (rmoats)
Changed in neutron:
assignee: Ryan Moats (rmoats) → Oleg Bondarev (obondarev)
Revision history for this message
Ryan Moats (rmoats) wrote :

launchpad has missed this: https://review.openstack.org/#/c/122024/ is now the patch set for this defect

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Oleg Bondarev (<email address hidden>) on branch: master
Review: https://review.openstack.org/123815
Reason: Abandoning due to the reason described above

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

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

commit 7cfcbac066842e2d1dd3578e9eb5801bb4a1af34
Author: Michael Smith <email address hidden>
Date: Tue Sep 16 17:00:05 2014 -0700

    manual add/remove router for dvr_snat agent

    This patch is to address the failure of manual move of
    dvr_snat routers from one service node to another.

    The entry in the csnat_l3_agent_bindings table is now removed
    during the router to agent unbind operation.
    Appropriate notification is now sent to the agent to remove
    snat/qrouter namespace.

    There were other places in the code
    that needed to examine the snat binding table to
    check if updates were required -
    validate_agent_router_combination() and
    check_agent_router_scheduling_needed().

    Additionally, schedule_routers() was made optional
    within the rpc _notification path since it can
    override the manual move being attempted.

    Change-Id: Iac9598eb79f455c4ef3d3243a96bed524e3d2f7c
    Closes-Bug: #1369721
    Co-Authored-By: Ila Palanisamy <email address hidden>
    Co-Authored-By: Oleg Bondarev <email address hidden>

Changed in neutron:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/pecan)

Fix proposed to branch: feature/pecan
Review: https://review.openstack.org/218710

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/pecan)
Download full text (155.6 KiB)

Reviewed: https://review.openstack.org/218710
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2c5f44e1b3bd4ed8a0b7232fd293b576cc8c1c87
Submitter: Jenkins
Branch: feature/pecan

commit f35d1c5c50dccbef1a2e079f967b82f0df0e22e9
Author: Adelina Tuvenie <email address hidden>
Date: Thu Aug 27 02:27:28 2015 -0700

    Fixes wrong neutron Hyper-V Agent name in constants

    Change Id03fb147e11541be309c1cd22ce27e70fadc28b5 moved the
    AGENT_TYPE_HYPERV constant from common.constants to
    plugins.ml2.drivers.hyperv.constants but change the value of the
    constant from 'HyperV agent' to 'hyperv'. This patch changes
    the name back to 'HyperV agent'

    Change-Id: If74b4b2a84811e266c8b12e70bf6bfe74ed4ea21
    Partial-Bug: #1487598

commit de604de334854e2eb6b4312ff57920564cbd4459
Author: OpenStack Proposal Bot <email address hidden>
Date: Sun Aug 30 01:39:06 2015 +0000

    Updated from global requirements

    Change-Id: Ie52aa3b59784722806726e4046bd07f4a4d97328

commit f0415ac20eaf5ab4abb9bd4839bf6d04ceee85d0
Author: armando-migliaccio <email address hidden>
Date: Fri Aug 28 13:53:04 2015 -0700

    Revert "Add support for unaddressed port"

    This implementation may expose a vulnerability where a malicious
    user can sieze the opportunity of a time window where a port
    may land unaddressed on a shared network, thus allowing him/her
    to suck up all the tenant traffic he/she wants....oh the shivers.

    This reverts commit d4c52b7f5a36a103a92bf9dcda7f371959112292.

    Change-Id: I7ebdaa8d3defa80eab90e460fde541a5bdd8864c

commit 013fdcd2a6d45dbe4de5d6e7077e5e9b60985ef9
Author: Assaf Muller <email address hidden>
Date: Fri Aug 28 16:41:07 2015 -0400

    Improve logging upon failure in iptables functional tests

    This will help us nail down a more accurate and efficient logstash
    query.

    Change-Id: Iee4238e358f7b056e373c7be8d6aa3202117a680
    Related-Bug: #1478847

commit 622dea818d851224a43d5276a81d5ce8a6eebb76
Author: Ivar Lazzaro <email address hidden>
Date: Mon Aug 17 17:17:42 2015 -0700

    handle gw_info outside of the db transaction on router creation

    Move the gateway interface creation outside the DB transaction
    to avoid lock timeout.

    Change-Id: I5a78d7f32e8ca912016978105221d5f34618af19
    Closes-bug: 1485809

commit 5b27d290a0a95f6247fc5a0fe6da1e7d905e6b2d
Author: Assaf Muller <email address hidden>
Date: Wed Aug 26 10:07:03 2015 -0400

    Remove ml2 resource extension success logging

    This is the cause of a tremendous amount of logs, for no
    perceivable gain. A normal dvr run in the gate shows this debug
    message around 120K times, which is way too much.

    Closes-Bug: #1489952

    Change-Id: I26fca8515d866a7cc1638d07fa33bc04479ae221

commit 8d3faf549cba2f58c872ef4121b2481e73464010
Author: huangpengtao <email address hidden>
Date: Fri Aug 28 23:20:46 2015 +0800

    Replace "prt" variable by "port"

    the local variable prt is meaningless,
    and port is used popular.

    Change-Id: I20849102cf5b4d84433c46791b4b1e2a22dc4739

commit ee374e7a5f4dea538fcd942f5...

tags: added: in-feature-pecan
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-3 → 7.0.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/243732

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

Reviewed: https://review.openstack.org/243732
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=30604c17e9eb3d7b8ed31fd2d6cd301b8984459e
Submitter: Jenkins
Branch: stable/kilo

commit 30604c17e9eb3d7b8ed31fd2d6cd301b8984459e
Author: Michael Smith <email address hidden>
Date: Tue Sep 16 17:00:05 2014 -0700

    manual add/remove router for dvr_snat agent

    This patch is to address the failure of manual move of
    dvr_snat routers from one service node to another.

    The entry in the csnat_l3_agent_bindings table is now removed
    during the router to agent unbind operation.
    Appropriate notification is now sent to the agent to remove
    snat/qrouter namespace.

    There were other places in the code
    that needed to examine the snat binding table to
    check if updates were required -
    validate_agent_router_combination() and
    check_agent_router_scheduling_needed().

    Additionally, schedule_routers() was made optional
    within the rpc _notification path since it can
    override the manual move being attempted.

    Conflicts:
            neutron/db/l3_agentschedulers_db.py

    Co-Authored-By: Ila Palanisamy <email address hidden>
    Co-Authored-By: Oleg Bondarev <email address hidden>

    Change-Id: Iac9598eb79f455c4ef3d3243a96bed524e3d2f7c
    Closes-Bug: #1369721
    (cherry picked from commit 7cfcbac066842e2d1dd3578e9eb5801bb4a1af34)

tags: added: in-stable-kilo
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.