Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 34C6F200B69 for ; Sat, 6 Aug 2016 03:00:34 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 33BD9160A8E; Sat, 6 Aug 2016 01:00:34 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 82C0D160AAC for ; Sat, 6 Aug 2016 03:00:33 +0200 (CEST) Received: (qmail 47956 invoked by uid 500); 6 Aug 2016 01:00:32 -0000 Mailing-List: contact issues-help@mesos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@mesos.apache.org Delivered-To: mailing list issues@mesos.apache.org Received: (qmail 47936 invoked by uid 99); 6 Aug 2016 01:00:32 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Aug 2016 01:00:32 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 3DEC82C0D66 for ; Sat, 6 Aug 2016 01:00:32 +0000 (UTC) Date: Sat, 6 Aug 2016 01:00:32 +0000 (UTC) From: "Gilbert Song (JIRA)" To: issues@mesos.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (MESOS-5028) Copy provisioner cannot replace directory with symlink MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Sat, 06 Aug 2016 01:00:34 -0000 [ https://issues.apache.org/jira/browse/MESOS-5028?page=3Dcom.atlassian= .jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1541= 0349#comment-15410349 ]=20 Gilbert Song commented on MESOS-5028: ------------------------------------- [~zhitao], I have been trying manually for a while. Seems like this issue m= ay not be straightforwards. Since the extra layer contains two things: 1. the whiteout file. 2. the symlink file. Currently we get an error when copying, because we cannot use a non-directo= ry to overwrite a directory. However, even if we can overwrite it finally, = the symlink will be deleted by the labeled whiteout file. Ok, I have one solution for this, by introducing extra whiteout filtering l= ogic into each layers in copy backend. Seems like we may have to do that. > Copy provisioner cannot replace directory with symlink > ------------------------------------------------------ > > Key: MESOS-5028 > URL: https://issues.apache.org/jira/browse/MESOS-5028 > Project: Mesos > Issue Type: Bug > Components: containerization > Reporter: Zhitao Li > Assignee: Gilbert Song > > I'm trying to play with the new image provisioner on our custom docker im= ages, but one of layer failed to get copied, possibly due to a dangling sym= link. > Error log with Glog_v=3D1: > {quote} > I0324 05:42:48.926678 15067 copy.cpp:127] Copying layer path '/tmp/mesos/= store/docker/layers/5df0888641196b88dcc1b97d04c74839f02a73b8a194a79e134426d= 6a8fcb0f1/rootfs' to rootfs '/var/lib/mesos/provisioner/containers/5f05be6c= -c970-4539-aa64-fd0eef2ec7ae/backends/copy/rootfses/507173f3-e316-48a3-a96e= -5fdea9ffe9f6' > E0324 05:42:49.028506 15062 slave.cpp:3773] Container '5f05be6c-c970-4539= -aa64-fd0eef2ec7ae' for executor 'test' of framework 75932a89-1514-4011-baf= e-beb6a208bb2d-0004 failed to start: Collect failed: Collect failed: Failed= to copy layer: cp: cannot overwrite directory =E2=80=98/var/lib/mesos/prov= isioner/containers/5f05be6c-c970-4539-aa64-fd0eef2ec7ae/backends/copy/rootf= ses/507173f3-e316-48a3-a96e-5fdea9ffe9f6/etc/apt=E2=80=99 with non-director= y > {quote} > Content of _/tmp/mesos/store/docker/layers/5df0888641196b88dcc1b97d04c748= 39f02a73b8a194a79e134426d6a8fcb0f1/rootfs/etc/apt_ points to a non-existing= absolute path (cannot provide exact path but it's a result of us trying to= mount apt keys into docker container at build time). > I believe what happened is that we executed a script at build time, which= contains equivalent of: > {quote} > rm -rf /etc/apt/* && ln -sf /build-mount-point/ /etc/apt > {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)