Add support for NVIDIA_REQUIRE_JETPACK envvar

This change ensures that by default, the CSV discovery only considers the base CSV
files (l4t.csv, drivers.csv, devices.csv) and skips the rest unless the
NVIDIA_REQUIRE_JETPACK is set to "csv-mounts=all", in which case, all CSV files in the
specified folder are considered.

Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
Evan Lezar
2022-03-15 14:17:49 +02:00
parent 1c05a463bd
commit 6682bc90b4
3 changed files with 46 additions and 3 deletions

View File

@@ -68,7 +68,17 @@ func NewExperimentalModifier(logger *logrus.Logger, cfg *config.Config, ociSpec
}
d = legacyDiscoverer
case "csv":
csvDiscoverer, err := discover.NewFromCSV(logger, csv.DefaultRoot, "")
csvFiles, err := csv.GetFileList(csv.DefaultRoot)
if err != nil {
return nil, fmt.Errorf("failed to get list of CSV files: %v", err)
}
nvidiaRequireJetpack, _ := ociSpec.LookupEnv(nvidiaRequireJetpackEnvvar)
if nvidiaRequireJetpack != "csv-mounts=all" {
csvFiles = csv.BaseFilesOnly(csvFiles)
}
csvDiscoverer, err := discover.NewFromCSVFiles(logger, csvFiles, root)
if err != nil {
return nil, fmt.Errorf("failed to create CSV discoverer: %v", err)
}