hashicorp / nomad-driver-podman

A nomad task driver plugin for sandboxing workloads in podman containers
https://developer.hashicorp.com/nomad/plugins/drivers/podman
Mozilla Public License 2.0
224 stars 61 forks source link

Support for disabling container healthchecks #342

Open optiz0r opened 1 month ago

optiz0r commented 1 month ago

While porting jobs from docker to podman, I'm running into an issue relating to health checks. Specifically that a container has some checks defined, which are failing (due to a configuration issue with the container, but that's not particularly relevant). The failed health check is causing a systemd failed service unit for ${container_id}.service, which is then tripping our system-level monitoring.

I see the docker task driver has the ability to disable healthchecks (added in https://github.com/hashicorp/nomad/pull/14089), but checking the source code of the podman task driver, there's no equivalent functionality.

Could this driver be extended to suppress unwanted container-level health checks (since nomad jobs already have their own health checks which run independently)?

# systemctl --failed
  UNIT                                                                     LOAD   ACTIVE SUB    DESCRIPTION                                                                                     
● 9c1da878c689af1d8dd7c2ee131b092b1fe44a33a64775581933c9f80be51c47.service loaded failed failed /usr/bin/podman healthcheck run 9c1da878c689af1d8dd7c2ee131b092b1fe44a33a64775581933c9f80be51c47
# podman inspect -f '{{ json .Config.Healthcheck }}' 9c1da878c689af1d8dd7c2ee131b092b1fe44a33a64775581933c9f80be51c47
{"Test":["CMD-SHELL","step ca health 2>/dev/null | grep \"^ok\" >/dev/null"],"Interval":30000000000,"Timeout":30000000000}