From 540dbcbc036dbc843eb1d6374c756a0a588683d0 Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Wed, 10 May 2023 16:47:22 +0200 Subject: [PATCH] Move tegra system mounts to tegra-specific discoverer Signed-off-by: Evan Lezar --- internal/discover/tegra/tegra.go | 12 ++++++++ internal/modifier/tegra.go | 45 ----------------------------- internal/runtime/runtime_factory.go | 6 ---- 3 files changed, 12 insertions(+), 51 deletions(-) delete mode 100644 internal/modifier/tegra.go diff --git a/internal/discover/tegra/tegra.go b/internal/discover/tegra/tegra.go index cf8daa49..e749b3de 100644 --- a/internal/discover/tegra/tegra.go +++ b/internal/discover/tegra/tegra.go @@ -20,6 +20,7 @@ import ( "fmt" "github.com/NVIDIA/nvidia-container-toolkit/internal/discover" + "github.com/NVIDIA/nvidia-container-toolkit/internal/lookup" "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) } + tegraSystemMounts := discover.NewMounts( + o.logger, + lookup.NewFileLocator(lookup.WithLogger(o.logger)), + "", + []string{ + "/etc/nv_tegra_release", + "/sys/devices/soc0/family", + }, + ) + d := discover.Merge( csvDiscoverer, createSymlinksHook, // The ldcacheUpdateHook is added last to ensure that the created symlinks are included ldcacheUpdateHook, + tegraSystemMounts, ) return d, nil diff --git a/internal/modifier/tegra.go b/internal/modifier/tegra.go deleted file mode 100644 index 8ce590a8..00000000 --- a/internal/modifier/tegra.go +++ /dev/null @@ -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) -} diff --git a/internal/runtime/runtime_factory.go b/internal/runtime/runtime_factory.go index 29219ab8..36ac4e4e 100644 --- a/internal/runtime/runtime_factory.go +++ b/internal/runtime/runtime_factory.go @@ -81,17 +81,11 @@ func newSpecModifier(logger *logrus.Logger, cfg *config.Config, ociSpec oci.Spec return nil, err } - tegraModifier, err := modifier.NewTegraPlatformFiles(logger) - if err != nil { - return nil, err - } - modifiers := modifier.Merge( modeModifier, graphicsModifier, gdsModifier, mofedModifier, - tegraModifier, ) return modifiers, nil }