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

Reply via email to