diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-09-25 09:16:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-25 09:16:44 +0200 |
commit | 525be7d3db4d21aa39ecf1a164d0f861b9062b9c (patch) | |
tree | 74a22adfad49c627e1b730e99c23d937f21711de | |
parent | 0000afc1af06b04ececeb91637bb3d80d6f47e14 (diff) | |
parent | d89414b1f0ca3fa2e9685681361c667960332f03 (diff) | |
download | podman-525be7d3db4d21aa39ecf1a164d0f861b9062b9c.tar.gz podman-525be7d3db4d21aa39ecf1a164d0f861b9062b9c.tar.bz2 podman-525be7d3db4d21aa39ecf1a164d0f861b9062b9c.zip |
Merge pull request #4103 from mheon/handle_volume_conflict
Handle conflict between volumes and --read-only-tmpfs
-rw-r--r-- | pkg/spec/storage.go | 3 | ||||
-rw-r--r-- | test/e2e/run_volume_test.go | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/pkg/spec/storage.go b/pkg/spec/storage.go index 3d59d70d8..93919dd0a 100644 --- a/pkg/spec/storage.go +++ b/pkg/spec/storage.go @@ -168,6 +168,9 @@ func (config *CreateConfig) parseVolumes(runtime *libpod.Runtime) ([]spec.Mount, if _, ok := baseMounts[dest]; ok { continue } + if _, ok := baseVolumes[dest]; ok { + continue + } localOpts := options if dest == "/run" { localOpts = append(localOpts, "noexec", "size=65536k") diff --git a/test/e2e/run_volume_test.go b/test/e2e/run_volume_test.go index fc1998ab2..bc3a14b66 100644 --- a/test/e2e/run_volume_test.go +++ b/test/e2e/run_volume_test.go @@ -270,4 +270,14 @@ var _ = Describe("Podman run with volumes", func() { Expect(separateVolumeSession.ExitCode()).To(Equal(0)) Expect(separateVolumeSession.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:/run", ALPINE, "touch", "/run/a"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + + session2 := podmanTest.Podman([]string{"run", "--rm", "-t", "-i", "--read-only", "--tmpfs", "/run", ALPINE, "touch", "/run/a"}) + session2.WaitWithDefaultTimeout() + Expect(session2.ExitCode()).To(Equal(0)) + }) }) |