floating IP creation can now leave orphaned floating IP ports

Bug #1648098 reported by Kevin Benton
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Brian Haley

Bug Description

Do to changes in the floating IP logic in https://review.openstack.org/#/c/396013/ to correct transactional behavior for core plugin operations in the L3 code, a floating IP creation process can leave orphaned floating IP ports if the server dies after the port transaction but before the floating IP transaction.

These ports will not be visible to the tenant since they are on the external network. They are identifiable with a device_id of 'PENDING'.

Changed in neutron:
assignee: nobody → Kevin Benton (kevinbenton)
Changed in neutron:
status: New → In Progress
Changed in neutron:
importance: Undecided → Medium
Changed in neutron:
assignee: Kevin Benton (kevinbenton) → Brian Haley (brian-haley)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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

commit 6948467b770df68cb96877f3e0e710650ad63fd4
Author: Kevin Benton <email address hidden>
Date: Mon Nov 14 19:05:16 2016 -0800

    Add janitor to cleanup orphaned fip ports

    This adds a janitor worker to the L3 DB module that
    will run every 5 minutes looking for floating IP ports
    with the device_id of 'PENDING'. If it finds any, it
    will keep track of the port ID to see if any stay in
    'PENDING' with the next iteration.

    If the device ID is still PENDING after 5 minutes, it
    means one of two things has happened. Either the server
    died after creating the floating IP port, but before
    creating the floating IP itself; or, it died after creating
    the floating IP port and the floating IP record, but before
    updating the device_id of the floating IP port to the
    floating IP ID.

    The janitor handles both cases by deleting the floating IP
    port if it has no associated floating IP and by updating
    the floating IP port device ID if it does have an associated
    floating IP.

    Related-Bug: #1540844
    Closes-Bug: #1648098
    Change-Id: I684a822553a5a0c54513ca7d20ccaf3c74180593

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 10.0.0.0b2

This issue was fixed in the openstack/neutron 10.0.0.0b2 development milestone.

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.