Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
Mesosphere Sprint 47, Mesosphere Sprint 48, Mesosphere Sprint 50
-
3
Description
Depending on MESOS-6000, we use symlink to shorten the overlayfs mounting arguments. However, if more than one image need to be provisioned (e.g., a container image is specified while image volumes are specified for the same container), the symlink .../backends/overlay/links would fail to be created since it exists already.
Here is a simple log when we hard code overlayfs as our default backend:
[07:02:45] : [Step 10/10] [ RUN ] Nesting/VolumeImageIsolatorTest.ROOT_ImageInVolumeWithRootFilesystem/0 [07:02:46] : [Step 10/10] I1127 07:02:46.416021 2919 containerizer.cpp:207] Using isolation: filesystem/linux,volume/image,docker/runtime,network/cni [07:02:46] : [Step 10/10] I1127 07:02:46.419312 2919 linux_launcher.cpp:150] Using /sys/fs/cgroup/freezer as the freezer hierarchy for the Linux launcher [07:02:46] : [Step 10/10] E1127 07:02:46.425336 2919 shell.hpp:107] Command 'hadoop version 2>&1' failed; this is the output: [07:02:46] : [Step 10/10] sh: 1: hadoop: not found [07:02:46] : [Step 10/10] I1127 07:02:46.425379 2919 fetcher.cpp:69] Skipping URI fetcher plugin 'hadoop' as it could not be created: Failed to create HDFS client: Failed to execute 'hadoop version 2>&1'; the command was either not found or exited with a non-zero exit status: 127 [07:02:46] : [Step 10/10] I1127 07:02:46.425452 2919 local_puller.cpp:94] Creating local puller with docker registry '/tmp/R6OUei/registry' [07:02:46] : [Step 10/10] I1127 07:02:46.427258 2934 containerizer.cpp:956] Starting container 9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330 for executor 'test_executor' of framework [07:02:46] : [Step 10/10] I1127 07:02:46.427592 2938 metadata_manager.cpp:167] Looking for image 'test_image_rootfs' [07:02:46] : [Step 10/10] I1127 07:02:46.427774 2936 local_puller.cpp:147] Untarring image 'test_image_rootfs' from '/tmp/R6OUei/registry/test_image_rootfs.tar' to '/tmp/R6OUei/store/staging/9krDz2' [07:02:46] : [Step 10/10] I1127 07:02:46.512070 2933 local_puller.cpp:167] The repositories JSON file for image 'test_image_rootfs' is '{"test_image_rootfs":{"latest":"815b809d588c80fd6ddf4d6ac244ad1c01ae4cbe0f91cc7480e306671ee9c346"}}' [07:02:46] : [Step 10/10] I1127 07:02:46.512279 2933 local_puller.cpp:295] Extracting layer tar ball '/tmp/R6OUei/store/staging/9krDz2/815b809d588c80fd6ddf4d6ac244ad1c01ae4cbe0f91cc7480e306671ee9c346/layer.tar to rootfs '/tmp/R6OUei/store/staging/9krDz2/815b809d588c80fd6ddf4d6ac244ad1c01ae4cbe0f91cc7480e306671ee9c346/rootfs' [07:02:46] : [Step 10/10] I1127 07:02:46.617442 2937 metadata_manager.cpp:155] Successfully cached image 'test_image_rootfs' [07:02:46] : [Step 10/10] I1127 07:02:46.617908 2938 provisioner.cpp:286] Image layers: 1 [07:02:46] : [Step 10/10] I1127 07:02:46.617925 2938 provisioner.cpp:296] Should hit here [07:02:46] : [Step 10/10] I1127 07:02:46.617949 2938 provisioner.cpp:315] !!!!: bind [07:02:46] : [Step 10/10] I1127 07:02:46.617959 2938 provisioner.cpp:315] !!!!: overlay [07:02:46] : [Step 10/10] I1127 07:02:46.617967 2938 provisioner.cpp:315] !!!!: copy [07:02:46] : [Step 10/10] I1127 07:02:46.617974 2938 provisioner.cpp:318] Provisioning image rootfs '/mnt/teamcity/temp/buildTmp/Nesting_VolumeImageIsolatorTest_ROOT_ImageInVolumeWithRootFilesystem_0_1fMo0c/provisioner/containers/9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330/backends/overlay/rootfses/c71e83d2-5dbe-4eb7-a2fc-b8cc826771f7' for container 9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330 using overlay backend [07:02:46] : [Step 10/10] I1127 07:02:46.618408 2936 overlay.cpp:175] Created symlink '/mnt/teamcity/temp/buildTmp/Nesting_VolumeImageIsolatorTest_ROOT_ImageInVolumeWithRootFilesystem_0_1fMo0c/provisioner/containers/9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330/backends/overlay/links' -> '/tmp/DQ3blT' [07:02:46] : [Step 10/10] I1127 07:02:46.618472 2936 overlay.cpp:203] Provisioning image rootfs with overlayfs: 'lowerdir=/tmp/DQ3blT/0,upperdir=/mnt/teamcity/temp/buildTmp/Nesting_VolumeImageIsolatorTest_ROOT_ImageInVolumeWithRootFilesystem_0_1fMo0c/provisioner/containers/9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330/backends/overlay/scratch/c71e83d2-5dbe-4eb7-a2fc-b8cc826771f7/upperdir,workdir=/mnt/teamcity/temp/buildTmp/Nesting_VolumeImageIsolatorTest_ROOT_ImageInVolumeWithRootFilesystem_0_1fMo0c/provisioner/containers/9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330/backends/overlay/scratch/c71e83d2-5dbe-4eb7-a2fc-b8cc826771f7/workdir' [07:02:46] : [Step 10/10] I1127 07:02:46.619098 2933 linux.cpp:451] Ignored an image volume for container 9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330 [07:02:46] : [Step 10/10] I1127 07:02:46.619745 2938 metadata_manager.cpp:167] Looking for image 'test_image_volume' [07:02:46] : [Step 10/10] I1127 07:02:46.619925 2937 local_puller.cpp:147] Untarring image 'test_image_volume' from '/tmp/R6OUei/registry/test_image_volume.tar' to '/tmp/R6OUei/store/staging/2GNlJO' [07:02:46] : [Step 10/10] I1127 07:02:46.713526 2935 local_puller.cpp:167] The repositories JSON file for image 'test_image_volume' is '{"test_image_volume":{"latest":"815b809d588c80fd6ddf4d6ac244ad1c01ae4cbe0f91cc7480e306671ee9c346"}}' [07:02:46] : [Step 10/10] I1127 07:02:46.713726 2935 local_puller.cpp:295] Extracting layer tar ball '/tmp/R6OUei/store/staging/2GNlJO/815b809d588c80fd6ddf4d6ac244ad1c01ae4cbe0f91cc7480e306671ee9c346/layer.tar to rootfs '/tmp/R6OUei/store/staging/2GNlJO/815b809d588c80fd6ddf4d6ac244ad1c01ae4cbe0f91cc7480e306671ee9c346/rootfs' [07:02:46] : [Step 10/10] I1127 07:02:46.818696 2937 metadata_manager.cpp:155] Successfully cached image 'test_image_volume' [07:02:46] : [Step 10/10] I1127 07:02:46.819169 2934 provisioner.cpp:286] Image layers: 1 [07:02:46] : [Step 10/10] I1127 07:02:46.819188 2934 provisioner.cpp:296] Should hit here [07:02:46] : [Step 10/10] I1127 07:02:46.819221 2934 provisioner.cpp:315] !!!!: bind [07:02:46] : [Step 10/10] I1127 07:02:46.819232 2934 provisioner.cpp:315] !!!!: overlay [07:02:46] : [Step 10/10] I1127 07:02:46.819236 2934 provisioner.cpp:315] !!!!: copy [07:02:46] : [Step 10/10] I1127 07:02:46.819241 2934 provisioner.cpp:318] Provisioning image rootfs '/mnt/teamcity/temp/buildTmp/Nesting_VolumeImageIsolatorTest_ROOT_ImageInVolumeWithRootFilesystem_0_1fMo0c/provisioner/containers/9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330/backends/overlay/rootfses/baf632b3-29c5-45e4-9d2e-6f3a2bdd9759' for container 9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330 using overlay backend [07:02:46] : [Step 10/10] ../../src/tests/containerizer/volume_image_isolator_tests.cpp:214: Failure [07:02:46] : [Step 10/10] (launch).failure(): Failed to create symlink '/mnt/teamcity/temp/buildTmp/Nesting_VolumeImageIsolatorTest_ROOT_ImageInVolumeWithRootFilesystem_0_1fMo0c/provisioner/containers/9af6c98a-d9f7-4c89-a5ed-fc7ae2fa1330/backends/overlay/links' -> '/tmp/6dj9IG' [07:02:46] : [Step 10/10] [ FAILED ] Nesting/VolumeImageIsolatorTest.ROOT_ImageInVolumeWithRootFilesystem/0, where GetParam() = false (919 ms)
We should differenciate the links for different provisioned images.
Attachments
Issue Links
- is depended upon by
-
MESOS-5931 Support auto backend in Unified Containerizer.
- Resolved