mirror of
https://github.com/containers/podman.git
synced 2025-10-29 08:57:26 +08:00
Pod Device Support
added support for pod devices. The device gets added to the infra container and recreated in all containers that join the pod. This required a new container config item to keep track of the original device passed in by the user before the path was parsed into the container device. Signed-off-by: cdoern <cdoern@redhat.com>
This commit is contained in:
@ -881,6 +881,25 @@ ENTRYPOINT ["sleep","99999"]
|
||||
ctr3 := podmanTest.Podman([]string{"run", "--pod", podName, ALPINE, "cat", "/tmp1/test"})
|
||||
ctr3.WaitWithDefaultTimeout()
|
||||
Expect(ctr3.OutputToString()).To(ContainSubstring("hello"))
|
||||
})
|
||||
|
||||
It("podman pod create --device", func() {
|
||||
SkipIfRootless("Cannot create devices in /dev in rootless mode")
|
||||
Expect(os.MkdirAll("/dev/foodevdir", os.ModePerm)).To(BeNil())
|
||||
defer os.RemoveAll("/dev/foodevdir")
|
||||
|
||||
mknod := SystemExec("mknod", []string{"/dev/foodevdir/null", "c", "1", "3"})
|
||||
mknod.WaitWithDefaultTimeout()
|
||||
Expect(mknod).Should(Exit(0))
|
||||
|
||||
podName := "testPod"
|
||||
session := podmanTest.Podman([]string{"pod", "create", "--device", "/dev/foodevdir:/dev/bar", "--name", podName})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).Should(Exit(0))
|
||||
session = podmanTest.Podman([]string{"run", "-q", "--pod", podName, ALPINE, "stat", "-c%t:%T", "/dev/bar/null"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).Should(Exit(0))
|
||||
Expect(session.OutputToString()).To(Equal("1:3"))
|
||||
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user