Aplicar un cambio en el plano de control no es lo mismo que servirlo. Cada nodo de borde que sirve una zona consulta si hay configuración nueva, la aplica e informa de lo que ha aplicado. La propagación compara los dos lados:
- Versión deseada: la versión actual de la zona, la que deberían servir todos los nodos.
- Versión aplicada: para cada nodo, la versión de la zona en la última configuración que ese nodo ha confirmado.
Tiempos
Un nodo aplica un cambio en un intervalo de consulta, unos 30 segundos. El plano de control solo se entera en la siguiente consulta del nodo, así que la confirmación llega tras unos dos intervalos, aproximadamente 60 segundos. Que un nodo aparezca pendiente durante un minuto justo después de un cambio es normal.
Estados de los nodos
| Estado | Significado |
|---|---|
converged | El nodo ha aplicado la versión deseada (o una posterior). |
pending | Aún no la ha aplicado, desde hace menos de 60 segundos. |
lagging | 60 segundos o más sin ponerse al día. Si sigue así, puede que el nodo esté rechazando su configuración; la monitorización de OpenWAF tiene el motivo. |
offline | El nodo lleva más de 3 minutos sin consultar, o no lo ha hecho nunca. |
revoked | El nodo se ha retirado de la flota y no sirve nada. |
retiring | El nodo ya no tiene que servir la zona, pero la configuración que aplicó todavía la incluye. Desaparece de la lista cuando aplica una sin la zona. |
Cada nodo indica además applied_version, pending_since (cuándo se creó la primera versión que aún no ha aplicado), lag_seconds (cuánto lleva pendiente o, una vez al día, cuánto tardó) y last_seen_at.
Esperar a la propagación
La CLI puede esperar a que un cambio llegue a todos los nodos: añade --wait (120 segundos por defecto) o --wait=90s a cualquier cambio de una zona. Enseña cada nodo a medida que confirma y termina con el código de salida 4 si algún nodo no se ha puesto al día a tiempo. Si la zona vuelve a cambiar mientras espera a que un nodo se retire, se detiene con el código 3.
openwaf-cloud ctl records set example.com www/A content=203.0.113.20 --reason "Mover www" --yes --waitPaso a paso, desde cada interfaz: Comprobar la propagación.