mirror of
				https://github.com/NVIDIA/nvidia-container-toolkit
				synced 2025-06-26 18:18:24 +00:00 
			
		
		
		
	Move tegra system mounts to tegra-specific discoverer
Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
		
							parent
							
								
									a8265f8846
								
							
						
					
					
						commit
						540dbcbc03
					
				| @ -20,6 +20,7 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 
 | 
 | ||||||
| 	"github.com/NVIDIA/nvidia-container-toolkit/internal/discover" | 	"github.com/NVIDIA/nvidia-container-toolkit/internal/discover" | ||||||
|  | 	"github.com/NVIDIA/nvidia-container-toolkit/internal/lookup" | ||||||
| 	"github.com/sirupsen/logrus" | 	"github.com/sirupsen/logrus" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| @ -55,11 +56,22 @@ func New(opts ...Option) (discover.Discover, error) { | |||||||
| 		return nil, fmt.Errorf("failed to create ldcach update hook discoverer: %v", err) | 		return nil, fmt.Errorf("failed to create ldcach update hook discoverer: %v", err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	tegraSystemMounts := discover.NewMounts( | ||||||
|  | 		o.logger, | ||||||
|  | 		lookup.NewFileLocator(lookup.WithLogger(o.logger)), | ||||||
|  | 		"", | ||||||
|  | 		[]string{ | ||||||
|  | 			"/etc/nv_tegra_release", | ||||||
|  | 			"/sys/devices/soc0/family", | ||||||
|  | 		}, | ||||||
|  | 	) | ||||||
|  | 
 | ||||||
| 	d := discover.Merge( | 	d := discover.Merge( | ||||||
| 		csvDiscoverer, | 		csvDiscoverer, | ||||||
| 		createSymlinksHook, | 		createSymlinksHook, | ||||||
| 		// The ldcacheUpdateHook is added last to ensure that the created symlinks are included
 | 		// The ldcacheUpdateHook is added last to ensure that the created symlinks are included
 | ||||||
| 		ldcacheUpdateHook, | 		ldcacheUpdateHook, | ||||||
|  | 		tegraSystemMounts, | ||||||
| 	) | 	) | ||||||
| 
 | 
 | ||||||
| 	return d, nil | 	return d, nil | ||||||
|  | |||||||
| @ -1,45 +0,0 @@ | |||||||
| /** |  | ||||||
| # Copyright (c) 2022, NVIDIA CORPORATION.  All rights reserved. |  | ||||||
| # |  | ||||||
| # 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 modifier |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"github.com/NVIDIA/nvidia-container-toolkit/internal/discover" |  | ||||||
| 	"github.com/NVIDIA/nvidia-container-toolkit/internal/lookup" |  | ||||||
| 	"github.com/NVIDIA/nvidia-container-toolkit/internal/oci" |  | ||||||
| 	"github.com/sirupsen/logrus" |  | ||||||
| 	"gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvlib/info" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // NewTegraPlatformFiles creates a modifier to inject the Tegra platform files into a container.
 |  | ||||||
| func NewTegraPlatformFiles(logger *logrus.Logger) (oci.SpecModifier, error) { |  | ||||||
| 	isTegra, _ := info.New().IsTegraSystem() |  | ||||||
| 	if !isTegra { |  | ||||||
| 		return nil, nil |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	tegraSystemMounts := discover.NewMounts( |  | ||||||
| 		logger, |  | ||||||
| 		lookup.NewFileLocator(lookup.WithLogger(logger)), |  | ||||||
| 		"", |  | ||||||
| 		[]string{ |  | ||||||
| 			"/etc/nv_tegra_release", |  | ||||||
| 			"/sys/devices/soc0/family", |  | ||||||
| 		}, |  | ||||||
| 	) |  | ||||||
| 
 |  | ||||||
| 	return NewModifierFromDiscoverer(logger, tegraSystemMounts) |  | ||||||
| } |  | ||||||
| @ -81,17 +81,11 @@ func newSpecModifier(logger *logrus.Logger, cfg *config.Config, ociSpec oci.Spec | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	tegraModifier, err := modifier.NewTegraPlatformFiles(logger) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	modifiers := modifier.Merge( | 	modifiers := modifier.Merge( | ||||||
| 		modeModifier, | 		modeModifier, | ||||||
| 		graphicsModifier, | 		graphicsModifier, | ||||||
| 		gdsModifier, | 		gdsModifier, | ||||||
| 		mofedModifier, | 		mofedModifier, | ||||||
| 		tegraModifier, |  | ||||||
| 	) | 	) | ||||||
| 	return modifiers, nil | 	return modifiers, nil | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user