You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "haosdent (JIRA)" <ji...@apache.org> on 2016/04/17 07:41:25 UTC

[jira] [Comment Edited] (MESOS-4812) Mesos fails to escape command health checks

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

haosdent edited comment on MESOS-4812 at 4/17/16 5:41 AM:
----------------------------------------------------------

Hi, do you use MesosContainerizer or DockerContainerizer?  [~lloesche]

As I checked by [HealthCheckTest.HealthyTaskShellEscape|https://reviews.apache.org/r/46306/diff/1#index_header]

All below ways could pass:

{code}
  // First way.
  command.set_shell(true);
  command.set_value("bash -c \"</dev/tcp/$HOST/$PORT0\"");
{code}

{code}
  // Second way.
  command.set_shell(true);
  command.set_value("</dev/tcp/$HOST/$PORT0");
{code}

{code}
  // Third way.
  command.set_shell(false);
  command.set_value("bash");
  command.add_arguments("bash");
  command.add_arguments("-c");
  command.add_arguments("</dev/tcp/$HOST/$PORT0");
{code}

And I am going to set up a marathon to test e2e.


was (Author: haosdent@gmail.com):
Hi, do you use MesosContainerizer or DockerContainerizer?  @lloesche

As I checked by [HealthCheckTest.HealthyTaskShellEscape|https://reviews.apache.org/r/46306/diff/1#index_header]

All below ways could pass:

{code}
  // First way.
  command.set_shell(true);
  command.set_value("bash -c \"</dev/tcp/$HOST/$PORT0\"");
{code}

{code}
  // Second way.
  command.set_shell(true);
  command.set_value("</dev/tcp/$HOST/$PORT0");
{code}

{code}
  // Third way.
  command.set_shell(false);
  command.set_value("bash");
  command.add_arguments("bash");
  command.add_arguments("-c");
  command.add_arguments("</dev/tcp/$HOST/$PORT0");
{code}

And I am going to set up a marathon to test e2e.

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