Skip to content

fix: cert-generator waits up to 300 s for Kueue's controller - #408

Open
HardMax71 wants to merge 1 commit into
mainfrom
fix/cert-generator-kueue-wait
Open

HardMax71 wants to merge 1 commit into
mainfrom
fix/cert-generator-kueue-wait

Conversation

@HardMax71

@HardMax71 HardMax71 commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

Follow-up to #402, which raised e2e-ready's wait for Kueue's controller from 120 s to 300 s but missed cert-generator, the compose service that installs Kueue in every stack. In #407's frontend shard, cert-generator's own 120 s wait timed out at 00:55:02. set -e then stopped setup-k8s.sh before it created the ResourceFlavor, ClusterQueue and LocalQueue. The stack came up anyway, since the entrypoint runs setup-certs.sh after a ; (deliberate since #184). From then on every executor pod was refused: "failed calling webhook mpod.kb.io ... no endpoints available for service kueue-webhook-service".

Changes

setup-k8s.sh waits up to 300 s for deployment/kueue-controller-manager, with the same one-line reason as #402: Kueue's cert bootstrap answers /readyz with 404 until the kubelet mounts its new secret.

Warning

In production Kueue is usually installed already, so this wait returns at once. On an empty cluster (the yearly k3s certificate reset), a slow Kueue start can now outlast the deploy's docker compose up --wait --wait-timeout 180 and fail the deploy loudly, where today it comes up without the queues.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • CI/CD or tooling changes

Test Plan

  • Backend unit tests pass (cd backend && uv run pytest tests/unit)
  • Frontend unit tests pass (cd frontend && npm run test)
  • Backend E2E tests pass (docker compose exec -T backend sh -c 'uv sync --group test --no-dev --frozen --no-install-project --no-build && pytest tests/e2e')
  • Frontend E2E tests pass (cd frontend && npm run test:e2e)
  • API spec and client regenerated if routes or schemas changed (./deploy.sh openapi, then ./deploy.sh types), never edited by hand
  • Manual testing performed

Validation: a one-value change; both E2E jobs on this PR run cert-generator with it.

Checklist

  • My code follows the project's style guidelines
  • I have run pre-commit run --all-files and all checks pass
  • I have added tests that prove my fix/feature works
  • I have updated documentation if needed
  • My changes don't introduce new warnings

Summary by cubic

Fixes cert-generator's wait for Kueue's controller-manager so its ResourceFlavor, ClusterQueue, and LocalQueue get created on slow starts. Follow-up to #402, which raised the same wait in e2e-ready but missed cert-generator.

setup-k8s.sh now waits up to 300s instead of 120s. The shorter timeout could expire while Kueue's cert bootstrap answers /readyz with 404 until the kubelet mounts its new secret; set -e then stopped the script before creating the queues, leaving every executor pod refused with no endpoints for kueue-webhook-service. On clusters where Kueue is already installed the wait returns immediately; on a slow fresh start it may outlast the deploy's docker compose up --wait --wait-timeout 180 and fail loudly instead of coming up without the queues.

Written for commit a2ccad6. Summary will update on new commits.

View guided diff Turn on auto-fix

#402 raised e2e-ready's Kueue wait for the same reason but missed cert-generator, which installs Kueue in every compose stack. In #407's frontend shard the 120 s wait timed out at 00:55:02, set -e stopped setup-k8s.sh before it created the ResourceFlavor, ClusterQueue and LocalQueue, and the stack came up anyway because the entrypoint runs setup-certs.sh after a ';'. Every executor pod was then refused: failed calling webhook mpod.kb.io, no endpoints available for service kueue-webhook-service.
@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 05a2c458-f2de-4a7c-9163-b7ee745b17be
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the area: deploy Compose, deploy.sh, images, release workflow, production host label Oct 19, 2026
@sonarqubecloud

Copy link
Copy Markdown

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Flag Coverage Δ
backend-e2e 82.87% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
Backend 92.18% <ø> (ø)
Frontend 92.60% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: deploy Compose, deploy.sh, images, release workflow, production host

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants