neutron/releasenotes/notes/fip-janitor-53f0d42a7471c5ed.yaml
Kevin Benton 6948467b77 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
2016-12-07 11:38:29 -05:00

21 lines
832 B
YAML

---
prelude: >
Due to changes in internal L3 logic, a server
crash/backend failure during FIP creation may
leave dangling ports attached on external
networks. These ports can be identified by a
'PENDING' device_id. The neutron server will
attempt a cleanup periodically to address the issue.
other:
- If a floating IP creation gets interrupted by
a server crash or backend failure, a port can
be left behind on the external network. Neutron
will now automatically clean these up after
approximately 10 minutes. This time value is not
configurable.
- Ports in this state will be visible on the external
network to admins, and will have a device_id value
of 'PENDING'. They can also be removed manually by
an admin if waiting for the periodic job to do it is
undesired.