feat(podman): make container health check interval configurable#1833
feat(podman): make container health check interval configurable#1833sshnaidm wants to merge 2 commits into
Conversation
The Podman driver hardcoded a 3-second health check interval, which spawns a conmon subprocess on every tick. On systems running multiple sandboxes this creates sustained process churn and unnecessary CPU overhead. Add a `health_check_interval_secs` field to `PodmanComputeConfig` (default: 10s) and wire it into the container health check spec. Operators can tune it further via `[openshell.drivers.podman]` in gateway.toml. Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
|
All contributors have signed the DCO ✍️ ✅ |
|
Thank you for your interest in contributing to OpenShell, @sshnaidm. This project uses a vouch system for first-time contributors. Before submitting a pull request, you need to be vouched by a maintainer. To get vouched:
See CONTRIBUTING.md for details. |
|
I have read the DCO document and I hereby sign the DCO. |
|
/ok to test 1d4d7ae |
|
Label |
TaylorMutch
left a comment
There was a problem hiding this comment.
Can we validate the case for when the interval is set to 0?
Also this affects how quickly we check that the container is up and ready from the driver perspective; increasing to 10s doesn't seem like a lot but could be noticeable, I am okay with this change tho if we can validate the behavior when it's set to 0.
Thanks for the submission! If we can address my question above this LGTM
Summary
Make the Podman driver's container health check interval configurable instead of hardcoded at 3 seconds. The short default spawns a conmon subprocess every tick per container, creating sustained process churn and unnecessary CPU overhead on systems running multiple sandboxes.
Related Issue
Closes #1832
Changes
health_check_interval_secsfield toPodmanComputeConfig(default: 10s)build_container_spec()..PodmanComputeConfig::default()in the standalone driver binarydocs/reference/gateway-config.mdxTesting
mise run pre-commitpasses (excluding pre-existingtest:pythongrpc version mismatch)default_config_sets_health_check_interval,container_spec_healthcheck_interval_from_configpodman inspectshows configured intervalChecklist