*: update drainExecSyncIO docs and validate the timeout

We should validate the drainExecSyncIO timeout at the beginning and
raise the error for any invalid input.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
This commit is contained in:
Wei Fu 2023-03-03 09:15:31 +08:00
parent 3c18decea7
commit 791f137a5b
4 changed files with 14 additions and 2 deletions

View File

@ -227,6 +227,16 @@ version = 2
# https://github.com/container-orchestrated-devices/container-device-interface#containerd-configuration # https://github.com/container-orchestrated-devices/container-device-interface#containerd-configuration
cdi_spec_dirs = ["/etc/cdi", "/var/run/cdi"] cdi_spec_dirs = ["/etc/cdi", "/var/run/cdi"]
# drain_exec_sync_io_timeout is the maximum duration to wait for ExecSync API'
# IO EOF event after exec init process exits. A zero value means there is no
# timeout.
#
# The string is in the golang duration format, see:
# https://golang.org/pkg/time/#ParseDuration
#
# For example, the value can be '5h', '2h30m', '10s'.
drain_exec_sync_io_timeout = "0s"
# 'plugins."io.containerd.grpc.v1.cri".containerd' contains config related to containerd # 'plugins."io.containerd.grpc.v1.cri".containerd' contains config related to containerd
[plugins."io.containerd.grpc.v1.cri".containerd] [plugins."io.containerd.grpc.v1.cri".containerd]

View File

@ -357,6 +357,8 @@ type PluginConfig struct {
// //
// The string is in the golang duration format, see: // The string is in the golang duration format, see:
// https://golang.org/pkg/time/#ParseDuration // https://golang.org/pkg/time/#ParseDuration
//
// For example, the value can be '5h', '2h30m', '10s'.
DrainExecSyncIOTimeout string `toml:"drain_exec_sync_io_timeout" json:"drainExecSyncIOTimeout"` DrainExecSyncIOTimeout string `toml:"drain_exec_sync_io_timeout" json:"drainExecSyncIOTimeout"`
} }

View File

@ -110,6 +110,6 @@ func DefaultConfig() PluginConfig {
EnableCDI: false, EnableCDI: false,
CDISpecDirs: []string{"/etc/cdi", "/var/run/cdi"}, CDISpecDirs: []string{"/etc/cdi", "/var/run/cdi"},
ImagePullProgressTimeout: time.Minute.String(), ImagePullProgressTimeout: time.Minute.String(),
DrainExecSyncIOTimeout: "0", DrainExecSyncIOTimeout: "0s",
} }
} }

View File

@ -86,6 +86,6 @@ func DefaultConfig() PluginConfig {
KeyModel: KeyModelNode, KeyModel: KeyModelNode,
}, },
ImagePullProgressTimeout: time.Minute.String(), ImagePullProgressTimeout: time.Minute.String(),
DrainExecSyncIOTimeout: "0", DrainExecSyncIOTimeout: "0s",
} }
} }