Hello all,
I'd like to use puppet to install an Nvidia driver on a local workstation.
I've written the following manifest for this puprpose:
class nvidia_driver {
# This will place the nvidia installer locally in /tmp. File is
pulled from puppet.
file { "/tmp/NVIDIA-Linux-x86_64-295.53.run" :
source =>
"puppet:///modules/nvidia_driver/NVIDIA-Linux-x86_64-295.53.run" ,
ensure => present ,
}
# This will run the nvidia installer locally on the machine.
exec { "/tmp/NVIDIA-Linux-x86_64-295.53.run -s -X --opengl-headers
--no-distro-scripts --force-tls-compat32=new" : }
}
Upon the initial run of the manifest on the target machine, everything
works great (although I do believe there is some room for improvement of
the code above; particularly on the exec portion) and the driver then gets
installed. The issue occurs on subsequent puppet runs on the same machine
and I'm getting the following error during my second puppet run from the
client:
err: /Stage[main]/Nvidia_driver/Exec[/tmp/NVIDIA-Linux-x86_64-295.53.run -s
-X --opengl-headers --no-distro-scripts --force-tls-compat32=new]/returns:
change from notrun to 0 failed: /tmp/NVIDIA-Linux-x86_64-295.53.run -s -X
--opengl-headers --no-distro-scripts --force-tls-compat32=new returned 1
instead of one of [0] at
/etc/puppet/modules/nvidia_driver/manifests/init.pp:12
It appears to me that the above error is occurring because the
nvidia_driver class is running on each subsequent run and since the driver
is already installed, I'm getting an exit status of 1 instead of 0, which
to my knowledge would be expected.
So, what I'd like to do is put some sort of condition that will look to see
if the driver is installed and if it is, the class "nvidia_driver" won't
run. I'm having a hard time figuring this one out and I was hoping to get
a few opinions on how this might be accomplished.
Would this potentially be a job for a shell script that does the checking?
Maybe just adding the shell script into the "nvidia_driver" manifest?
Thanks in advance for everybody's assistance and the help is very much
appreciated.
Cheers,
Mike
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/puppet-users/-/R9ngLgt78tMJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.