Does Mesos support health checks for docker image tasks? Mesos seems to be
ignoring the TaskInfo.HealthCheck field for me.
Example TaskInfo JSON received back from Mesos:
{
>
> "name":"hello-app.web.v3",
>
> "task_id":{
>
> "value":"hello-app_web-v3.fc05a1a5-1e06-4e61-9879-be0d97cd3eec"
>
> },
>
> "slave_id":{
>
> "value":"20150924-210922-1608624320-5050-1792-S1"
>
> },
>
> "resources":[
>
> {
>
> "name":"cpus",
>
> "type":0,
>
> "scalar":{
>
> "value":0.1
>
> }
>
> },
>
> {
>
> "name":"mem",
>
> "type":0,
>
> "scalar":{
>
> "value":256
>
> }
>
> },
>
> {
>
> "name":"ports",
>
> "type":1,
>
> "ranges":{
>
> "range":[
>
> {
>
> "begin":31002,
>
> "end":31002
>
> }
>
> ]
>
> }
>
> }
>
> ],
>
> "command":{
>
> "container":{
>
> "image":"docker-services1a:5000/test/app-81-1-hello-app-103"
>
> },
>
> "shell":false
>
> },
>
> "container":{
>
> "type":1,
>
> "docker":{
>
> "image":"docker-services1a:5000/gig1/app-81-1-hello-app-103",
>
> "network":2,
>
> "port_mappings":[
>
> {
>
> "host_port":31002,
>
> "container_port":8000,
>
> "protocol":"tcp"
>
> }
>
> ],
>
> "privileged":false,
>
> "parameters":[],
>
> "force_pull_image":false
>
> }
>
> },
>
> "health_check":{
>
> "delay_seconds":5,
>
> "interval_seconds":10,
>
> "timeout_seconds":10,
>
> "consecutive_failures":3,
>
> "grace_period_seconds":0,
>
> "command":{
>
> "shell":true,
>
> "value":"sleep 5",
>
> "user":"root"
>
> }
>
> }
>
> }
>
>
I have searched all machines and containers to see if they ever run the
command (in this case `sleep 5`), but have not found any indication that it
is being executed.
In the mesos src code the health-checks are invoked from
src/launcher/executor.cpp CommandExecutorProcess::launchTask. Does this
mean that health-checks are only supported for custom executors and not for
docker tasks?
What I am trying to accomplish is to have the 0/non-zero exit-status of a
health-check command translate to task health.
Thanks!
Jay