Add fix for Molecule Docker 58/85558/5
authorMateusz Pilat <m.pilat@partner.samsung.com>
Wed, 17 Apr 2019 10:19:10 +0000 (12:19 +0200)
committerMateusz Pilat <m.pilat@partner.samsung.com>
Thu, 18 Apr 2019 05:44:48 +0000 (07:44 +0200)
Molecule Docker was not running when built by the root user

Issue-ID: OOM-1808
Change-Id: I27c3ecb6d5670ac1c447acba688b25e10d5a5a4d
Signed-off-by: Mateusz Pilat <m.pilat@partner.samsung.com>
ansible/test/molecule-docker/Dockerfile
ansible/test/molecule-docker/build.sh

index e4207f2..6181731 100644 (file)
@@ -3,6 +3,7 @@ FROM quay.io/ansible/molecule:2.20
 ARG USER_ID
 ARG GROUP_ID
 ARG DOCKER_GROUP_ID
+ARG DOCKER_USER
 
 # When user/group provided, create user to have matching ids (for the host user)
 # to avoid this docker writing files as root owned
@@ -10,11 +11,12 @@ RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
     # shadow needed for addgroup
     # sshpass needed for accessing docker_host (localhost) with ssh and without password prompt
     apk --no-cache add shadow sshpass && \
-    addgroup -g ${GROUP_ID} molecule && \
-    adduser -D -u ${USER_ID} -G molecule molecule && \
+    addgroup -g ${GROUP_ID} ${DOCKER_USER} && \
+    adduser -D -u ${USER_ID} -G ${DOCKER_USER} ${DOCKER_USER} && \
     # Add user to same docker group as in docker_host to be able to use docker driver as sudo
     groupadd docker-host -g ${DOCKER_GROUP_ID} && \
-    usermod -aG ${DOCKER_GROUP_ID} molecule \
+    usermod -aG ${DOCKER_GROUP_ID} ${DOCKER_USER} \
 ;fi
 
-USER molecule
+USER ${DOCKER_USER}
+
index 0b65f2a..b613e46 100755 (executable)
@@ -20,6 +20,7 @@
 
 SCRIPT_DIR=$(dirname "${0}")
 LOCAL_PATH=$(readlink -f "$SCRIPT_DIR")
+if [ $(id -u ${USER}) -eq "0" ]; then DOCKER_USER="root"; else DOCKER_USER="molecule"; fi
 
 set -e
 
@@ -27,6 +28,7 @@ docker build \
     --build-arg USER_ID=$(id -u ${USER}) \
     --build-arg GROUP_ID=$(id -g ${USER}) \
     --build-arg DOCKER_GROUP_ID=$(getent group docker | cut -f 3 -d ':') \
+    --build-arg DOCKER_USER=${DOCKER_USER} \
     -t molecule-dev:2.20.0 \
     ${LOCAL_PATH}