6948467b77
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
21 lines
832 B
YAML
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.
|