El DHCP de la red Nova no libera IP con force_dhcp_release=True

El DHCP de la red Nova no libera IP con force_dhcp_release=True

El problema que estoy viendo es que cuando nova-network llama a dhcprelease al finalizar la instancia (debido aforcehcp_release=Verdadero) la dirección no siempre se publica (syslog no muestra la solicitud DHCPRELEASE). Luego, más adelante, si nova asignó a una nueva instancia la misma dirección IP que fuenoliberada, la solicitud DHCP se ignora y un error en el syslog mostrará que dnsmasq vio la solicitud y la rechazó porque la dirección IP ya estaba arrendada a una dirección MAC diferente (la que pertenece a la VM antigua y terminada).

Algunos detalles sobre mi configuración:

  • liberación de juno
  • red heredada (nova)
  • ubuntu 14.04
  • DHCP manejado por DNSMASQ.

Cuando los hosts pueden obtener su dirección IP del servidor DHCP, todo parece funcionar perfectamente bien. Parece que el error se produce solo cuando una IP no se puede liberar y bloquea su uso posterior para futuras máquinas virtuales.

Revisé si había errores en mis registros de nova-* y no veo ninguno.Los únicos errores están en mi syslog cuando dnsmasq se niega a ceder la dirección IP debido a direcciones MAC en conflicto..

Cualquier información o sugerencia será muy apreciada.

Respuesta1

Todavía no puedo encontrar la solución perfecta para este problema, pero encontré el área del problema y tengo alguna solución.

1. Área problemática:El problema radica en dnsmasq, no en OpenStack. He observado que OpenStack ejecuta la función "dhcprelease" después de finalizar la instancia cada vez, pero dnsmasq responde solo a unas pocas solicitudes de dhcprelease.

2. Solución alternativa:El tiempo de concesión predeterminado de cualquier IP es de 24 horas (86400 segundos), lo que significa que cada instancia debe renovar su concesión cada 24 horas. Si la instancia no renueva su arrendamiento de IP, entonces dnsmasq considerará que ese arrendamiento no es válido y liberará la IP obtenida mediante ese arrendamiento.
He reducido ese contrato de arrendamiento a 3 minutos (180 segundos). Por lo tanto, ningún contrato de arrendamiento podrá conservar la IP más de 3 minutos después de finalizar la instancia.

Pasos para reducir el tiempo de arrendamiento a 3 minutos:

Realice los siguientes pasos en todos los nodos informáticos uno por uno.

  1. Abra un archivo /etc/nova/nova.conf

vi /etc/nova/nova.conf

  1. En la sección [DEFAULT] configure dhcp_lease_time.
    Es en segundos.

[POR PREDETERMINADO]
...
dhcp_lease_time = 180

  1. Guarde y salga del archivo.

  2. Elimine el proceso dnsmasq para cada puente en el servidor. (O también puede realizar Killall si dnsmasq no se utiliza para ningún otro propósito)

matar (O matar a todos los dnsmasq)

  1. Reiniciar servicios.

reiniciar nova-api-metadatos
reiniciar nova-compute
reiniciar nova-network

información relacionada