Grupos, políticas y reglas de firewall (FWaaS v2).
Go ACL de OVNopenkeel-neutron-fwaas
El módulo
OpenKeel implementation in Go of OpenStack neutron-fwaas (neutron-fwaas-api), generated from the reverse-specification of branch stable/2026.2 by the generate-go-from-spec skill. It serves the FWaaS v2 API (/v2.0/fwaas) and programs firewall groups as OVN Port_Groups and stateless ACLs, replacing the firewall_v2 service plugin and its OVN driver: same routes, status codes, error bodies and policies, same NB rows. It runs beside openkeel-neutron, on its database and its OVN; clients reach it through a proxy in openkeel-neutron: see docs/NEUTRON-INTEGRATION.md. What is reproduced and what differs is in docs/CONFORMANCE.md; the security checklist is in docs/SECURITY.md.
Go module: github.com/openkeel/openkeel-neutron-fwaas
Binary: neutron-fwaas-api (API on port 9696, health and metrics on 9090)
Configuration: YAML, see config/config.example.yaml
Setting up a development environment, the database and the tests: docs/GETTING-STARTED.md
Database schema, migrations and upgrades: docs/DATABASE.md
Extracto de openkeel-neutron-fwaas/README.md (en inglés).
API REST
23 operaciones de la API REST original (rutas y acciones de cuerpo) y su estado en OpenKeel.
Los tests FWaaS de Python regrabados se reproducen contra el servicio Go, y el driver OVN se compara paso a paso con el driver real de Python sobre un Northbound real.
Replay de los intercambios grabados
Replay E2E de los tests regrabados
691 intercambios de 135 tests de Python, regrabados con la identidad de cada petición, dan las mismas respuestas.
Ejecución
make e2e-strict, en go-mysql-server y en MariaDB 11.4.
Último resultado 689 / 691 (2026-10-31); las 2 diferencias son una ruta fuera de la extensión, 404 en ambos casos.
Las cuotas, la inserción de reglas, los grupos por defecto y los puertos se mantienen a través de tres nodos.
Ejecución
test/galera en un clúster de 3 nodos, escrituras de cuota e insert_rule a través de un solo nodo.
Último resultado 4 tests superados, 3 ejecuciones de 3. Hallazgo abierto: en lectura-modificación-escritura multinodo se pierden actualizaciones en el 3 % al 18 % de las ejecuciones.
FWaaS v2 conserva su API solo en el driver OVN, por lo que desaparecen la ruta de agente con iptables, conntrack y NFLOG, el cargador de plugins y la herramienta de sincronización manual.
Asumido por la plataforma Cloud Native
Driver de agente, iptables, conntrack y NFLOG
Asumido por OVN
Por qué se excluyó
Las reglas de firewall son ACL y Port_Groups de OVN escritos por el servicio; las extensiones de los agentes L2 y L3 y sus topics RPC no son necesarias con OVN.
Por qué la solución no se ve afectada
Los grupos de firewall se aplican a los puertos de router como en el driver OVN de Python; los puertos de VM también se rechazan allí (409). El registro de red NFLOG no está disponible.
Aquí solo figura lo que se excluyó por diseño; el trabajo aún no realizado está en los Known gaps del docs/CONFORMANCE.md del módulo. Todos los módulos
Interacciones Neutron-FWaaS
Vista de servicio generada por la skill de diagramas a partir del modelo de OpenKeel.