fix(just): pre-create cilium connectivity-test namespaces privileged#212
Merged
Conversation
`just smoke` always failed at smoke-cilium. cilium-cli creates its test namespaces (`cilium-test-1` and the `cilium-test-ccnp*` pair for the CiliumClusterwideNetworkPolicy tests) with no PodSecurity labels, so they inherit the cluster-wide default Talos ships (`enforce: baseline`). The test fixtures need NET_RAW, hostNetwork, and hostPort — all forbidden under baseline — so every pod is rejected at admission and cilium-cli times out on zero replicas. cilium-cli's `--namespace-labels` flag only labels the primary test namespace, not the auxiliary `ccnp` ones. Pre-create all three as `privileged` before the run instead; cilium-cli reuses an existing namespace as-is. Version-independent — surfaced verifying the Cilium 1.19.4 upgrade (#198). Closes: #211 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
c89e2f2 to
fc0677c
Compare
This was referenced May 17, 2026
jvcorredor
added a commit
that referenced
this pull request
May 17, 2026
…215) After #212 made `cilium connectivity test` runnable, `just smoke` still exited 1 on two checks that are unreliable on this homelab: - no-unexpected-packet-drops trips on ambient VLAN-tagged LAN traffic that Cilium drops by design ("VLAN traffic disallowed by VLAN filter") — not cluster-pod traffic, and the counter is cumulative. - check-log-errors scans the full agent log and re-flags benign agent-startup transients (e.g. a one-off cilium-health socket poll racing agent start). Exclude both via `--test '!...'` so `just smoke` is a clean pass/fail gate. A full conformance pass remains available by running `cilium connectivity test` directly without the excludes. Closes: #214 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
just smokealways failed at thesmoke-ciliumstep. cilium-cli creates its test namespaces —cilium-test-1plus thecilium-test-ccnp*pair for the CiliumClusterwideNetworkPolicy tests — with no PodSecurity labels, so they inherit the cluster-wide default Talos ships (enforce: baseline). The connectivity-test fixtures requireNET_RAW,hostNetwork, andhostPort, all forbidden underbaseline:Every test pod was rejected at admission, the deployments never got a replica, and cilium-cli timed out (
replicas count is zero).Fix
The
smoke-ciliumrecipe now pre-creates all three test namespaces labelledprivilegedbefore invokingcilium connectivity test; cilium-cli reuses an existing namespace as-is.cilium-cli's
--namespace-labelsflag was tried first but only labels the primary test namespace — the auxiliarycilium-test-ccnp*namespaces still inheritedbaselineand failed. Pre-creating covers all of them uniformly. The namespace names track cilium-cli's convention for the default--test-concurrency 1.create --dry-run=client | apply+label --overwriteare idempotent, so a namespace left over from a prior failed run is handled cleanly.Context
Version-independent — this recipe would fail identically on any Cilium release. It surfaced while verifying the Cilium 1.19.4 upgrade (#198): the upgrade is healthy, but its
just smokeacceptance criterion was not actually satisfiable as the recipe stood.Testing
just --listrenderssmoke-ciliumwith its intended one-line description.just smokerun against therockinghamcluster to confirm the whole matrix passes is in progress.Closes: #211
🤖 Generated with Claude Code