Re: Issue with crashing Windows apps on Diego


Matthew Horan
 

On Tue, Feb 2, 2016 at 12:21 PM, aaron_huber <aaron.m.huber(a)intel.com>
wrote:

I don't disagree that improvement can be made here, but I do strongly
believe that 1) the platform should be consistent across Linux and Windows
apps and what is described as a "port" check should just be checking the
port, and 2) any HTTP check should be configurable (either opt-in or
opt-out) in cases where the root of an app isn't expected to return a 200,
of which there are many valid cases. Your proposed work-around in my
opinion is even worse, in that I have to disable any container checking at
all if an app falls outside of what you consider typical.
Setting the health check to none does not actually disable health checks.
This setting simply disables the HTTP healthcheck, and Diego will continue
to monitor the process. I'm not sure why this setting does not meet your
immediate requirements. A simple TCP check of a deadlocked or misconfigured
WebAppServer would pass both a simple TCP check and process check, while
the current healthcheck implementation would detect an issue. Given the
process check runs regardless of whether the healthcheck is enabled, the
more reliable (though sometimes undesirable) opt-in HTTP check can simply
be disabled, and the process will still be monitored by Diego.


I think we agree that the best solution for most common apps is to use an
HTTP check, but in order for that to be functional I think the platform
would need to define a new "http" healthcheck type and allow the user to
configure a timeout and expected status code (with defaults of 1 second and
200).

Please see the proposal [1] currently being discussed. We plan expose a
multitude of options for healthcheck, including simple port check, HTTP
check with configurable endpoint, and timeouts.

We've also dropped a story in our backlog [2] to bring our healthcheck in
line with Linux. However, any stories to implement the proposed healthcheck
improvements would likely be prioritized before this effort. Regardless,
garden-windows is open source, and pull requests are welcome!

[1] https://github.com/cloudfoundry-incubator/diego-dev-notes/issues/31
[2] https://www.pivotaltracker.com/story/show/112914163

Join cf-dev@lists.cloudfoundry.org to automatically receive all group messages.