[ 
https://issues.apache.org/jira/browse/MESOS-4812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15245741#comment-15245741
 ] 

haosdent commented on MESOS-4812:
---------------------------------

[~lloesche] Sorry for my unclear explain. I mean I could not reproduce the 
problem you mentioned in github link. As you see, I use
{code}
    "healthChecks": [
        ...
        "command": {
          "value": "bash -c \"</dev/tcp/www.google.com/80\""
        },
    ...
{code}
in marathon task definition. Which you mentioned didn't work in github link.

And 
{code}
  // First way.
  command.set_shell(true);
  command.set_value("bash -c \"</dev/tcp/$HOST/$PORT0\"");
{code}
is equal to 
{code}
{
      "protocol": "COMMAND",
      "command": { "value": "/bin/bash -c \"</dev/tcp/$HOST/$PORT0\"" }
    }
{code}
the one you mentioned in github link. Because in {{"..."}}, you have to add 
slash if you want to put {{"}}.

{code}
  {
    "protocol": "COMMAND",
    "command": { "value": "/bin/bash -c \\\"</dev/tcp/$HOST/$PORT0\\\"" }
  }
{code}
is equal to
{code}
  command.set_shell(true);
  command.set_value("bash -c \\\"</dev/tcp/$HOST/$PORT0\\\"");
{code}

However, this is not work for me. I use MesosContainerizer and marathon master 
branch, would you double check this again?

> 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)

Reply via email to