summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/podman/containers/run.go8
-rw-r--r--libpod/runtime.go8
-rw-r--r--test/e2e/run_device_test.go6
3 files changed, 19 insertions, 3 deletions
diff --git a/cmd/podman/containers/run.go b/cmd/podman/containers/run.go
index 8e27977c0..4bd06a47b 100644
--- a/cmd/podman/containers/run.go
+++ b/cmd/podman/containers/run.go
@@ -77,6 +77,11 @@ func runFlags(cmd *cobra.Command) {
flags.StringVar(&runOpts.DetachKeys, detachKeysFlagName, containerConfig.DetachKeys(), "Override the key sequence for detaching a container. Format is a single character `[a-Z]` or a comma separated sequence of `ctrl-<value>`, where `<value>` is one of: `a-cf`, `@`, `^`, `[`, `\\`, `]`, `^` or `_`")
_ = cmd.RegisterFlagCompletionFunc(detachKeysFlagName, common.AutocompleteDetachKeys)
+ gpuFlagName := "gpus"
+ flags.String(gpuFlagName, "", "This is a Docker specific option and is a NOOP")
+ _ = cmd.RegisterFlagCompletionFunc(gpuFlagName, completion.AutocompleteNone)
+ _ = flags.MarkHidden("gpus")
+
if registry.IsRemote() {
_ = flags.MarkHidden("preserve-fds")
_ = flags.MarkHidden("conmon-pidfile")
@@ -204,5 +209,8 @@ func run(cmd *cobra.Command, args []string) error {
logrus.Errorf("%s", errorhandling.JoinErrors(rmErrors))
}
}
+ if cmd.Flag("gpus").Changed {
+ logrus.Info("--gpus is a Docker specific option and is a NOOP")
+ }
return nil
}
diff --git a/libpod/runtime.go b/libpod/runtime.go
index 713026a9e..e551e6fe8 100644
--- a/libpod/runtime.go
+++ b/libpod/runtime.go
@@ -217,8 +217,6 @@ func newRuntimeFromConfig(ctx context.Context, conf *config.Config, options ...R
return nil, err
}
- runtime.libimageEventsShutdown = make(chan bool)
-
return runtime, nil
}
@@ -701,6 +699,8 @@ var libimageEventsMap = map[libimage.EventType]events.Status{
// events on the libimage.Runtime. The gourtine will be cleaned up implicitly
// when the main() exists.
func (r *Runtime) libimageEvents() {
+ r.libimageEventsShutdown = make(chan bool)
+
toLibpodEventStatus := func(e *libimage.Event) events.Status {
status, found := libimageEventsMap[e.Type]
if !found {
@@ -780,7 +780,9 @@ func (r *Runtime) Shutdown(force bool) error {
// attempt to shut it down
if r.store != nil {
// Wait for the events to be written.
- r.libimageEventsShutdown <- true
+ if r.libimageEventsShutdown != nil {
+ r.libimageEventsShutdown <- true
+ }
// Note that the libimage runtime shuts down the store.
if err := r.libimageRuntime.Shutdown(force); err != nil {
diff --git a/test/e2e/run_device_test.go b/test/e2e/run_device_test.go
index 3137e3fe4..735e44d3e 100644
--- a/test/e2e/run_device_test.go
+++ b/test/e2e/run_device_test.go
@@ -113,4 +113,10 @@ var _ = Describe("Podman run device", func() {
Expect(session.ExitCode()).To(Equal(0))
Expect(session.OutputToString()).To(Equal("/dev/kmsg1"))
})
+
+ It("podman run --gpus noop", func() {
+ session := podmanTest.Podman([]string{"run", "--gpus", "all", ALPINE, "ls", "/"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ })
})