Skip to content

[DOCS#CORE-13923]: Fix the BIRD probe edits for VXLAN-only manifests - #3177

Merged
ctauchen merged 2 commits into
tigera:mainfrom
caseydavenport:casey-vxlan-probe-flags
Nov 2, 2026
Merged

ctauchen merged 2 commits into
tigera:mainfrom
caseydavenport:casey-vxlan-probe-flags

Conversation

@caseydavenport

@caseydavenport caseydavenport commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Product Version(s):

Calico Open Source next and 3.33.

Issue:

Bug CORE-13923 (VXLAN probe crash-loop)

Link to docs preview:

getting-started/kubernetes/self-managed-onprem/config-options, "Switching from IP-in-IP to VXLAN" section, in next and 3.33.

SME review:

  • An SME has approved this change.

DOCS review:

  • A member of the docs team has approved this change.

Additional information:

This PR fixes the VXLAN-only steps on the manifest install options page, which leave calico-node crash-looping on v3.33. Since PR 12225 (single calico binary), the probes run calico component node health with double-dash flags, so the - -bird-ready and - -bird-live lines the page says to comment out no longer exist. Users leave the BIRD checks in, BIRD never starts, and every calico-node fails liveness and readiness.

  • Probe edit. The step now names the - --bird-live and - --bird-ready lines, and the YAML example shows the probes after the edit (Felix checks only) rather than the lines to remove. This also fixes the old example's misindented - -bird-ready line.
  • Older releases. One sentence notes that earlier manifests ran /bin/calico-node with single-dash flags, for anyone whose script matches the old form.
  • calico-vxlan.yaml tip. A new tip points at calico-vxlan.yaml, which already sets calico_backend: "vxlan" and leaves BIRD out of the probes. It creates the default IP pool with CALICO_IPV4POOL_VXLAN set to "CrossSubnet", so the tip says to change it to "Always" for VXLAN on all traffic.
  • Both trees. calico/ (next) and version-3.33/ get the same edit, one commit each. The 3.31 and 3.32 manifests still use the single-dash form, so those pages are correct as is.
  • Testing. make build-next passes with no broken links. Vale wasn't run locally; it runs in CI.

Merge checklist:

  • Deploy preview inspected wherever changes were made
  • Build completed successfully
  • Test have passed
Agent context

Decisions

  • Show the probes as they look after the edit (Felix-only) instead of the before-state with lines to comment out. An after-state compares directly against the manifest and can't be read as "keep these lines".
  • Name the double-dash flags in the step and add one sentence on the old /bin/calico-node single-dash form, because a script matching - -bird-* silently does nothing against a v3.33 manifest. That is how the failure in Bug CORE-13923 (VXLAN probe crash-loop) was hit.
  • Point at $[manifestsUrl]/manifests/calico-vxlan.yaml as the no-edit path. On v3.33 the chart drops --bird-live and --bird-ready when calico_backend is "vxlan", but the manifest sets CALICO_IPV4POOL_VXLAN: CrossSubnet, not Always, hence the note in the tip.
  • Edit both calico/ and calico_versioned_docs/version-3.33/, since the repo README says bug fixes to released docs go in the matching versioned directory. Commit subjects follow the repo's "(next)" and "(3.33)" convention.

Rejected alternatives

  • A product-side fix, where the node health check skips the BIRD checks when CALICO_NETWORKING_BACKEND isn't "bird", was discussed but kept out of this docs-only PR.

Constraints and gotchas

  • The v3.31 and v3.32 versioned copies are unchanged: their manifests still run /bin/calico-node with -bird-live and -bird-ready.
  • install-node.mdx (the "hard way" guide) also shows /bin/calico-node -bird-ready, but that page pins calico/node:v3.20.0 throughout, so updating only the probe would mismatch the image. Not touched.
  • reference/configure-calico-node.mdx already uses calico component node health --bird-ready; the ticket said it needed a change, but it doesn't.
  • The Enterprise and Cloud reference/component-resources/node/configuration.mdx pages also mention the BIRD flags. They're outside this OSS v3.33 ticket.

Verification

  • git diff --quiet showed the two config-options.mdx copies were identical before the edit, so both get the same text.
  • projectcalico/calico release-v3.33 manifests/calico.yaml has - --bird-live and - --bird-ready; release-v3.32 has - -bird-live and - -bird-ready. Release-v3.33 manifests/calico-vxlan.yaml has calico_backend: "vxlan", CALICO_IPV4POOL_VXLAN: CrossSubnet, and Felix-only probes.
  • make build-next (next plus all released versions) exited 0 with [SUCCESS] Generated static files in "build". onBrokenLinks is "throw", so internal links on both edited pages resolve. Vale needs Docker and wasn't run locally.

Code map

  • calico/getting-started/kubernetes/self-managed-onprem/config-options.mdx: "Switching from IP-in-IP to VXLAN" section; step text, probe YAML example, old-flag note, and the calico-vxlan.yaml tip.
  • calico_versioned_docs/version-3.33/getting-started/kubernetes/self-managed-onprem/config-options.mdx: the same edit.

Follow-ups

  • Internal installer test tooling that seds out - -bird-* is being fixed separately, outside this repo.
  • Possible hardening in projectcalico/calico node/pkg/health so the BIRD checks are skipped when BIRD isn't the networking backend. Not started.

@caseydavenport
caseydavenport requested a review from a team as a code owner November 2, 2026 15:31
Copilot AI lite review requested due to automatic review settings November 2, 2026 15:31
@netlify

netlify Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit a658310
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/6ae8acd19ca9136de0c8446b
😎 Deploy Preview https://deploy-preview-3177--tigera.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 65 (🔴 down 1 from production)
Accessibility: 98 (no change from production)
Best Practices: 92 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for calico-docs-preview-next ready!

Name Link
🔨 Latest commit a658310
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/6ae8acd16b88f5de246d9221
😎 Deploy Preview https://deploy-preview-3177--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The reviewed documentation updates address the obsolete BIRD probe syntax and clarify VXLAN manifest usage across both affected versions, with no active review issues identified.

No open issues 🎉

What changed in this PR

Updates the Calico Open Source documentation for next and v3.33 to correct VXLAN-only manifest probe instructions and prevent BIRD health-check failures.

Changes:

  • Replaces obsolete single-dash BIRD probe flags with the current double-dash syntax.
  • Shows the resulting Felix-only probe configuration.
  • Documents the older manifest syntax for scripted edits.
  • Adds guidance for using calico-vxlan.yaml, including its CrossSubnet default.
File Description
calico/​getting-started/​kubernetes/​self-managed-onprem/​config-options.mdx Updates the next-version VXLAN installation instructions and probe example.
calico_versioned_docs/​version-3.33/​getting-started/​kubernetes/​self-managed-onprem/​config-options.mdx Applies the equivalent corrections to the v3.33 documentation.

Review effort: Lite

@ctauchen ctauchen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@ctauchen
ctauchen merged commit 68a39ee into tigera:main Nov 2, 2026
11 checks passed
@caseydavenport
caseydavenport deleted the casey-vxlan-probe-flags branch November 2, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants