The Mesos team is working hard on adding support for HTTP/TCP health checks. Their solution will initially reach parity with the currently supported COMMAND health checks: MESOS-5961, MESOS-3567, MESOS-2533.
In order to scale better, Marathon should support these new kinds of health checks as soon as possible.
The idea is to update the app definition, introducing these new health check protocols: MESOS_HTTP, MESOS_HTTPS, MESOS_TCP. They'll behave exactly like the currently supported COMMAND health check.
The following needs to be done in order to achieve this:
[ ] Refactor HealthCheck, adding HttpConf,TcpConf, MesosHttpConf, etc. and moving the settings from the main class to these per-protocol config classes.
[ ] Add JSON formats and validations. Mesos will initially support at-most one health check.
[ ] Update TaskBuilder logic to account for the new health check types. Marathon will have to implement logic to put the right port number in the health checks proto, taking in consideration the networking specified in the app definition.
[ ] Integration tests.
This is also related to #3957 (Marathon will currently forget the app health information if an app is using Mesos health checks).
The Mesos team is working hard on adding support for HTTP/TCP health checks. Their solution will initially reach parity with the currently supported
COMMAND
health checks: MESOS-5961, MESOS-3567, MESOS-2533.In order to scale better, Marathon should support these new kinds of health checks as soon as possible.
The idea is to update the app definition, introducing these new health check protocols:
MESOS_HTTP
,MESOS_HTTPS
,MESOS_TCP
. They'll behave exactly like the currently supportedCOMMAND
health check.The following needs to be done in order to achieve this:
HealthCheck
, addingHttpConf
,TcpConf
,MesosHttpConf
, etc. and moving the settings from the main class to these per-protocol config classes.This is also related to #3957 (Marathon will currently forget the app health information if an app is using Mesos health checks).