@@ -88,6 +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+ // 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 ))
91115 return nil
92116 },
93117 },
@@ -200,6 +224,37 @@ signature_policy = "/etc/crio/policy.json"
200224`
201225 require .Equal (t , expectedTopLevel , string (actualTopLevel ))
202226
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 ))
203258 return nil
204259 },
205260 },
@@ -309,8 +364,33 @@ runtime_type = "oci"
309364
310365 require .Equal (t , expectedTopLevel , string (actualTopLevel ))
311366
312- 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]
313379
380+ [crio.runtime.runtimes.nvidia]
381+ runtime_path = "/usr/bin/nvidia-container-runtime"
382+ runtime_type = "oci"
383+
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 ))
314394 return nil
315395 },
316396 },
@@ -477,6 +557,38 @@ plugin_dirs = [
477557`
478558 require .Equal (t , expected , string (actual ))
479559
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 ))
591+
480592 return nil
481593 },
482594 },
0 commit comments