Merge pull request #10464 from containerd/dependabot/go_modules/tags.cncf.io/container-device-interface-0.8.0
build(deps): bump tags.cncf.io/container-device-interface from 0.7.2 to 0.8.0
This commit is contained in:
		
							
								
								
									
										4
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							| @@ -82,7 +82,7 @@ require ( | ||||
| 	k8s.io/klog/v2 v2.130.1 | ||||
| 	k8s.io/kubelet v0.30.2 | ||||
| 	k8s.io/utils v0.0.0-20230726121419-3b25d923346b | ||||
| 	tags.cncf.io/container-device-interface v0.7.2 | ||||
| 	tags.cncf.io/container-device-interface v0.8.0 | ||||
| ) | ||||
|  | ||||
| require ( | ||||
| @@ -145,7 +145,7 @@ require ( | ||||
| 	sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect | ||||
| 	sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect | ||||
| 	sigs.k8s.io/yaml v1.3.0 // indirect | ||||
| 	tags.cncf.io/container-device-interface/specs-go v0.7.0 // indirect | ||||
| 	tags.cncf.io/container-device-interface/specs-go v0.8.0 // indirect | ||||
| ) | ||||
|  | ||||
| replace github.com/containerd/containerd/api => ./api | ||||
|   | ||||
							
								
								
									
										8
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								go.sum
									
									
									
									
									
								
							| @@ -540,7 +540,7 @@ sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+s | ||||
| sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= | ||||
| 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
									
									
								
							| @@ -845,13 +845,13 @@ sigs.k8s.io/structured-merge-diff/v4/value | ||||
| # 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 | ||||
| # github.com/containerd/containerd/api => ./api | ||||
|   | ||||
							
								
								
									
										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 | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Akihiro Suda
					Akihiro Suda