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