Firewall-Gruppen, -Policies und -Regeln (FWaaS v2).
Go OVN-ACLsopenkeel-neutron-fwaas
Das Modul
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
Auszug aus openkeel-neutron-fwaas/README.md (auf Englisch).
REST-API
23 Operationen der Original-REST-API (Routen und Body-Aktionen) und ihr Status in OpenKeel.
Neu aufgezeichnete Python-FWaaS-Tests werden gegen den Go-Dienst wiedergegeben, und der OVN-Treiber wird Schritt für Schritt mit dem echten Python-Treiber auf einem echten Northbound verglichen.
Replay aufgezeichneter Austausche
E2E-Replay der neu aufgezeichneten Tests
691 Austausche aus 135 Python-Tests, mit der Identität jeder Anfrage neu aufgezeichnet, liefern dieselben Antworten.
Ausführung
make e2e-strict, auf go-mysql-server und auf MariaDB 11.4.
Letztes Ergebnis 689 / 691 (2026-10-31); die 2 Unterschiede betreffen einen Pfad außerhalb der Erweiterung, in beiden Fällen 404.
Kontingente, Regeleinfügung, Standardgruppen und Ports halten über drei Knoten.
Ausführung
test/galera auf einem Cluster mit 3 Knoten, Kontingent- und insert_rule-Schreibvorgänge über einen Knoten.
Letztes Ergebnis 4 Tests bestanden, 3 von 3 Durchläufen. Offener Befund: Bei Read-Modify-Write über mehrere Knoten gehen in 3 % bis 18 % der Durchläufe Aktualisierungen verloren.
FWaaS v2 behält seine API nur auf dem OVN-Treiber; damit entfallen der Agent-Pfad mit iptables, conntrack und NFLOG, der Plugin-Loader und das manuelle Sync-Werkzeug.
Von der Cloud-Native-Plattform übernommen
Agent-Treiber, iptables, conntrack und NFLOG
Übernommen von OVN
Warum es ausgelassen wurde
Firewall-Regeln sind OVN-ACLs und Port_Groups, die der Dienst schreibt; die Erweiterungen der L2- und L3-Agenten und ihre RPC-Topics werden mit OVN nicht benötigt.
Warum die Lösung nicht beeinträchtigt ist
Firewall-Gruppen gelten für Router-Ports wie beim OVN-Treiber von Python; VM-Ports werden auch dort abgewiesen (409). NFLOG-Netzwerkprotokollierung ist nicht verfügbar.
Hier ist nur aufgeführt, was bewusst ausgelassen wurde; noch nicht erledigte Arbeit steht in den Known gaps der docs/CONFORMANCE.md des Moduls. Alle Module
Neutron-FWaaS-Interaktionen
Dienstansicht, vom Diagramm-Skill aus dem OpenKeel-Modell generiert.