Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-6143

resolv.conf is not copied when using the Mesos containerizer with a Docker image

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.0.0
    • Fix Version/s: None
    • Component/s: containerization
    • Labels:
      None
    • Environment:

      OS: Debian Jessie
      Mesos version: 1.0.0

    • Target Version/s:

      Description

      When using the Mesos containierizer, host networking and a Docker image resolv.conf is not copied from the host. The only piece of Mesos code that copies these file is currently in the network/cni isolator so I tried turning this on, by setting isolation=network/cni,namespaces/pid,docker/runtime,cgroups/devices,gpu/nvidia,cgroups/cpu,disk/du,filesystem/linux, but the issue still remained. I suspect this might be related to not setting network_cni_config_dir and network_cni_plugins_dir but it seems incorrect that these flags would be required to use host networking.

      Here is how I am able to reproduce this issue:

      mesos-execute --master=mesosmaster1:5050 \
      		--name=dns-test \
      		--docker_image=my-docker-image:1.1.3 \
      		--command="bash -c 'ping google.com; while ((1)); do date; sleep 10; done'"
      
      # Find the PID of mesos-executor's child process and enter it
      nsenter -m -u -i -n -p -r -w -t $PID
      
      # This file will be empty
      cat /etc/resolv.conf
      
      Mesos agent log
      I0908 17:39:24.599149 181564 slave.cpp:1688] Launching task dns-test for framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006
      I0908 17:39:24.599567 181564 paths.cpp:528] Trying to chown '/mnt/01/mesos_work/slaves/67025326-9dfd-4cbb-a008-454a40bce2f5-S2/frameworks/51831498-0902-4ae9-a1ff-4396f8b8d823-0006/executors/dns-test/runs/52bdce71-04b0-4440-bb71-cb826f0635c6' to user 'root'
      I0908 17:39:24.603970 181564 slave.cpp:5748] Launching executor dns-test of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006 with resources cpus(*):0.1; mem(*):32 in work directory '/mnt/01/mesos_work/slaves/67025326-9dfd-4cbb-a008-454a40bce2f5-S2/frameworks/51831498-0902-4ae9-a1ff-4396f8b8d823-0006/executors/dns-test/runs/52bdce71-04b0-4440-bb71-cb826f0635c6'
      I0908 17:39:24.604178 181564 slave.cpp:1914] Queuing task 'dns-test' for executor 'dns-test' of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006
      I0908 17:39:24.604284 181571 docker.cpp:1020] Skipping non-docker container
      I0908 17:39:24.604532 181578 containerizer.cpp:781] Starting container '52bdce71-04b0-4440-bb71-cb826f0635c6' for executor 'dns-test' of framework '51831498-0902-4ae9-a1ff-4396f8b8d823-0006'
      I0908 17:39:24.606972 181571 provisioner.cpp:294] Provisioning image rootfs '/mnt/01/mesos_work/provisioner/containers/52bdce71-04b0-4440-bb71-cb826f0635c6/backends/copy/rootfses/db97ba50-c9f0-45e7-8a39-871e4038abf9' for container 52bdce71-04b0-4440-bb71-cb826f0635c6
      I0908 17:39:30.037472 181564 cpushare.cpp:389] Updated 'cpu.shares' to 102 (cpus 0.1) for container 52bdce71-04b0-4440-bb71-cb826f0635c6
      I0908 17:39:30.038415 181560 linux_launcher.cpp:281] Cloning child process with flags = CLONE_NEWNS | CLONE_NEWPID
      I0908 17:39:30.040742 181560 systemd.cpp:96] Assigned child process '190563' to 'mesos_executors.slice'
      I0908 17:39:30.161613 181576 slave.cpp:2902] Got registration for executor 'dns-test' of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006 from executor(1)@10.191.4.65:43707
      I0908 17:39:30.162148 181563 disk.cpp:171] Updating the disk resources for container 52bdce71-04b0-4440-bb71-cb826f0635c6 to cpus(*):0.1; mem(*):32; gpus(*):2
      I0908 17:39:30.162648 181566 cpushare.cpp:389] Updated 'cpu.shares' to 102 (cpus 0.1) for container 52bdce71-04b0-4440-bb71-cb826f0635c6
      I0908 17:39:30.162822 181574 slave.cpp:2079] Sending queued task 'dns-test' to executor 'dns-test' of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006 at executor(1)@10.191.4.65:43707
      I0908 17:39:30.168383 181570 slave.cpp:3285] Handling status update TASK_RUNNING (UUID: 319e0235-01b9-42ce-a2f8-ed9fc33de150) for task dns-test of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006 from executor(1)@10.191.4.65:43707
      I0908 17:39:30.169019 181577 status_update_manager.cpp:320] Received status update TASK_RUNNING (UUID: 319e0235-01b9-42ce-a2f8-ed9fc33de150) for task dns-test of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006
      I0908 17:39:30.169173 181576 slave.cpp:3678] Forwarding the update TASK_RUNNING (UUID: 319e0235-01b9-42ce-a2f8-ed9fc33de150) for task dns-test of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006 to master@10.191.248.194:5050
      I0908 17:39:30.169242 181576 slave.cpp:3588] Sending acknowledgement for status update TASK_RUNNING (UUID: 319e0235-01b9-42ce-a2f8-ed9fc33de150) for task dns-test of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006 to executor(1)@10.191.4.65:43707
      I0908 17:39:30.171314 181565 status_update_manager.cpp:392] Received status update acknowledgement (UUID: 319e0235-01b9-42ce-a2f8-ed9fc33de150) for task dns-test of framework 51831498-0902-4ae9-a1ff-4396f8b8d823-0006
      

        Attachments

          Activity

            People

            • Assignee:
              avinash.mesos Avinash Sridharan
              Reporter:
              jpinkul Justin Pinkul
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: