mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manuwela Kanade <manuwe...@gmail.com>
Subject Re: Review Request 53047: MESOS-6212: name format validation for mesos managed docker containers.
Date Fri, 21 Oct 2016 09:34:30 GMT


> On Oct. 21, 2016, 8:58 a.m., haosdent huang wrote:
> > src/slave/containerizer/docker.cpp, line 62
> > <https://reviews.apache.org/r/53047/diff/3/?file=1542931#file1542931line62>
> >
> >     Nit: We sort the headers according some rules which `stout` come first. Please
move this after 
> >     
> >     ```
> >     #include <stout/os.hpp>
> >     #include <stout/uuid.hpp>
> >     ```

Fixed and retested


> On Oct. 21, 2016, 8:58 a.m., haosdent huang wrote:
> > src/slave/containerizer/docker.cpp, line 133
> > <https://reviews.apache.org/r/53047/diff/3/?file=1542931#file1542931line133>
> >
> >     `containerId.get()` may failed here if `contaienrId` is `None`.
> >     
> >     ```
> >         } else {
> >     
> >           vector<string> parts = strings::split(name.get(), DOCKER_NAME_SEPERATOR);
> >          if (parts.size() == 2 || parts.size() == 3) { <-- if this condition
is `false`, `containerId` would be `None`. So the `containerId.get()` would failed in following
code.
> >             ContainerID id;
> >             id.set_value(parts[1]);
> >             containerId = id;
> >           }
> >         }
> >     ```
> >     
> >     I suggest to put this above `return`. It may looks like
> >     
> >     ```
> >       }
> >     
> >       if (containerId.isSome()) {
> >         // Check if id is a valid UUID
> >         Try<UUID> uuid = UUID::fromString(containerId.get().value());
> >         if (uuid.isError()) {
> >           return None();
> >         }
> >       }
> >     
> >       return containerId;
> >     ```

Fixed and retested


- Manuwela


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/53047/#review153513
-----------------------------------------------------------


On Oct. 21, 2016, 8:24 a.m., Manuwela Kanade wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/53047/
> -----------------------------------------------------------
> 
> (Updated Oct. 21, 2016, 8:24 a.m.)
> 
> 
> Review request for mesos, haosdent huang, Timothy Chen, and Vinod Kone.
> 
> 
> Bugs: MESOS-6212
>     https://issues.apache.org/jira/browse/MESOS-6212
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> MESOS-6212: name format validation for mesos managed docker containers.
> 
> 
> Diffs
> -----
> 
>   3rdparty/stout/tests/uuid_tests.cpp fe9894af93df9cb9b12390d8d7e7885525db384d 
>   src/slave/containerizer/docker.cpp 8ec4c0a25335fb1b36cb2ab82577f6d3e2f7f008 
>   src/tests/containerizer/docker_containerizer_tests.cpp 6d26797abf6d2b5e42b9e7743789e1edc62c9c1a

> 
> Diff: https://reviews.apache.org/r/53047/diff/
> 
> 
> Testing
> -------
> 
> 1. Ran the "make check"
> 
> 2. Manual Testing done as below:
> Testing without changes: Created and ran an example container which is not run using
mesos : named "mesos-rsyslog" which got killed once mesos-agent started with --containerizer=docker,mesos.

> 
> Testing with changes: Created and ran an example container (not run using mesos): named
"mesos-rsyslog" which keeps running and mesos-agent does not kill it thus avoiding the false
positive
> 
> 3. Added a testcase to test this scenario. Result below:
> Test run with the fix passes
> [==========] Running 1 test from 1 test case.
> [----------] Global test environment set-up.
> [----------] 1 test from DockerContainerizerTest
> [ RUN      ] DockerContainerizerTest.ROOT_DOCKER_SkipRecoverMalformedUUID
> [       OK ] DockerContainerizerTest.ROOT_DOCKER_SkipRecoverMalformedUUID (16142 ms)
> [----------] 1 test from DockerContainerizerTest (16143 ms total)
> 
> [----------] Global test environment tear-down
> [==========] 1 test from 1 test case ran. (16157 ms total)
> [  PASSED  ] 1 test.
> 
> 
> Test run without the fix fails, since container with malformed UUID also gets killed:
> [==========] Running 1 test from 1 test case.
> [----------] Global test environment set-up.
> [----------] 1 test from DockerContainerizerTest
> [ RUN      ] DockerContainerizerTest.ROOT_DOCKER_SkipRecoverMalformedUUID
> ../../src/tests/containerizer/docker_containerizer_tests.cpp:1529: Failure
> Value of: exists(docker, slaveId, containerId)
>   Actual: false
> Expected: true
> [  FAILED  ] DockerContainerizerTest.ROOT_DOCKER_SkipRecoverMalformedUUID (9054 ms)
> [----------] 1 test from DockerContainerizerTest (9055 ms total)
> 
> 
> Thanks,
> 
> Manuwela Kanade
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message