@@ -88,7 +88,30 @@ func TestCrioConfigLifecycle(t *testing.T) {
8888 },
8989 assertCleanupPostConditions : func (t * testing.T , co * container.Options , _ * Options ) error {
9090 require .NoFileExists (t , co .TopLevelConfigPath )
91- require .NoFileExists (t , co .DropInConfig )
91+ // drop-in file not removed on cleanup
92+ actual , err := os .ReadFile (co .DropInConfig )
93+ require .NoError (t , err )
94+
95+ expected := `
96+ [crio]
97+
98+ [crio.runtime]
99+
100+ [crio.runtime.runtimes]
101+
102+ [crio.runtime.runtimes.nvidia]
103+ runtime_path = "/usr/bin/nvidia-container-runtime"
104+ runtime_type = "oci"
105+
106+ [crio.runtime.runtimes.nvidia-cdi]
107+ runtime_path = "/usr/bin/nvidia-container-runtime.cdi"
108+ runtime_type = "oci"
109+
110+ [crio.runtime.runtimes.nvidia-legacy]
111+ runtime_path = "/usr/bin/nvidia-container-runtime.legacy"
112+ runtime_type = "oci"
113+ `
114+ require .Equal (t , expected , string (actual ))
92115 return nil
93116 },
94117 },
@@ -182,8 +205,6 @@ signature_policy = "/etc/crio/policy.json"
182205 assertCleanupPostConditions : func (t * testing.T , co * container.Options , o * Options ) error {
183206 require .FileExists (t , co .TopLevelConfigPath )
184207
185- require .NoFileExists (t , co .DropInConfig )
186-
187208 actualTopLevel , err := os .ReadFile (co .TopLevelConfigPath )
188209 require .NoError (t , err )
189210
@@ -203,6 +224,37 @@ signature_policy = "/etc/crio/policy.json"
203224`
204225 require .Equal (t , expectedTopLevel , string (actualTopLevel ))
205226
227+ // drop-in file not removed on cleanup
228+ require .FileExists (t , co .DropInConfig )
229+ actual , err := os .ReadFile (co .DropInConfig )
230+ require .NoError (t , err )
231+
232+ expected := `
233+ [crio]
234+
235+ [crio.runtime]
236+
237+ [crio.runtime.runtimes]
238+
239+ [crio.runtime.runtimes.nvidia]
240+ monitor_path = "/usr/libexec/crio/conmon"
241+ runtime_path = "/usr/bin/nvidia-container-runtime"
242+ runtime_root = "/run/crun"
243+ runtime_type = "oci"
244+
245+ [crio.runtime.runtimes.nvidia-cdi]
246+ monitor_path = "/usr/libexec/crio/conmon"
247+ runtime_path = "/usr/bin/nvidia-container-runtime.cdi"
248+ runtime_root = "/run/crun"
249+ runtime_type = "oci"
250+
251+ [crio.runtime.runtimes.nvidia-legacy]
252+ monitor_path = "/usr/libexec/crio/conmon"
253+ runtime_path = "/usr/bin/nvidia-container-runtime.legacy"
254+ runtime_root = "/run/crun"
255+ runtime_type = "oci"
256+ `
257+ require .Equal (t , expected , string (actual ))
206258 return nil
207259 },
208260 },
@@ -312,8 +364,33 @@ runtime_type = "oci"
312364
313365 require .Equal (t , expectedTopLevel , string (actualTopLevel ))
314366
315- require .NoFileExists (t , co .DropInConfig )
367+ // drop-in file not removed on cleanup
368+ // default_runtime setting removed from drop-in
369+ require .FileExists (t , co .DropInConfig )
370+ actual , err := os .ReadFile (co .DropInConfig )
371+ require .NoError (t , err )
372+
373+ expected := `
374+ [crio]
375+
376+ [crio.runtime]
377+
378+ [crio.runtime.runtimes]
379+
380+ [crio.runtime.runtimes.nvidia]
381+ runtime_path = "/usr/bin/nvidia-container-runtime"
382+ runtime_type = "oci"
316383
384+ [crio.runtime.runtimes.nvidia-cdi]
385+ runtime_path = "/usr/bin/nvidia-container-runtime.cdi"
386+ runtime_type = "oci"
387+
388+ [crio.runtime.runtimes.nvidia-legacy]
389+ runtime_path = "/usr/bin/nvidia-container-runtime.legacy"
390+ runtime_type = "oci"
391+ `
392+
393+ require .Equal (t , expected , string (actual ))
317394 return nil
318395 },
319396 },
@@ -480,7 +557,37 @@ plugin_dirs = [
480557`
481558 require .Equal (t , expected , string (actual ))
482559
483- require .NoFileExists (t , co .DropInConfig )
560+ // drop-in file not removed on cleanup
561+ require .FileExists (t , co .DropInConfig )
562+ actualDropIn , err := os .ReadFile (co .DropInConfig )
563+ require .NoError (t , err )
564+
565+ expectedDropIn := `
566+ [crio]
567+
568+ [crio.runtime]
569+
570+ [crio.runtime.runtimes]
571+
572+ [crio.runtime.runtimes.nvidia]
573+ monitor_path = "/usr/libexec/crio/conmon"
574+ runtime_path = "/usr/bin/nvidia-container-runtime"
575+ runtime_root = "/run/crun"
576+ runtime_type = "oci"
577+
578+ [crio.runtime.runtimes.nvidia-cdi]
579+ monitor_path = "/usr/libexec/crio/conmon"
580+ runtime_path = "/usr/bin/nvidia-container-runtime.cdi"
581+ runtime_root = "/run/crun"
582+ runtime_type = "oci"
583+
584+ [crio.runtime.runtimes.nvidia-legacy]
585+ monitor_path = "/usr/libexec/crio/conmon"
586+ runtime_path = "/usr/bin/nvidia-container-runtime.legacy"
587+ runtime_root = "/run/crun"
588+ runtime_type = "oci"
589+ `
590+ require .Equal (t , expectedDropIn , string (actualDropIn ))
484591
485592 return nil
486593 },
0 commit comments