Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make deploy.RunPod wait for pod readiness rather than running phase #346

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

roobre
Copy link
Collaborator

@roobre roobre commented Sep 14, 2023

Description

This PR changes the WaitPodRunning function to WaitPodReady, which checks whether the pod has the Ready condition set to True instead of simply being in the Running phase.

If a pod does not contain any container with a readiness probe defined, WaitPodReady should behave exactly the same as WaitPodRunning did. However, if one or more containers have a readiness probe, WaitPodReady will wait until they are satisfied.

This is helpful to reduce flakiness on certain tests which previously attempted to initiate a connection to a pod once it was running, but before the pod had time to actually get started. By attaching a readiness probe to those pods, this scenario can be avoided, as deploy.RunPod will wait or error until the readiness probe passes.

This PR also adds a helper WithHTTPReadinessProbe function to ContainerBuilder, that attaches an HTTP GET readiness probe to a container with reasonable defaults.

Checklist:

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works.
  • I have run linter locally (make lint) and all checks pass.
  • I have run tests locally (make test) and all tests pass.
  • I have run relevant integration test locally (make integration-xxx for affected packages)
  • I have run relevant e2e test locally (make e2e-xxx for disruptors, or cluster related changes)
  • Any dependent changes have been merged and published in downstream modules

@roobre roobre changed the title K8s wait ready Make deploy.RunPod wait for pod readiness rather than running phase Sep 14, 2023
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.

1 participant