neutron/neutron/agent
Gaudenz Steinlin 6bc1c00d66 Copy existing IPv6 leases to generated lease file
Because the DHCP agent does not know the IAID (identity association
identifier) of assigned IPv6 addresses it's not possible to generate the
lease file including IPv6 leases. Because of this IPv6 addresses are
excluded when generating the lease file in case of DHCP agent restarts.
This causes DHCPv6 clients to fail to RENEW their lease and to go
through a full address discovery cycle with possible short connectivity
disruption.

This commit copies the existing IPv6 leaes from an already existing
lease file if present. While this does not allow for DHCP agent
failover, this is still better than just skipping the IPv6 addresses.

A lease file without the IPv6 addresses is still generated if an agent
is migrated to a different host.

This commit complements the fix implemented in
Ib1b2f284ab81f1c4af7b08b5257b45a3f6e79c3e which just skips the IPv6
leases as otherwise the lease file would be invalid and all leases would
be lost. It does not change the behavior for still valid IPv4 leases.

With this issue fixed an additional fix is required to not loose DHCPv6
leases when the agent restarts dnsmasq. Currently the DHCP agent
regenerates all configuration files on restart. This means that DHCPv6
leases are lost as they can't be regenerated. This changes the agent to
only delete the config files if the agent's ports are also removed.

Closes-Bug: #1722126
Related-Change: Ib1b2f284ab81f1c4af7b08b5257b45a3f6e79c3e

Change-Id: I40761b30563749251b9d74731bbe7a80a124da89
2021-06-24 22:42:09 +02:00
..
common Make default hypervisor hostname compatible with libvirt 2021-06-15 09:39:03 +09:00
dhcp [DHCP] Fix cleanup_deleted_ports method 2021-06-04 12:09:07 +03:00
l2 Add the DHCPReponder for IPv6 2021-06-10 09:11:30 +08:00
l3 Force to close http connection after notify about HA router status 2021-06-18 08:34:00 +00:00
linux Copy existing IPv6 leases to generated lease file 2021-06-24 22:42:09 +02:00
metadata Add locks for setting iptables rules in l3 and metadata agents 2021-03-31 10:02:16 +00:00
ovn [ovn][metadata] Remove metadata readiness mechanism 2021-06-03 16:09:31 +00:00
ovsdb Remove "ovs-vsctl" support from rootwrap 2020-11-23 16:23:36 +00:00
windows Remove rootwrap execution (1) 2021-02-06 16:22:43 +00:00
__init__.py Empty files should not contain copyright or license 2014-10-20 00:50:32 +00:00
agent_extensions_manager.py Make code follow log translation guideline 2017-08-14 02:01:48 +00:00
dhcp_agent.py Set process name for agents 2020-07-01 12:28:29 +02:00
firewall.py [ovs fw] Restrict IPv6 NA and DHCP(v6) IP and MAC source addresses 2021-04-13 15:15:41 +02:00
l3_agent.py Set process name for agents 2020-07-01 12:28:29 +02:00
metadata_agent.py Provide the rpc_response_max_timeout parameter to metadata-agent 2021-03-23 18:08:44 +09:00
resource_cache.py Ignore first local port update notification 2019-07-04 12:06:11 +00:00
rpc.py SR-IOV agent can handle ports with same MAC addresses 2021-06-03 16:02:18 +00:00
securitygroups_rpc.py Allow sharing of address groups via RBAC mechanism 2021-03-01 18:28:31 -06:00