mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jie Yu <yujie....@gmail.com>
Subject Re: Review Request 46097: Added the test "CniIsolatorTest.ROOT_LaunchCommandTask".
Date Wed, 11 May 2016 16:25:48 GMT


> On May 6, 2016, 5:34 p.m., Jie Yu wrote:
> > src/tests/containerizer/cni_isolator_tests.cpp, line 42
> > <https://reviews.apache.org/r/46097/diff/6/?file=1374762#file1374762line42>
> >
> >     Instead of using a script here, can we use code to get ip network and name server
information?
> >     
> >     You can take a look at `links()` and `IPNetwork::fromLinkDevice(..)` in stout.
> >     
> >     I would suggest that we define a test fixture for the isolator tests and get
the ip network and nameserver address in the SetUp function. We can also put the helpers to
create plugin/config in the test fixture.
> 
> Qian Zhang wrote:
>     I see `link::eth0()` and `IPNetwork::fromLinkDevice(..)` can be used to get the IP
of host public interface which is good, but how can we use code to get name server? It seems
we do not have existing method to do so.
>     
>     What about I put creating plugin/config in `static void SetUpTestCase()` but still
use script to get IP and name server?
> 
> Qian Zhang wrote:
>     I tried to use code to get IP and name servers rather than script, but I found it
will be hard to combine with C++ literal which may make the code hard to read, like this:
>     ```cpp
>         Result<net::IPNetwork> hostIPNetwork =
>             net::IPNetwork::fromLinkDevice(eth0.get(), AF_INET);
>     
>         const string cniMockPlugin = R"~(
>               #!/bin/sh
>               echo "{"
>               echo "  \"ip4\": {"
>               echo "    \"ip\": \")~" + hostIPNetwork.get().address() + "/" +
>               hostIPNetwork.get().prefix() +
>               R"~(\""
>               echo "  }"
>               echo "}"
>               )~";
>     ```
>     Please note, I have not included name servers in the above code. There can be multiple
name servers, if we include them, it will make the above code more complex, I think the current
patch (do everything in a script) has better readability. Or if we really want to do it in
this way, can we just include the first name server in the above code?

You can take a look at strings::format (similar to printf)


- Jie


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


On May 6, 2016, 2:06 p.m., Qian Zhang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/46097/
> -----------------------------------------------------------
> 
> (Updated May 6, 2016, 2:06 p.m.)
> 
> 
> Review request for mesos, Avinash sridharan and Jie Yu.
> 
> 
> Bugs: MESOS-5167
>     https://issues.apache.org/jira/browse/MESOS-5167
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Added the test "CniIsolatorTest.ROOT_LaunchCommandTask".
> 
> 
> Diffs
> -----
> 
>   src/Makefile.am 710e1644e2f0a8e9b87cc997b2211291f4e055fd 
>   src/tests/containerizer/cni_isolator_tests.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/46097/diff/
> 
> 
> Testing
> -------
> 
> [ RUN      ] CniIsolatorTest.ROOT_LaunchCommandTask
> + /home/stack/workspace/mesos/build/src/mesos-containerizer mount --help=false --operation=make-rslave
--path=/
> + grep+  -E /tmp/CniIsolatorTest_ROOT_LaunchCommandTask_HRK4Dz/.+ /proc/self/mountinfo
> + grepcut -v -d  -f5
>  d06b117d-518b-41e2-b8e0-62a12083773c
> + xargs --no-run-if-empty umount -l
> + mount -n --rbind /tmp/CniIsolatorTest_ROOT_LaunchCommandTask_HRK4Dz/provisioner/containers/d06b117d-518b-41e2-b8e0-62a12083773c/backends/copy/rootfses/7ea27011-cd3a-43b0-8301-b0b94d9f9b47
/tmp/CniIsolatorTest_ROOT_LaunchCommandTask_HRK4Dz/slaves/18dea042-5bb5-4336-8bc8-358ed1fbf6dd-S0/frameworks/18dea042-5bb5-4336-8bc8-358ed1fbf6dd-0000/executors/60e6d35d-6d33-47ae-9c23-d2e5c913c892/runs/d06b117d-518b-41e2-b8e0-62a12083773c/.rootfs
> I0420 22:26:00.924844  9305 exec.cpp:150] Version: 0.29.0
> I0420 22:26:00.942319  9375 exec.cpp:225] Executor registered on agent 18dea042-5bb5-4336-8bc8-358ed1fbf6dd-S0
> Registered executor on mesos
> Starting task 60e6d35d-6d33-47ae-9c23-d2e5c913c892
> Forked command at 9382
> sh -c 'ls /'
> bin      dev      etc      home     lib      linuxrc  media    mnt      proc     root
    run      sbin     sys      tmp      usr      var
> Command exited with status 0 (pid: 9382)
> I0420 22:26:01.098331  9380 exec.cpp:399] Executor asked to shutdown
> [       OK ] CniIsolatorTest.ROOT_LaunchCommandTask (42603 ms)
> 
> 
> Thanks,
> 
> Qian Zhang
> 
>


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