Merge pull request #47719 from thaJeztah/vendor_runtime_spec
vendor: github.com/opencontainers/runtime-spec v1.2.0
This commit is contained in:
commit
29f24a828b
10 changed files with 52 additions and 16 deletions
|
@ -104,8 +104,8 @@ func getMemoryResources(config containertypes.Resources) *specs.LinuxMemory {
|
||||||
memory.DisableOOMKiller = config.OomKillDisable
|
memory.DisableOOMKiller = config.OomKillDisable
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.KernelMemory != 0 {
|
if config.KernelMemory != 0 { //nolint:staticcheck // ignore SA1019: memory.Kernel is deprecated: kernel-memory limits are not supported in cgroups v2, and were obsoleted in [kernel v5.4]. This field should no longer be used, as it may be ignored by runtimes.
|
||||||
memory.Kernel = &config.KernelMemory
|
memory.Kernel = &config.KernelMemory //nolint:staticcheck // ignore SA1019: memory.Kernel is deprecated: kernel-memory limits are not supported in cgroups v2, and were obsoleted in [kernel v5.4]. This field should no longer be used, as it may be ignored by runtimes.
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.KernelMemoryTCP != 0 {
|
if config.KernelMemoryTCP != 0 {
|
||||||
|
|
|
@ -83,7 +83,13 @@ func setNvidiaGPUs(s *specs.Spec, dev *deviceInstance) error {
|
||||||
if s.Hooks == nil {
|
if s.Hooks == nil {
|
||||||
s.Hooks = &specs.Hooks{}
|
s.Hooks = &specs.Hooks{}
|
||||||
}
|
}
|
||||||
s.Hooks.Prestart = append(s.Hooks.Prestart, specs.Hook{
|
|
||||||
|
// This implementation uses prestart hooks, which are deprecated.
|
||||||
|
// CreateRuntime is the closest equivalent, and executed in the same
|
||||||
|
// locations as prestart-hooks, but depending on what these hooks do,
|
||||||
|
// possibly one of the other hooks could be used instead (such as
|
||||||
|
// CreateContainer or StartContainer).
|
||||||
|
s.Hooks.Prestart = append(s.Hooks.Prestart, specs.Hook{ //nolint:staticcheck // FIXME(thaJeztah); replace prestart hook with a non-deprecated one.
|
||||||
Path: path,
|
Path: path,
|
||||||
Args: []string{
|
Args: []string{
|
||||||
nvidiaHook,
|
nvidiaHook,
|
||||||
|
|
|
@ -73,7 +73,7 @@ func withLibnetwork(daemon *Daemon, daemonCfg *dconfig.Config, c *container.Cont
|
||||||
s.Hooks = &specs.Hooks{}
|
s.Hooks = &specs.Hooks{}
|
||||||
}
|
}
|
||||||
shortNetCtlrID := stringid.TruncateID(daemon.netController.ID())
|
shortNetCtlrID := stringid.TruncateID(daemon.netController.ID())
|
||||||
s.Hooks.Prestart = append(s.Hooks.Prestart, specs.Hook{
|
s.Hooks.Prestart = append(s.Hooks.Prestart, specs.Hook{ //nolint:staticcheck // FIXME(thaJeztah); replace prestart hook with a non-deprecated one.
|
||||||
Path: filepath.Join("/proc", strconv.Itoa(os.Getpid()), "exe"),
|
Path: filepath.Join("/proc", strconv.Itoa(os.Getpid()), "exe"),
|
||||||
Args: []string{"libnetwork-setkey", "-exec-root=" + daemonCfg.GetExecRoot(), c.ID, shortNetCtlrID},
|
Args: []string{"libnetwork-setkey", "-exec-root=" + daemonCfg.GetExecRoot(), c.ID, shortNetCtlrID},
|
||||||
})
|
})
|
||||||
|
|
|
@ -59,8 +59,8 @@ func toContainerdResources(resources container.Resources) *libcontainerdtypes.Re
|
||||||
if resources.MemoryReservation != 0 {
|
if resources.MemoryReservation != 0 {
|
||||||
memory.Reservation = &resources.MemoryReservation
|
memory.Reservation = &resources.MemoryReservation
|
||||||
}
|
}
|
||||||
if resources.KernelMemory != 0 {
|
if resources.KernelMemory != 0 { //nolint:staticcheck // ignore SA1019: memory.Kernel is deprecated: kernel-memory limits are not supported in cgroups v2, and were obsoleted in [kernel v5.4]. This field should no longer be used, as it may be ignored by runtimes.
|
||||||
memory.Kernel = &resources.KernelMemory
|
memory.Kernel = &resources.KernelMemory //nolint:staticcheck // ignore SA1019: memory.Kernel is deprecated: kernel-memory limits are not supported in cgroups v2, and were obsoleted in [kernel v5.4]. This field should no longer be used, as it may be ignored by runtimes.
|
||||||
}
|
}
|
||||||
if resources.MemorySwap > 0 {
|
if resources.MemorySwap > 0 {
|
||||||
memory.Swap = &resources.MemorySwap
|
memory.Swap = &resources.MemorySwap
|
||||||
|
|
|
@ -78,7 +78,7 @@ require (
|
||||||
github.com/opencontainers/go-digest v1.0.0
|
github.com/opencontainers/go-digest v1.0.0
|
||||||
github.com/opencontainers/image-spec v1.1.0-rc5
|
github.com/opencontainers/image-spec v1.1.0-rc5
|
||||||
github.com/opencontainers/runc v1.1.12
|
github.com/opencontainers/runc v1.1.12
|
||||||
github.com/opencontainers/runtime-spec v1.1.0
|
github.com/opencontainers/runtime-spec v1.2.0
|
||||||
github.com/opencontainers/selinux v1.11.0
|
github.com/opencontainers/selinux v1.11.0
|
||||||
github.com/pelletier/go-toml v1.9.5
|
github.com/pelletier/go-toml v1.9.5
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
|
|
|
@ -542,8 +542,8 @@ github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVn
|
||||||
github.com/opencontainers/runc v1.1.12 h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss=
|
github.com/opencontainers/runc v1.1.12 h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss=
|
||||||
github.com/opencontainers/runc v1.1.12/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8=
|
github.com/opencontainers/runc v1.1.12/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8=
|
||||||
github.com/opencontainers/runtime-spec v1.0.3-0.20220825212826-86290f6a00fb/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.0.3-0.20220825212826-86290f6a00fb/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg=
|
github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk=
|
||||||
github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0=
|
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0=
|
||||||
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI=
|
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI=
|
||||||
github.com/opencontainers/selinux v1.9.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI=
|
github.com/opencontainers/selinux v1.9.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI=
|
||||||
|
|
10
vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
generated
vendored
10
vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
generated
vendored
|
@ -187,6 +187,10 @@ type Hook struct {
|
||||||
type Hooks struct {
|
type Hooks struct {
|
||||||
// Prestart is Deprecated. Prestart is a list of hooks to be run before the container process is executed.
|
// Prestart is Deprecated. Prestart is a list of hooks to be run before the container process is executed.
|
||||||
// It is called in the Runtime Namespace
|
// It is called in the Runtime Namespace
|
||||||
|
//
|
||||||
|
// Deprecated: use [Hooks.CreateRuntime], [Hooks.CreateContainer], and
|
||||||
|
// [Hooks.StartContainer] instead, which allow more granular hook control
|
||||||
|
// during the create and start phase.
|
||||||
Prestart []Hook `json:"prestart,omitempty"`
|
Prestart []Hook `json:"prestart,omitempty"`
|
||||||
// CreateRuntime is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called
|
// CreateRuntime is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called
|
||||||
// It is called in the Runtime Namespace
|
// It is called in the Runtime Namespace
|
||||||
|
@ -371,6 +375,12 @@ type LinuxMemory struct {
|
||||||
// Total memory limit (memory + swap).
|
// Total memory limit (memory + swap).
|
||||||
Swap *int64 `json:"swap,omitempty"`
|
Swap *int64 `json:"swap,omitempty"`
|
||||||
// Kernel memory limit (in bytes).
|
// Kernel memory limit (in bytes).
|
||||||
|
//
|
||||||
|
// Deprecated: kernel-memory limits are not supported in cgroups v2, and
|
||||||
|
// were obsoleted in [kernel v5.4]. This field should no longer be used,
|
||||||
|
// as it may be ignored by runtimes.
|
||||||
|
//
|
||||||
|
// [kernel v5.4]: https://github.com/torvalds/linux/commit/0158115f702b0ba208ab0
|
||||||
Kernel *int64 `json:"kernel,omitempty"`
|
Kernel *int64 `json:"kernel,omitempty"`
|
||||||
// Kernel memory limit for tcp (in bytes)
|
// Kernel memory limit for tcp (in bytes)
|
||||||
KernelTCP *int64 `json:"kernelTCP,omitempty"`
|
KernelTCP *int64 `json:"kernelTCP,omitempty"`
|
||||||
|
|
30
vendor/github.com/opencontainers/runtime-spec/specs-go/features/features.go
generated
vendored
30
vendor/github.com/opencontainers/runtime-spec/specs-go/features/features.go
generated
vendored
|
@ -24,6 +24,12 @@ type Features struct {
|
||||||
// Annotations contains implementation-specific annotation strings,
|
// Annotations contains implementation-specific annotation strings,
|
||||||
// such as the implementation version, and third-party extensions.
|
// such as the implementation version, and third-party extensions.
|
||||||
Annotations map[string]string `json:"annotations,omitempty"`
|
Annotations map[string]string `json:"annotations,omitempty"`
|
||||||
|
|
||||||
|
// PotentiallyUnsafeConfigAnnotations the list of the potential unsafe annotations
|
||||||
|
// that may appear in `config.json`.
|
||||||
|
//
|
||||||
|
// A value that ends with "." is interpreted as a prefix of annotations.
|
||||||
|
PotentiallyUnsafeConfigAnnotations []string `json:"potentiallyUnsafeConfigAnnotations,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Linux is specific to Linux.
|
// Linux is specific to Linux.
|
||||||
|
@ -36,11 +42,12 @@ type Linux struct {
|
||||||
// Nil value means "unknown", not "no support for any capability".
|
// Nil value means "unknown", not "no support for any capability".
|
||||||
Capabilities []string `json:"capabilities,omitempty"`
|
Capabilities []string `json:"capabilities,omitempty"`
|
||||||
|
|
||||||
Cgroup *Cgroup `json:"cgroup,omitempty"`
|
Cgroup *Cgroup `json:"cgroup,omitempty"`
|
||||||
Seccomp *Seccomp `json:"seccomp,omitempty"`
|
Seccomp *Seccomp `json:"seccomp,omitempty"`
|
||||||
Apparmor *Apparmor `json:"apparmor,omitempty"`
|
Apparmor *Apparmor `json:"apparmor,omitempty"`
|
||||||
Selinux *Selinux `json:"selinux,omitempty"`
|
Selinux *Selinux `json:"selinux,omitempty"`
|
||||||
IntelRdt *IntelRdt `json:"intelRdt,omitempty"`
|
IntelRdt *IntelRdt `json:"intelRdt,omitempty"`
|
||||||
|
MountExtensions *MountExtensions `json:"mountExtensions,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cgroup represents the "cgroup" field.
|
// Cgroup represents the "cgroup" field.
|
||||||
|
@ -123,3 +130,16 @@ type IntelRdt struct {
|
||||||
// Nil value means "unknown", not "false".
|
// Nil value means "unknown", not "false".
|
||||||
Enabled *bool `json:"enabled,omitempty"`
|
Enabled *bool `json:"enabled,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MountExtensions represents the "mountExtensions" field.
|
||||||
|
type MountExtensions struct {
|
||||||
|
// IDMap represents the status of idmap mounts support.
|
||||||
|
IDMap *IDMap `json:"idmap,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type IDMap struct {
|
||||||
|
// Enabled represents whether idmap mounts supports is compiled in.
|
||||||
|
// Unrelated to whether the host supports it or not.
|
||||||
|
// Nil value means "unknown", not "false".
|
||||||
|
Enabled *bool `json:"enabled,omitempty"`
|
||||||
|
}
|
||||||
|
|
2
vendor/github.com/opencontainers/runtime-spec/specs-go/version.go
generated
vendored
2
vendor/github.com/opencontainers/runtime-spec/specs-go/version.go
generated
vendored
|
@ -6,7 +6,7 @@ const (
|
||||||
// VersionMajor is for an API incompatible changes
|
// VersionMajor is for an API incompatible changes
|
||||||
VersionMajor = 1
|
VersionMajor = 1
|
||||||
// VersionMinor is for functionality in a backwards-compatible manner
|
// VersionMinor is for functionality in a backwards-compatible manner
|
||||||
VersionMinor = 1
|
VersionMinor = 2
|
||||||
// VersionPatch is for backwards-compatible bug fixes
|
// VersionPatch is for backwards-compatible bug fixes
|
||||||
VersionPatch = 0
|
VersionPatch = 0
|
||||||
|
|
||||||
|
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
|
@ -993,7 +993,7 @@ github.com/opencontainers/runc/libcontainer/devices
|
||||||
github.com/opencontainers/runc/libcontainer/user
|
github.com/opencontainers/runc/libcontainer/user
|
||||||
github.com/opencontainers/runc/libcontainer/userns
|
github.com/opencontainers/runc/libcontainer/userns
|
||||||
github.com/opencontainers/runc/libcontainer/utils
|
github.com/opencontainers/runc/libcontainer/utils
|
||||||
# github.com/opencontainers/runtime-spec v1.1.0
|
# github.com/opencontainers/runtime-spec v1.2.0
|
||||||
## explicit
|
## explicit
|
||||||
github.com/opencontainers/runtime-spec/specs-go
|
github.com/opencontainers/runtime-spec/specs-go
|
||||||
github.com/opencontainers/runtime-spec/specs-go/features
|
github.com/opencontainers/runtime-spec/specs-go/features
|
||||||
|
|
Loading…
Reference in a new issue