pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/36836?usp=email )
Change subject: ttcn3-docker-run.sh: Fix dumpcap failing to access /data inside docker ...................................................................... ttcn3-docker-run.sh: Fix dumpcap failing to access /data inside docker In docker, the /data dir is mapped to $VOL_BASE_DIR, which is created by docker-playground.git jenkins-common.sh, hence as the user running jenkins.sh in the host system. As a result, when the dir is mapped to /data, inside the container it will have the UID:GID of the outter user, not the one inside docker. Before this patch, if a ttcn3 container was started in jenkins.sh with --cap-add=NET_ADMIN, then osmo-ttcn3-hacks.git/ttcn3-tcpdump-start.sh would select dumpcap instead of tcpdump, to attempt to record a pcap file to /data/$testcase.pcap. Due to some unknown way of dropping privileges done by dumpcap though, it was unable to open the /data/$testcase.pcap due to /data being owned to another user (tcpdump doesn't have this problem). This patch fixes the above scenario by making sure /data is chowned to the user running stuff inside docker. This is already kinda expected since there's a fix_perms() script in jenkins-common.sh reverting files created during the test so that they can be accessible by outter user once everything is finished. Change-Id: I1229a91cdbb1aa73fd94f1bf7e26f34086f06b25 --- M common/ttcn3-docker-run.sh 1 file changed, 32 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Hoernchen: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/common/ttcn3-docker-run.sh b/common/ttcn3-docker-run.sh index c8c871e..60339c4 100755 --- a/common/ttcn3-docker-run.sh +++ b/common/ttcn3-docker-run.sh @@ -31,6 +31,9 @@ done fi +# Make sure /data is owned to the user running inside docker. +# jenkins-commons.sh fix_perms() will fix back the permissions once done. +chown -R "$(id -u):$(id -g)" /data cd /data # Use TEST_NAME to only run one test instead of all. Set it like this: -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/36836?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1229a91cdbb1aa73fd94f1bf7e26f34086f06b25 Gerrit-Change-Number: 36836 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pes...@sysmocom.de> Gerrit-Reviewer: Hoernchen <ew...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <lafo...@osmocom.org> Gerrit-Reviewer: osmith <osm...@sysmocom.de> Gerrit-Reviewer: pespin <pes...@sysmocom.de> Gerrit-MessageType: merged