mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-21 15:57:49 +00:00
Bump tags.cncf.io/container-device-interface from 0.7.2 to 0.8.0
Bumps [tags.cncf.io/container-device-interface](https://github.com/cncf-tags/container-device-interface) from 0.7.2 to 0.8.0. - [Release notes](https://github.com/cncf-tags/container-device-interface/releases) - [Commits](https://github.com/cncf-tags/container-device-interface/compare/v0.7.2...v0.8.0) --- updated-dependencies: - dependency-name: tags.cncf.io/container-device-interface dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
parent
46838b1a44
commit
0c309df7e7
4
go.mod
4
go.mod
@ -13,8 +13,8 @@ require (
|
||||
github.com/urfave/cli/v2 v2.27.2
|
||||
golang.org/x/mod v0.18.0
|
||||
golang.org/x/sys v0.21.0
|
||||
tags.cncf.io/container-device-interface v0.7.2
|
||||
tags.cncf.io/container-device-interface/specs-go v0.7.0
|
||||
tags.cncf.io/container-device-interface v0.8.0
|
||||
tags.cncf.io/container-device-interface/specs-go v0.8.0
|
||||
)
|
||||
|
||||
require (
|
||||
|
8
go.sum
8
go.sum
@ -86,7 +86,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||
tags.cncf.io/container-device-interface v0.7.2 h1:MLqGnWfOr1wB7m08ieI4YJ3IoLKKozEnnNYBtacDPQU=
|
||||
tags.cncf.io/container-device-interface v0.7.2/go.mod h1:Xb1PvXv2BhfNb3tla4r9JL129ck1Lxv9KuU6eVOfKto=
|
||||
tags.cncf.io/container-device-interface/specs-go v0.7.0 h1:w/maMGVeLP6TIQJVYT5pbqTi8SCw/iHZ+n4ignuGHqg=
|
||||
tags.cncf.io/container-device-interface/specs-go v0.7.0/go.mod h1:hMAwAbMZyBLdmYqWgYcKH0F/yctNpV3P35f+/088A80=
|
||||
tags.cncf.io/container-device-interface v0.8.0 h1:8bCFo/g9WODjWx3m6EYl3GfUG31eKJbaggyBDxEldRc=
|
||||
tags.cncf.io/container-device-interface v0.8.0/go.mod h1:Apb7N4VdILW0EVdEMRYXIDVRZfNJZ+kmEUss2kRRQ6Y=
|
||||
tags.cncf.io/container-device-interface/specs-go v0.8.0 h1:QYGFzGxvYK/ZLMrjhvY0RjpUavIn4KcmRmVP/JjdBTA=
|
||||
tags.cncf.io/container-device-interface/specs-go v0.8.0/go.mod h1:BhJIkjjPh4qpys+qm4DAYtUyryaTDg9zris+AczXyws=
|
||||
|
4
vendor/modules.txt
vendored
4
vendor/modules.txt
vendored
@ -83,12 +83,12 @@ gopkg.in/yaml.v3
|
||||
# sigs.k8s.io/yaml v1.3.0
|
||||
## explicit; go 1.12
|
||||
sigs.k8s.io/yaml
|
||||
# tags.cncf.io/container-device-interface v0.7.2
|
||||
# tags.cncf.io/container-device-interface v0.8.0
|
||||
## explicit; go 1.20
|
||||
tags.cncf.io/container-device-interface/internal/validation
|
||||
tags.cncf.io/container-device-interface/internal/validation/k8s
|
||||
tags.cncf.io/container-device-interface/pkg/cdi
|
||||
tags.cncf.io/container-device-interface/pkg/parser
|
||||
# tags.cncf.io/container-device-interface/specs-go v0.7.0
|
||||
# tags.cncf.io/container-device-interface/specs-go v0.8.0
|
||||
## explicit; go 1.19
|
||||
tags.cncf.io/container-device-interface/specs-go
|
||||
|
34
vendor/tags.cncf.io/container-device-interface/pkg/cdi/container-edits.go
generated
vendored
34
vendor/tags.cncf.io/container-device-interface/pkg/cdi/container-edits.go
generated
vendored
@ -89,7 +89,7 @@ func (e *ContainerEdits) Apply(spec *oci.Spec) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dev := d.ToOCI()
|
||||
dev := dn.toOCI()
|
||||
if dev.UID == nil && spec.Process != nil {
|
||||
if uid := spec.Process.User.UID; uid > 0 {
|
||||
dev.UID = &uid
|
||||
@ -116,29 +116,30 @@ func (e *ContainerEdits) Apply(spec *oci.Spec) error {
|
||||
if len(e.Mounts) > 0 {
|
||||
for _, m := range e.Mounts {
|
||||
specgen.RemoveMount(m.ContainerPath)
|
||||
specgen.AddMount(m.ToOCI())
|
||||
specgen.AddMount((&Mount{m}).toOCI())
|
||||
}
|
||||
sortMounts(&specgen)
|
||||
}
|
||||
|
||||
for _, h := range e.Hooks {
|
||||
ociHook := (&Hook{h}).toOCI()
|
||||
switch h.HookName {
|
||||
case PrestartHook:
|
||||
specgen.AddPreStartHook(h.ToOCI())
|
||||
specgen.AddPreStartHook(ociHook)
|
||||
case PoststartHook:
|
||||
specgen.AddPostStartHook(h.ToOCI())
|
||||
specgen.AddPostStartHook(ociHook)
|
||||
case PoststopHook:
|
||||
specgen.AddPostStopHook(h.ToOCI())
|
||||
specgen.AddPostStopHook(ociHook)
|
||||
// TODO: Maybe runtime-tools/generate should be updated with these...
|
||||
case CreateRuntimeHook:
|
||||
ensureOCIHooks(spec)
|
||||
spec.Hooks.CreateRuntime = append(spec.Hooks.CreateRuntime, h.ToOCI())
|
||||
spec.Hooks.CreateRuntime = append(spec.Hooks.CreateRuntime, ociHook)
|
||||
case CreateContainerHook:
|
||||
ensureOCIHooks(spec)
|
||||
spec.Hooks.CreateContainer = append(spec.Hooks.CreateContainer, h.ToOCI())
|
||||
spec.Hooks.CreateContainer = append(spec.Hooks.CreateContainer, ociHook)
|
||||
case StartContainerHook:
|
||||
ensureOCIHooks(spec)
|
||||
spec.Hooks.StartContainer = append(spec.Hooks.StartContainer, h.ToOCI())
|
||||
spec.Hooks.StartContainer = append(spec.Hooks.StartContainer, ociHook)
|
||||
default:
|
||||
return fmt.Errorf("unknown hook name %q", h.HookName)
|
||||
}
|
||||
@ -148,7 +149,7 @@ func (e *ContainerEdits) Apply(spec *oci.Spec) error {
|
||||
// The specgen is missing functionality to set all parameters so we
|
||||
// just piggy-back on it to initialize all structs and the copy over.
|
||||
specgen.SetLinuxIntelRdtClosID(e.IntelRdt.ClosID)
|
||||
spec.Linux.IntelRdt = e.IntelRdt.ToOCI()
|
||||
spec.Linux.IntelRdt = (&IntelRdt{e.IntelRdt}).toOCI()
|
||||
}
|
||||
|
||||
for _, additionalGID := range e.AdditionalGIDs {
|
||||
@ -186,7 +187,7 @@ func (e *ContainerEdits) Validate() error {
|
||||
}
|
||||
}
|
||||
if e.IntelRdt != nil {
|
||||
if err := ValidateIntelRdt(e.IntelRdt); err != nil {
|
||||
if err := (&IntelRdt{e.IntelRdt}).Validate(); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@ -321,8 +322,21 @@ func (m *Mount) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// IntelRdt is a CDI IntelRdt wrapper.
|
||||
// This is used for validation and conversion to OCI specifications.
|
||||
type IntelRdt struct {
|
||||
*specs.IntelRdt
|
||||
}
|
||||
|
||||
// ValidateIntelRdt validates the IntelRdt configuration.
|
||||
//
|
||||
// Deprecated: ValidateIntelRdt is deprecated use IntelRdt.Validate() instead.
|
||||
func ValidateIntelRdt(i *specs.IntelRdt) error {
|
||||
return (&IntelRdt{i}).Validate()
|
||||
}
|
||||
|
||||
// Validate validates the IntelRdt configuration.
|
||||
func (i *IntelRdt) Validate() error {
|
||||
// ClosID must be a valid Linux filename
|
||||
if len(i.ClosID) >= 4096 || i.ClosID == "." || i.ClosID == ".." || strings.ContainsAny(i.ClosID, "/\n") {
|
||||
return errors.New("invalid ClosID")
|
||||
|
65
vendor/tags.cncf.io/container-device-interface/pkg/cdi/oci.go
generated
vendored
Normal file
65
vendor/tags.cncf.io/container-device-interface/pkg/cdi/oci.go
generated
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
/*
|
||||
Copyright © 2021 The CDI Authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cdi
|
||||
|
||||
import (
|
||||
spec "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
// toOCI returns the opencontainers runtime Spec Hook for this Hook.
|
||||
func (h *Hook) toOCI() spec.Hook {
|
||||
return spec.Hook{
|
||||
Path: h.Path,
|
||||
Args: h.Args,
|
||||
Env: h.Env,
|
||||
Timeout: h.Timeout,
|
||||
}
|
||||
}
|
||||
|
||||
// toOCI returns the opencontainers runtime Spec Mount for this Mount.
|
||||
func (m *Mount) toOCI() spec.Mount {
|
||||
return spec.Mount{
|
||||
Source: m.HostPath,
|
||||
Destination: m.ContainerPath,
|
||||
Options: m.Options,
|
||||
Type: m.Type,
|
||||
}
|
||||
}
|
||||
|
||||
// toOCI returns the opencontainers runtime Spec LinuxDevice for this DeviceNode.
|
||||
func (d *DeviceNode) toOCI() spec.LinuxDevice {
|
||||
return spec.LinuxDevice{
|
||||
Path: d.Path,
|
||||
Type: d.Type,
|
||||
Major: d.Major,
|
||||
Minor: d.Minor,
|
||||
FileMode: d.FileMode,
|
||||
UID: d.UID,
|
||||
GID: d.GID,
|
||||
}
|
||||
}
|
||||
|
||||
// toOCI returns the opencontainers runtime Spec LinuxIntelRdt for this IntelRdt config.
|
||||
func (i *IntelRdt) toOCI() *spec.LinuxIntelRdt {
|
||||
return &spec.LinuxIntelRdt{
|
||||
ClosID: i.ClosID,
|
||||
L3CacheSchema: i.L3CacheSchema,
|
||||
MemBwSchema: i.MemBwSchema,
|
||||
EnableCMT: i.EnableCMT,
|
||||
EnableMBM: i.EnableMBM,
|
||||
}
|
||||
}
|
9
vendor/tags.cncf.io/container-device-interface/pkg/cdi/version.go
generated
vendored
9
vendor/tags.cncf.io/container-device-interface/pkg/cdi/version.go
generated
vendored
@ -40,6 +40,7 @@ const (
|
||||
v050 version = "v0.5.0"
|
||||
v060 version = "v0.6.0"
|
||||
v070 version = "v0.7.0"
|
||||
v080 version = "v0.8.0"
|
||||
|
||||
// vEarliest is the earliest supported version of the CDI specification
|
||||
vEarliest version = v030
|
||||
@ -56,6 +57,7 @@ var validSpecVersions = requiredVersionMap{
|
||||
v050: requiresV050,
|
||||
v060: requiresV060,
|
||||
v070: requiresV070,
|
||||
v080: requiresV080,
|
||||
}
|
||||
|
||||
// MinimumRequiredVersion determines the minimum spec version for the input spec.
|
||||
@ -120,6 +122,13 @@ func (r requiredVersionMap) requiredVersion(spec *cdi.Spec) version {
|
||||
return minVersion
|
||||
}
|
||||
|
||||
// requiresV080 returns true if the spec uses v0.8.0 features.
|
||||
// Since the v0.8.0 spec bump was due to the removed .ToOCI functions on the
|
||||
// spec types, there are explicit spec changes.
|
||||
func requiresV080(_ *cdi.Spec) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// requiresV070 returns true if the spec uses v0.7.0 features
|
||||
func requiresV070(spec *cdi.Spec) bool {
|
||||
if spec.ContainerEdits.IntelRdt != nil {
|
||||
|
2
vendor/tags.cncf.io/container-device-interface/specs-go/config.go
generated
vendored
2
vendor/tags.cncf.io/container-device-interface/specs-go/config.go
generated
vendored
@ -3,7 +3,7 @@ package specs
|
||||
import "os"
|
||||
|
||||
// CurrentVersion is the current version of the Spec.
|
||||
const CurrentVersion = "0.7.0"
|
||||
const CurrentVersion = "0.8.0"
|
||||
|
||||
// Spec is the base configuration for CDI
|
||||
type Spec struct {
|
||||
|
77
vendor/tags.cncf.io/container-device-interface/specs-go/oci.go
generated
vendored
77
vendor/tags.cncf.io/container-device-interface/specs-go/oci.go
generated
vendored
@ -1,49 +1,56 @@
|
||||
/*
|
||||
Copyright © 2021 The CDI Authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package specs
|
||||
|
||||
import (
|
||||
spec "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
import "errors"
|
||||
|
||||
// errDeprecated is returned for the ToOCI functions below.
|
||||
// This should provide better guidance for user when migrating from the API
|
||||
// below to the APIs provided in the cdi package.
|
||||
var errDeprecated = errors.New("deprecated; Use cdi package functions instead")
|
||||
|
||||
// ToOCI returns the opencontainers runtime Spec Hook for this Hook.
|
||||
func (h *Hook) ToOCI() spec.Hook {
|
||||
return spec.Hook{
|
||||
Path: h.Path,
|
||||
Args: h.Args,
|
||||
Env: h.Env,
|
||||
Timeout: h.Timeout,
|
||||
}
|
||||
//
|
||||
// Deprecated: This function has been moved to tags.cncf.io/container-device-interface/pkg/cdi.Hook.toOCI
|
||||
// and made private.
|
||||
func (h *Hook) ToOCI() error {
|
||||
return errDeprecated
|
||||
}
|
||||
|
||||
// ToOCI returns the opencontainers runtime Spec Mount for this Mount.
|
||||
func (m *Mount) ToOCI() spec.Mount {
|
||||
return spec.Mount{
|
||||
Source: m.HostPath,
|
||||
Destination: m.ContainerPath,
|
||||
Options: m.Options,
|
||||
Type: m.Type,
|
||||
}
|
||||
//
|
||||
// Deprecated: This function has been moved to tags.cncf.io/container-device-interface/pkg/cdi.Mount.toOCI
|
||||
// and made private.
|
||||
func (m *Mount) ToOCI() error {
|
||||
return errDeprecated
|
||||
}
|
||||
|
||||
// ToOCI returns the opencontainers runtime Spec LinuxDevice for this DeviceNode.
|
||||
func (d *DeviceNode) ToOCI() spec.LinuxDevice {
|
||||
return spec.LinuxDevice{
|
||||
Path: d.Path,
|
||||
Type: d.Type,
|
||||
Major: d.Major,
|
||||
Minor: d.Minor,
|
||||
FileMode: d.FileMode,
|
||||
UID: d.UID,
|
||||
GID: d.GID,
|
||||
}
|
||||
//
|
||||
// Deprecated: This function has been moved to tags.cncf.io/container-device-interface/pkg/cdi.DeviceNode.toOCI
|
||||
// and made private.
|
||||
func (d *DeviceNode) ToOCI() error {
|
||||
return errDeprecated
|
||||
}
|
||||
|
||||
// ToOCI returns the opencontainers runtime Spec LinuxIntelRdt for this IntelRdt config.
|
||||
func (i *IntelRdt) ToOCI() *spec.LinuxIntelRdt {
|
||||
return &spec.LinuxIntelRdt{
|
||||
ClosID: i.ClosID,
|
||||
L3CacheSchema: i.L3CacheSchema,
|
||||
MemBwSchema: i.MemBwSchema,
|
||||
EnableCMT: i.EnableCMT,
|
||||
EnableMBM: i.EnableMBM,
|
||||
}
|
||||
//
|
||||
// Deprecated: This function has been moved to tags.cncf.io/container-device-interface/pkg/cdi.IntelRdt.toOCI
|
||||
// and made private.
|
||||
func (i *IntelRdt) ToOCI() error {
|
||||
return errDeprecated
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user