Delete the FloatingIP Agent Gateway Port only when External Network is deleted and also delete the port based on Agents decision.

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

Bug Description

FloatingIP Agent Gateway port is created on the nodes to substitute for the Gateway port, since gateway port is currently residing on the Network Node.
So it makes sense for the server to delete the FloatingIP Agent Gateway Port only when the External Gateway Port is deleted for the Router.

This would reduce the complexity in the Server side.

We should introduce an RPC call for the Floatingip Agent Gateway ports to be removed. The Agent should take necessary action to delete the FloatingIP Agent Gateway Port when the "last_fip_count" comes down to 1 in the agent.

So this will be completely maintained by the agent.

This would improve the control plane performance significantly for the Floatingip addition and deletion.

Changed in neutron:
assignee: nobody → Swaminathan Vasudevan (swaminathan-vasudevan)
status: New → In Progress
Changed in neutron:
assignee: Swaminathan Vasudevan (swaminathan-vasudevan) → Lynn (lynn-li)
Changed in neutron:
assignee: Lynn (lynn-li) → Swaminathan Vasudevan (swaminathan-vasudevan)
Changed in neutron:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

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

commit d5aa1659f56601d8f4d5e17273d5ade7a0e202dd
Author: Swaminathan Vasudevan <email address hidden>
Date: Mon Jun 22 16:33:32 2015 -0700

    Delete FIP agent gateway port with external gw port

    FIP agent gateway ports are associated with external
    networks and specific host.

    Today FIP agent gateway ports are deleted for
    every floatingip associate and disassociate. This
    introduces race conditions in the port delete and also
    un-necessary access to the db.

    This patch will delete the FIP agent gateway port when
    the last gateway port of the external network is deleted.

    The child patch linked to this parent patch will clean
    up the FIP agent gateway port delete when associate,
    disassociate and delete of floatingip happens.

    This should also cover the case when an agent for some
    reason was unable to request agent gw port delete.
    (agent died).

    Related-Bug: #1408855
    Related-Bug: #1468007
    Related-Bug: #1450982

    Change-Id: I6637a771e6a6ce74e848cb74b779043e16a54a84

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

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

commit 639f1893dde0d393a97b29ca5309dba716831a7f
Author: Swaminathan Vasudevan <email address hidden>
Date: Mon Jun 22 16:50:43 2015 -0700

    Add RPC command and delete if last FIP on Agent

    Today FloatingIP Agent gateway port is deleted and
    re-created for DVR based routers based on floatingip
    association and disassociation with VMs on compute
    nodes by the plugin.

    This introduces lot more strain on the plugin to
    create and delete these ports when VMs come up and
    get deleted that are associated with FloatingIps.

    This patch will introduce an RPC call for the agent
    to initiate a agent gateway port delete.

    Also the agent will look for the last floatingip that
    it manages, and if condition satisfies, the agent will
    request the server to remove the FloatingIP Agent
    Gateway port.

    Change-Id: I47694b2ee60c363e2fe59ad5f7d168252da08a45
    Related-Bug: #1468007
    Related-Bug: #1408855
    Related-Bug: #1450982

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

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

commit cd45f16442b7c56c4876bef527c9c83ea0907c40
Author: Swaminathan Vasudevan <email address hidden>
Date: Mon Jun 22 17:17:15 2015 -0700

    Cleanup the fip agent gateway port delete routines

    Based on the parent patch, right now the Floatingip
    agent gateway ports will only be deleted when the
    last gateway port associated with the external
    network is deleted.

    The Floatingip agent gateway port will not be deleted
    for every floatingip dis-association and deletion.

    The Floatingip agent gateway port was created on all
    nodes as a substitute for the gateway port. So it
    makes sense to delete those ports only when the last
    gateway port on the external network is deleted.

    The agent should be able to delete the floatingip agent
    gateway port on a given external network when it is not
    required.

    This would substantially reduce the burden on the server
    to validate, read and delete the port form the DB.

    Change-Id: Ie561b19a2e58a2a563d79b75421e9e24c70f36f9
    Closes-Bug: #1468007
    Closes-Bug: #1408855
    Closes-Bug: #1450982

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/224334

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

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

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

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

commit fe236bdaadb949661a0bfb9b62ddbe432b4cf5f1
Author: Miguel Angel Ajo <email address hidden>
Date: Thu Sep 3 15:40:12 2015 +0200

    No network devices on network attached qos policies

    Network devices, like internal router legs, or dhcp ports
    should not be affected by bandwidth limiting rules.

    This patch disables application of network attached policies
    to network/neutron owned ports.

    Closes-bug: #1486039
    DocImpact

    Change-Id: I75d80227f1e6c4b3f5fa7762b8dc3b0c0f1abd46

commit db4a06f7caa20a4c7879b58b20e95b223ed8eeaf
Author: Ken'ichi Ohmichi <email address hidden>
Date: Wed Sep 16 10:04:32 2015 +0000

    Use tempest-lib's token_client

    Now tempest-lib provides token_client modules as library and the
    interface is stable. So neutron repogitory doesn't need to contain
    these modules.
    This patch makes neutron use tempest-lib's token_client and removes
    the own modules for the maintenance.

    Change-Id: Ieff7eb003f6e8257d83368dbc80e332aa66a156c

commit 78aed58edbe6eb8a71339c7add491fe9de9a0546
Author: Jakub Libosvar <email address hidden>
Date: Thu Aug 13 09:08:20 2015 +0000

    Fix establishing UDP connection

    Previously, in establish_connection() for UDP protocol data were sent
    but never read on peer socket. That lead to successful read on peer side
    if this connection was filtered. Having constant testing string masked
    this issue as we can't distinguish to which test of connectivity data
    belong.

    This patch makes unique data string per test_connectivity() and
    also makes establish_connection() to create an ASSURED entry in
    conntrack table. Finally, in last test after firewall filter was
    removed, connection is re-established in order to avoid troubles with
    terminated processes or TCP continuing sending packets which weren't
    successfully delivered.

    Closes-Bug: 1478847
    Change-Id: I2920d587d8df8d96dc1c752c28f48ba495f3cf0f

commit e6292fcdd6262434a7b713ad8802db6bc8a6d3dc
Author: YAMAMOTO Takashi <email address hidden>
Date: Wed Sep 16 13:20:51 2015 +0900

    ovsdb: Fix a few docstring

    Change-Id: I53e1e21655b28fe5da60e58aeeb7cbbd103ae014

commit c22949a4449d96a67caa616290cf76b67b182917
Author: fumihiko kakuma <email address hidden>
Date: Wed Sep 16 11:52:59 2015 +0900

    Remove requirements.txt for the ofagent mechanism driver

    It is no longer used.

    Related-Blueprint: core-vendor-decomposition
    https://blueprints.launchpad.net/neutron/+spec/core-vendor-decomposition

    Change-Id: Ib31fb3febf8968e50d86dd66e1e6e1ea2313f8ac

commit d1d4de19d85f961d388c91e70f31b3bafec418c5
Author: Kevin Benton <email address hidden>
Date: Thu Sep 3 20:25:57 2015 -0700

    Always return iterables in L3 get_candidates

    The caller of this function expects iterables.

    Closes-Bug: #1494996
    Change-Id: I3d103e63f4e127a77268502415c0ddb0d804b54a

commit 1ad6ac448067306...

tags: added: in-feature-pecan
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (feature/pecan)

Change abandoned by Doug Wiegley (<email address hidden>) on branch: feature/pecan
Review: https://review.openstack.org/224334

Thierry Carrez (ttx)
Changed in neutron:
milestone: none → liberty-rc1
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.