From bf1fb97575ae0c929075f8340d7deb4ae9f41fae Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Fri, 11 Aug 2023 13:21:00 +0200 Subject: [PATCH] daemon: Daemon.containerStart(): add comment to clarify error-type Any error that occurs while creating the spec, even if it's the result of an invalid container config, must be considered a System error (internal server error), as it's not an error with the request to start the container. Invalid configuration in the config itself must be validated when creating the container (creating its config), but some errors are dependent on the current state, for example when starting a container that shares a namespace with another container, and that container is not running (or missing). Signed-off-by: Sebastiaan van Stijn --- daemon/start.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/daemon/start.go b/daemon/start.go index 6d6d2fc969..87bb8fba55 100644 --- a/daemon/start.go +++ b/daemon/start.go @@ -154,6 +154,16 @@ func (daemon *Daemon) containerStart(ctx context.Context, daemonCfg *configStore spec, err := daemon.createSpec(ctx, daemonCfg, container) if err != nil { + // Any error that occurs while creating the spec, even if it's the + // result of an invalid container config, must be considered a System + // error (internal server error), as it's not an error with the request + // to start the container. + // + // Invalid configuration in the config itself must be validated when + // creating the container (creating its config), but some errors are + // dependent on the current state, for example when starting a container + // that shares a namespace with another container, and that container + // is not running (or missing). return errdefs.System(err) }