summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-02-18 03:13:41 -0500
committerGitHub <noreply@github.com>2021-02-18 03:13:41 -0500
commitc3419d2168415cb3e6f1349afaa9c04c29cbb933 (patch)
treec2d0764e897e75640da9f447360fbfb94dabae39
parentd48f4a0e1f3d24fb4f98351b5bdd31daa34c0fb6 (diff)
parenta9d548bf771ae8011ed0d9862184980599dde9a1 (diff)
downloadpodman-c3419d2168415cb3e6f1349afaa9c04c29cbb933.tar.gz
podman-c3419d2168415cb3e6f1349afaa9c04c29cbb933.tar.bz2
podman-c3419d2168415cb3e6f1349afaa9c04c29cbb933.zip
Merge pull request #9415 from mheon/fix_9354
Change source path resolution for volume copy-up
-rw-r--r--libpod/container_internal.go2
-rw-r--r--test/e2e/run_volume_test.go12
2 files changed, 13 insertions, 1 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go
index ca0e082ff..e22f3fcfa 100644
--- a/libpod/container_internal.go
+++ b/libpod/container_internal.go
@@ -1644,7 +1644,7 @@ func (c *Container) mountNamedVolume(v *ContainerNamedVolume, mountpoint string)
getOptions := copier.GetOptions{
KeepDirectoryNames: false,
}
- errChan <- copier.Get(mountpoint, "", getOptions, []string{v.Dest + "/."}, writer)
+ errChan <- copier.Get(srcDir, "", getOptions, []string{"/."}, writer)
}()
// Copy, volume side: stream what we've written to the pipe, into
diff --git a/test/e2e/run_volume_test.go b/test/e2e/run_volume_test.go
index 91d8f15f4..d81fb769d 100644
--- a/test/e2e/run_volume_test.go
+++ b/test/e2e/run_volume_test.go
@@ -334,6 +334,18 @@ RUN sh -c "cd /etc/apk && ln -s ../../testfile"`
Expect(outputSession.OutputToString()).To(Equal(baselineOutput))
})
+ It("podman named volume copyup of /var", func() {
+ baselineSession := podmanTest.Podman([]string{"run", "--rm", "-t", "-i", fedoraMinimal, "ls", "/var"})
+ baselineSession.WaitWithDefaultTimeout()
+ Expect(baselineSession.ExitCode()).To(Equal(0))
+ baselineOutput := baselineSession.OutputToString()
+
+ outputSession := podmanTest.Podman([]string{"run", "-t", "-i", "-v", "/var", fedoraMinimal, "ls", "/var"})
+ outputSession.WaitWithDefaultTimeout()
+ Expect(outputSession.ExitCode()).To(Equal(0))
+ Expect(outputSession.OutputToString()).To(Equal(baselineOutput))
+ })
+
It("podman read-only tmpfs conflict with volume", func() {
session := podmanTest.Podman([]string{"run", "--rm", "-t", "-i", "--read-only", "-v", "tmp_volume:" + dest, ALPINE, "touch", dest + "/a"})
session.WaitWithDefaultTimeout()