Resolve to legacy by default in nvidia-container-runtime-hook
Some checks are pending
CI Pipeline / code-scanning (push) Waiting to run
CI Pipeline / variables (push) Waiting to run
CI Pipeline / golang (push) Waiting to run
CI Pipeline / image (push) Blocked by required conditions
CI Pipeline / e2e-test (push) Blocked by required conditions

Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
Evan Lezar 2025-06-13 17:23:03 +02:00
parent de3c37f6b3
commit 153a277002
No known key found for this signature in database
2 changed files with 13 additions and 3 deletions

View File

@ -140,6 +140,7 @@ func (c *hookConfig) assertModeIsLegacy() error {
mr := info.NewRuntimeModeResolver(
info.WithLogger(&logInterceptor{}),
info.WithImage(&c.containerConfig.Image),
info.WithDefaultMode(info.RuntimeModeLegacy),
)
mode := mr.ResolveRuntimeMode(c.NVIDIAContainerRuntimeConfig.Mode)

View File

@ -42,10 +42,17 @@ type modeResolver struct {
// TODO: This only needs to consider the requested devices.
image *image.CUDA
propertyExtractor info.PropertyExtractor
defaultMode RuntimeMode
}
type Option func(*modeResolver)
func WithDefaultMode(defaultMode RuntimeMode) Option {
return func(mr *modeResolver) {
mr.defaultMode = defaultMode
}
}
func WithLogger(logger logger.Interface) Option {
return func(mr *modeResolver) {
mr.logger = logger
@ -65,7 +72,9 @@ func WithPropertyExtractor(propertyExtractor info.PropertyExtractor) Option {
}
func NewRuntimeModeResolver(opts ...Option) RuntimeModeResolver {
r := &modeResolver{}
r := &modeResolver{
defaultMode: RuntimeModeJitCDI,
}
for _, opt := range opts {
opt(r)
}
@ -106,9 +115,9 @@ func (m *modeResolver) ResolveRuntimeMode(mode string) (rmode RuntimeMode) {
switch nvinfo.ResolvePlatform() {
case info.PlatformNVML, info.PlatformWSL:
return RuntimeModeJitCDI
return m.defaultMode
case info.PlatformTegra:
return RuntimeModeCSV
}
return RuntimeModeJitCDI
return m.defaultMode
}