@@ -51,20 +51,13 @@ const (
5151
5252 nvidiaDomainPrefix = "nvidia.com"
5353
54- nvidiaModuleConfigFile = "/drivers/nvidia.conf"
55- nvidiaUVMModuleConfigFile = "/drivers/nvidia-uvm.conf"
56- nvidiaModsetModuleConfigFile = "/drivers/nvidia-modeset.conf"
57- nvidiaPeermemModuleConfigFile = "/drivers/nvidia-peermem.conf"
54+ nvidiaModuleConfigFile = driverRoot + "/drivers/nvidia.conf"
55+ nvidiaUVMModuleConfigFile = driverRoot + "/drivers/nvidia-uvm.conf"
56+ nvidiaModesetModuleConfigFile = driverRoot + "/drivers/nvidia-modeset.conf"
57+ nvidiaPeermemModuleConfigFile = driverRoot + "/drivers/nvidia-peermem.conf"
5858)
5959
6060var (
61- driverConfigFiles = []string {
62- nvidiaModuleConfigFile ,
63- nvidiaUVMModuleConfigFile ,
64- nvidiaModsetModuleConfigFile ,
65- nvidiaPeermemModuleConfigFile ,
66- }
67-
6861 nvidiaDriverDeployLabel = nvidiaDomainPrefix + "/" + "gpu.deploy.driver"
6962 nvidiaOperatorValidatorDeployLabel = nvidiaDomainPrefix + "/" + "gpu.deploy.operator-validator"
7063 nvidiaContainerToolkitDeployLabel = nvidiaDomainPrefix + "/" + "gpu.deploy.container-toolkit"
@@ -681,19 +674,6 @@ func (dm *DriverManager) isDriverLoaded() bool {
681674 return err == nil
682675}
683676
684- // getValueWithOverride extracts a value from config by key, but returns override if non-empty
685- func getValueWithOverride (config , key , override string ) string {
686- if override != "" {
687- return override
688- }
689- for _ , line := range strings .Split (config , "\n " ) {
690- if strings .HasPrefix (line , key + "=" ) {
691- return strings .TrimPrefix (line , key + "=" )
692- }
693- }
694- return ""
695- }
696-
697677// getKernelVersion returns the current kernel version
698678func getKernelVersion () string {
699679 var utsname unix.Utsname
@@ -707,15 +687,11 @@ func getKernelVersion() string {
707687}
708688
709689// buildCurrentConfig constructs the current driver configuration string
710- func (dm * DriverManager ) buildCurrentConfig (storedConfig string ) string {
711- driverVersion := getValueWithOverride (storedConfig , "DRIVER_VERSION" , dm .config .driverVersion )
712- kernelVersion := getValueWithOverride (storedConfig , "KERNEL_VERSION" , getKernelVersion ())
713- kernelModuleType := getValueWithOverride (storedConfig , "KERNEL_MODULE_TYPE" , os .Getenv ("KERNEL_MODULE_TYPE" ))
714- driverTypeEnv := os .Getenv ("DRIVER_TYPE" )
715- if driverTypeEnv == "" {
716- driverTypeEnv = "passthrough"
690+ func (dm * DriverManager ) buildCurrentConfig () string {
691+ driverType := os .Getenv ("DRIVER_TYPE" )
692+ if driverType == "" {
693+ driverType = "passthrough"
717694 }
718- driverType := getValueWithOverride (storedConfig , "DRIVER_TYPE" , driverTypeEnv )
719695
720696 // Read module parameters from conf files
721697 nvidiaParams := readModuleParams (nvidiaModuleConfigFile )
@@ -724,24 +700,17 @@ func (dm *DriverManager) buildCurrentConfig(storedConfig string) string {
724700 nvidiaPeermem := readModuleParams (nvidiaPeermemModuleConfigFile )
725701
726702 var config strings.Builder
727- config .WriteString (fmt .Sprintf ("DRIVER_VERSION=%s\n " , driverVersion ))
703+ config .WriteString (fmt .Sprintf ("DRIVER_VERSION=%s\n " , dm . config . driverVersion ))
728704 config .WriteString (fmt .Sprintf ("DRIVER_TYPE=%s\n " , driverType ))
729- config .WriteString (fmt .Sprintf ("KERNEL_VERSION=%s\n " , kernelVersion ))
705+ config .WriteString (fmt .Sprintf ("KERNEL_VERSION=%s\n " , getKernelVersion () ))
730706 config .WriteString (fmt .Sprintf ("GPU_DIRECT_RDMA_ENABLED=%v\n " , dm .config .gpuDirectRDMAEnabled ))
731707 config .WriteString (fmt .Sprintf ("USE_HOST_MOFED=%v\n " , dm .config .useHostMofed ))
732- config .WriteString (fmt .Sprintf ("KERNEL_MODULE_TYPE=%s\n " , kernelModuleType ))
708+ config .WriteString (fmt .Sprintf ("KERNEL_MODULE_TYPE=%s\n " , os . Getenv ( "KERNEL_MODULE_TYPE" ) ))
733709 config .WriteString (fmt .Sprintf ("NVIDIA_MODULE_PARAMS=%s\n " , nvidiaParams ))
734710 config .WriteString (fmt .Sprintf ("NVIDIA_UVM_MODULE_PARAMS=%s\n " , nvidiaUVMParams ))
735711 config .WriteString (fmt .Sprintf ("NVIDIA_MODESET_MODULE_PARAMS=%s\n " , nvidiaModeset ))
736712 config .WriteString (fmt .Sprintf ("NVIDIA_PEERMEM_MODULE_PARAMS=%s\n " , nvidiaPeermem ))
737713
738- // Append config file contents directly
739- for _ , file := range driverConfigFiles {
740- if data , err := os .ReadFile (file ); err == nil && len (data ) > 0 {
741- config .Write (data )
742- }
743- }
744-
745714 return config .String ()
746715}
747716
@@ -757,7 +726,7 @@ func readModuleParams(filepath string) string {
757726
758727// driverModuleBuildNeeded checks if driver modules need to be rebuilt
759728func (dm * DriverManager ) driverModuleBuildNeeded () bool {
760- storedData , err := os .ReadFile (driverConfigStateFile )
729+ storedConfig , err := os .ReadFile (driverConfigStateFile )
761730 if err != nil {
762731 if os .IsNotExist (err ) {
763732 dm .log .Info ("No previous driver configuration found" )
@@ -767,10 +736,8 @@ func (dm *DriverManager) driverModuleBuildNeeded() bool {
767736 return true
768737 }
769738
770- storedConfig := string (storedData )
771- currentConfig := dm .buildCurrentConfig (storedConfig )
772-
773- return currentConfig != storedConfig
739+ currentConfig := dm .buildCurrentConfig ()
740+ return currentConfig != string (storedConfig )
774741}
775742
776743func (dm * DriverManager ) shouldSkipUninstall () bool {
0 commit comments