mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2025-06-26 18:18:24 +00:00
Return low-level runtime if subcommand is not create
This also removes a test that invokes nvidia-container-runtime run --bundle expecting an error. This test is no longer valid since this command line is forwared to runc where the error should be detected. Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
parent
49f4bb3198
commit
9d2363e12e
@ -80,11 +80,6 @@ func TestBadInput(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdRun := exec.Command(nvidiaRuntime, "run", "--bundle")
|
|
||||||
t.Logf("executing: %s\n", strings.Join(cmdRun.Args, " "))
|
|
||||||
output, err := cmdRun.CombinedOutput()
|
|
||||||
require.Errorf(t, err, "runtime should return an error", "output=%v", string(output))
|
|
||||||
|
|
||||||
cmdCreate := exec.Command(nvidiaRuntime, "create", "--bundle")
|
cmdCreate := exec.Command(nvidiaRuntime, "create", "--bundle")
|
||||||
t.Logf("executing: %s\n", strings.Join(cmdCreate.Args, " "))
|
t.Logf("executing: %s\n", strings.Join(cmdCreate.Args, " "))
|
||||||
err = cmdCreate.Run()
|
err = cmdCreate.Run()
|
||||||
|
@ -33,10 +33,6 @@ const (
|
|||||||
|
|
||||||
// newNVIDIAContainerRuntime is a factory method that constructs a runtime based on the selected configuration and specified logger
|
// newNVIDIAContainerRuntime is a factory method that constructs a runtime based on the selected configuration and specified logger
|
||||||
func newNVIDIAContainerRuntime(logger *logrus.Logger, cfg *config.Config, argv []string) (oci.Runtime, error) {
|
func newNVIDIAContainerRuntime(logger *logrus.Logger, cfg *config.Config, argv []string) (oci.Runtime, error) {
|
||||||
ociSpec, err := oci.NewSpec(logger, argv)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("error constructing OCI specification: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
lowLevelRuntimeCandidates := []string{dockerRuncExecutableName, runcExecutableName}
|
lowLevelRuntimeCandidates := []string{dockerRuncExecutableName, runcExecutableName}
|
||||||
lowLevelRuntime, err := oci.NewLowLevelRuntime(logger, lowLevelRuntimeCandidates)
|
lowLevelRuntime, err := oci.NewLowLevelRuntime(logger, lowLevelRuntimeCandidates)
|
||||||
@ -44,7 +40,17 @@ func newNVIDIAContainerRuntime(logger *logrus.Logger, cfg *config.Config, argv [
|
|||||||
return nil, fmt.Errorf("error constructing low-level runtime: %v", err)
|
return nil, fmt.Errorf("error constructing low-level runtime: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
specModifier, err := newSpecModifier(logger, cfg, ociSpec)
|
if !oci.HasCreateSubcommand(argv) {
|
||||||
|
logger.Debugf("Skipping modifier for non-create subcommand")
|
||||||
|
return lowLevelRuntime, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
ociSpec, err := oci.NewSpec(logger, argv)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error constructing OCI specification: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
specModifier, err := newSpecModifier(logger, cfg, ociSpec, argv)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to construct OCI spec modifier: %v", err)
|
return nil, fmt.Errorf("failed to construct OCI spec modifier: %v", err)
|
||||||
}
|
}
|
||||||
@ -61,7 +67,7 @@ func newNVIDIAContainerRuntime(logger *logrus.Logger, cfg *config.Config, argv [
|
|||||||
}
|
}
|
||||||
|
|
||||||
// newSpecModifier is a factory method that creates constructs an OCI spec modifer based on the provided config.
|
// newSpecModifier is a factory method that creates constructs an OCI spec modifer based on the provided config.
|
||||||
func newSpecModifier(logger *logrus.Logger, cfg *config.Config, ociSpec oci.Spec) (oci.SpecModifier, error) {
|
func newSpecModifier(logger *logrus.Logger, cfg *config.Config, ociSpec oci.Spec, argv []string) (oci.SpecModifier, error) {
|
||||||
if !cfg.NVIDIAContainerRuntimeConfig.Experimental {
|
if !cfg.NVIDIAContainerRuntimeConfig.Experimental {
|
||||||
return modifier.NewStableRuntimeModifier(logger), nil
|
return modifier.NewStableRuntimeModifier(logger), nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user