*: 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
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]

View File

@ -357,6 +357,8 @@ type PluginConfig struct {
//
// The string is in the golang duration format, see:
// 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"`
}

View File

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

View File

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