aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-09-25 09:16:44 +0200
committerGitHub <noreply@github.com>2019-09-25 09:16:44 +0200
commit525be7d3db4d21aa39ecf1a164d0f861b9062b9c (patch)
tree74a22adfad49c627e1b730e99c23d937f21711de
parent0000afc1af06b04ececeb91637bb3d80d6f47e14 (diff)
parentd89414b1f0ca3fa2e9685681361c667960332f03 (diff)
downloadpodman-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.go3
-rw-r--r--test/e2e/run_volume_test.go10
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))
+ })
})