[ https://issues.apache.org/jira/browse/MESOS-4812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15244554#comment-15244554 ]
haosdent commented on MESOS-4812: --------------------------------- My marathon task json {code} { "app": { "id": "/test-health", "cmd": "sleep 200", "args": null, "user": null, "env": {}, "instances": 1, "cpus": 1, "mem": 128, "disk": 0, "executor": "", "constraints": [], "uris": [], "fetch": [], "storeUrls": [], "ports": [ 10000 ], "portDefinitions": [ { "port": 10000, "protocol": "tcp", "labels": {} } ], "requirePorts": false, "backoffSeconds": 1, "backoffFactor": 1.15, "maxLaunchDelaySeconds": 3600, "container": null, "healthChecks": [ { "protocol": "COMMAND", "command": { "value": "bash -c \"</dev/tcp/www.google.com/80\"" }, "gracePeriodSeconds": 300, "intervalSeconds": 60, "timeoutSeconds": 20, "maxConsecutiveFailures": 3, "ignoreHttp1xx": false } ], "readinessChecks": [], "dependencies": [], "upgradeStrategy": { "minimumHealthCapacity": 1, "maximumOverCapacity": 1 }, "labels": {}, "acceptedResourceRoles": null, "ipAddress": null, "version": "2016-04-17T06:24:40.457Z", "residency": null, "versionInfo": { "lastScalingAt": "2016-04-17T06:24:40.457Z", "lastConfigChangeAt": "2016-04-17T06:24:40.457Z" }, "tasksStaged": 0, "tasksRunning": 1, "tasksHealthy": 1, "tasksUnhealthy": 0, "deployments": [], "tasks": [ { "id": "test-health.1108b4a6-0465-11e6-9af4-0242d20a0294", "slaveId": "7f8c8ce6-45b2-4e63-a5c4-a88e08af12ed-S0", "host": "127.0.0.1", "startedAt": "2016-04-17T06:24:40.770Z", "stagedAt": "2016-04-17T06:24:40.537Z", "ports": [ 31619 ], "version": "2016-04-17T06:24:40.457Z", "ipAddresses": [ { "ipAddress": "127.0.0.1", "protocol": "IPv4" } ], "appId": "/test-health", "healthCheckResults": [ { "alive": true, "consecutiveFailures": 0, "firstSuccess": "2016-04-17T06:24:40.924Z", "lastFailure": null, "lastSuccess": "2016-04-17T06:24:40.924Z", "lastFailureCause": null, "taskId": "test-health.1108b4a6-0465-11e6-9af4-0242d20a0294" } ] } ] } } {code} Which could pass health check in Mesos {code} Registered executor on 127.0.0.1 Starting task test-health.1108b4a6-0465-11e6-9af4-0242d20a0294 sh -c 'sleep 200' Forked command at 27046 Launching health check process: /home/haosdent/mesos/build/src/mesos-health-check --executor=(1)@127.0.0.1:39822 --health_check_json={"command":{"shell":true,"value":"bash -c \"<\/dev\/tcp\/www.google.com\/80\""},"consecutive_failures":3,"delay_seconds":0.0,"grace_period_seconds":300.0,"interval_seconds":60.0,"timeout_seconds":20.0} --task_id=test-health.1108b4a6-0465-11e6-9af4-0242d20a0294 Health check process launched at pid: 27047 Received task health update, healthy: true {code} > Mesos fails to escape command health checks > ------------------------------------------- > > Key: MESOS-4812 > URL: https://issues.apache.org/jira/browse/MESOS-4812 > Project: Mesos > Issue Type: Bug > Affects Versions: 0.25.0 > Reporter: Lukas Loesche > Assignee: haosdent > Labels: health-check > > As described in https://github.com/mesosphere/marathon/issues/3333 > I would like to run a command health check > {noformat} > /bin/bash -c "</dev/tcp/$HOST/$PORT0" > {noformat} > The health check fails because Mesos, while running the command inside double > quotes of a sh -c "" doesn't escape the double quotes in the command. > If I escape the double quotes myself the command health check succeeds. But > this would mean that the user needs intimate knowledge of how Mesos executes > his commands which can't be right. > I was told this is not a Marathon but a Mesos issue so am opening this JIRA. > I don't know if this only affects the command health check. -- This message was sent by Atlassian JIRA (v6.3.4#6332)