----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/60600/ -----------------------------------------------------------
(Updated July 11, 2017, 10 a.m.) Review request for mesos, Avinash sridharan and Jie Yu. Changes ------- Addressed Avinash's comment. Bugs: MESOS-7709 https://issues.apache.org/jira/browse/MESOS-7709 Repository: mesos Description ------- Set container DNS with `--default_container_dns` in CNI isolator. Diffs (updated) ----- src/slave/containerizer/mesos/isolators/network/cni/cni.cpp 831bc7d0774a0ad3c8cbd7f42d4a3f8bd34d3243 Diff: https://reviews.apache.org/r/60600/diff/2/ Changes: https://reviews.apache.org/r/60600/diff/1-2/ Testing ------- sudo make check 1. Start Mesos master. ``` $ sudo ./bin/mesos-master.sh --work_dir=/opt/mesos ``` 2. Start Mesos agent. ``` $ sudo ./bin/mesos-slave.sh --master=192.168.122.216:5050 --containerizers=mesos,docker --image_providers=docker --image_provisioner_backend=aufs --isolation=filesystem/linux,docker/runtime,network/cni,cgroups/cpu,cgroups/mem --network_cni_config_dir=/opt/cni/net_configs --network_cni_plugins_dir=/opt/cni/plugins --work_dir=/opt/mesos --docker_store_dir=/opt/mesos/store/docker --executor_registration_timeout=60mins --default_container_dns=file:///home/stack/dns.json $ cat /opt/cni/net_configs/net1 { "name": "net1", "type": "bridge", "bridge": "br1", "isGateway": true, "ipMasq": true, "ipam": { "type": "host-local", "subnet": "192.168.1.0/24", "routes": [ { "dst": "0.0.0.0/0" } ] } } $ cat /opt/cni/net_configs/net2 { "name": "net2", "type": "bridge", "bridge": "br2", "isGateway": true, "ipMasq": true, "ipam": { "type": "host-local", "subnet": "192.168.2.0/24", "routes": [ { "dst": "0.0.0.0/0" } ] }, "dns": { "nameservers": [ "8.8.4.4" ], "domain": "net2.com", "search": [ "yyy.com" ], "options": [ "attempts:3" ] } } $ cat /home/stack/dns.json { "mesos": [ { "network": "net1", "dns": { "nameservers": [ "8.8.8.8" ], "search": [ "xxx.com" ], "options": [ "timeout:4" ] } } ] } ``` 3. Launch a unified container with `mesos-execute`. ``` $ sudo src/mesos-execute --master=192.168.122.216:5050 --task=file:///home/stack/task.json $ cat /home/stack/task.json { "name": "test", "task_id": {"value" : "test"}, "agent_id": {"value" : ""}, "resources": [ { "name": "cpus", "type": "SCALAR", "scalar": { "value": 0.1 } }, { "name": "mem", "type": "SCALAR", "scalar": { "value": 32 } } ], "command": { "value": "sleep 300" }, "container": { "type": "MESOS", "mesos": { "image": { "type": "DOCKER", "docker": { "name": "busybox" } } }, "network_infos": [ { "name": "net1" }, { "name": "net2" } ] } } ``` 4. Check the DNS configuration of the unified container. ``` $ ps -ef | grep sleep root 20060 20037 2 21:45 ? 00:00:00 sh -c sleep 300 root 20074 20060 0 21:45 ? 00:00:00 sleep 300 $ sudo nsenter -t 20060 -m -u -n cat /etc/resolv.conf domain net2.com search yyy.com xxx.com options attempts:3 timeout:4 nameserver 8.8.4.4 nameserver 8.8.8.8 ``` Thanks, Qian Zhang