Cilium image BPF patches have no runtime test

Offen
#4,784 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
65/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
go
Bereich
testing

Rechercherichtung

Start from the BPF patches in packages/system/cilium/images/cilium/patches and existing E2E tests for kubeovn-cilium variants. Add a test case verifying that a pod with an HTTP readiness probe under a CiliumNetworkPolicy allowing only fromEntities: [cluster] becomes Ready. Add a second case ensuring fromEntities: [world] ingress deny does not block host-network clients calling same-node pods. Run the E2E suite to confirm the tests catch the v1.20 regression.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

triage/needs-triage

Nothing in CI checks that the BPF patches we carry on the Cilium image actually do their job on a running cluster. The image build only checks that each patch applies with --fuzz=0 and leaves the expected number of markers in the source. If a patch applies cleanly but stops doing what it should, the build stays green.

This bit us with the v1.20 bump. On the kube-ovn chained variants, host traffic to a pod on the same node started arriving as world (#4781), so kubelet probes failed under default-deny ingress policies and the API server timed out calling webhooks on its own node. The only signal was admission timeouts in E2E reports, and finding the cause took a live cluster and pwru. #3343 now carries a patch for it under packages/system/cilium/images/cilium/patches, next to the IPv6 passthrough patch, and neither has a test that would catch it breaking.

A small E2E case on a kubeovn-cilium variant would cover the current regression: a pod with an HTTP readiness probe under a CiliumNetworkPolicy that allows only fromEntities: [cluster], which has to become Ready. A second step could check that a fromEntities: [world] ingress deny does not block a host-network client calling a pod on the same node. The IPv6 passthrough patch would need its own case on an IPv6 fabric, which may not be practical in CI.

Vorherrschende Sprache
Go
Sterne
2.2k
Forks
209
Ø Merge
2 T. 18 Std.
Gemergte PRs (30 T.)
151

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus cozystack/cozystack

Alle Issues in cozystack/cozystack

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.