@@ -590,6 +590,84 @@ version = 2
590590
591591 expectedDropIn := `version = 2
592592
593+ [plugins]
594+
595+ [plugins."io.containerd.grpc.v1.cri"]
596+
597+ [plugins."io.containerd.grpc.v1.cri".containerd]
598+
599+ [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
600+
601+ [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
602+ privileged_without_host_devices = false
603+ runtime_engine = ""
604+ runtime_root = ""
605+ runtime_type = "io.containerd.runc.v2"
606+
607+ [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
608+ BinaryName = "/usr/bin/nvidia-container-runtime"
609+
610+ [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia-cdi]
611+ privileged_without_host_devices = false
612+ runtime_engine = ""
613+ runtime_root = ""
614+ runtime_type = "io.containerd.runc.v2"
615+
616+ [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia-cdi.options]
617+ BinaryName = "/usr/bin/nvidia-container-runtime.cdi"
618+
619+ [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia-legacy]
620+ privileged_without_host_devices = false
621+ runtime_engine = ""
622+ runtime_root = ""
623+ runtime_type = "io.containerd.runc.v2"
624+
625+ [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia-legacy.options]
626+ BinaryName = "/usr/bin/nvidia-container-runtime.legacy"
627+ `
628+ require .Equal (t , expectedDropIn , string (actualDropIn ))
629+ return nil
630+ },
631+ assertCleanupPostConditions : func (t * testing.T , co * container.Options , o * Options ) error {
632+ require .NoFileExists (t , co .TopLevelConfigPath )
633+ require .NoFileExists (t , co .DropInConfig )
634+ return nil
635+ },
636+ },
637+ {
638+ description : "v2: top-level config does not exist with drop-in-config-host-path" ,
639+ containerOptions : container.Options {
640+ TopLevelConfigPath : "{{ .testRoot }}/etc/containerd/config.toml" ,
641+ DropInConfig : "{{ .testRoot }}/conf.d/99-nvidia.toml" ,
642+ DropInConfigHostPath : "/some/host/path/conf.d/99-nvidia.toml" ,
643+ RuntimeName : "nvidia" ,
644+ RuntimeDir : "/usr/bin" ,
645+ SetAsDefault : false ,
646+ RestartMode : "none" ,
647+ ExecutablePath : "not-containerd" ,
648+ },
649+ options : Options {
650+ runtimeType : "io.containerd.runc.v2" ,
651+ },
652+ assertSetupPostConditions : func (t * testing.T , co * container.Options , o * Options ) error {
653+ require .FileExists (t , co .TopLevelConfigPath )
654+
655+ actual , err := os .ReadFile (co .TopLevelConfigPath )
656+ require .NoError (t , err )
657+
658+ expected := `imports = ["/some/host/path/conf.d/*.toml"]
659+ version = 2
660+ `
661+ require .Equal (t , expected , string (actual ))
662+
663+ require .NoFileExists (t , co .DropInConfigHostPath )
664+ require .FileExists (t , co .DropInConfig )
665+
666+ actualDropIn , err := os .ReadFile (co .DropInConfig )
667+ require .NoError (t , err )
668+
669+ expectedDropIn := `version = 2
670+
593671[plugins]
594672
595673 [plugins."io.containerd.grpc.v1.cri"]
0 commit comments