Skip to content

Commit 2a7950a

Browse files
Make NVDRIVER configurable from env file
Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
1 parent b1e030a commit 2a7950a

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

pkg/provisioner/dependency.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ var (
5050
type ProvisionFunc func(tpl *bytes.Buffer, env v1alpha1.Environment) error
5151

5252
func nvdriver(tpl *bytes.Buffer, env v1alpha1.Environment) error {
53-
nvdriver := templates.NewNvDriver()
53+
nvdriver := templates.NewNvDriver(env)
5454
return nvdriver.Execute(tpl, env)
5555
}
5656

pkg/provisioner/templates/nv-driver.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,27 @@ wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_
3434
sudo dpkg -i cuda-keyring_1.1-1_all.deb
3535
3636
with_retry 3 10s sudo apt-get update
37-
install_packages_with_retry cuda-drivers
37+
install_packages_with_retry cuda-drivers{{if .Version}}={{.Version}}{{end}}
3838
3939
nvidia-smi -L
4040
`
4141

4242
type NvDriver struct {
43+
Version string
4344
}
4445

45-
func NewNvDriver() *NvDriver {
46-
return &NvDriver{}
46+
func NewNvDriver(env v1alpha1.Environment) *NvDriver {
47+
if env.Spec.NVIDIADriver.Version == "" {
48+
return &NvDriver{}
49+
}
50+
return &NvDriver{
51+
Version: env.Spec.NVIDIADriver.Version,
52+
}
4753
}
4854

4955
func (t *NvDriver) Execute(tpl *bytes.Buffer, env v1alpha1.Environment) error {
5056
nvDriverTemplate := template.Must(template.New("nv-driver").Parse(NvDriverTemplate))
51-
err := nvDriverTemplate.Execute(tpl, &NvDriver{})
57+
err := nvDriverTemplate.Execute(tpl, t)
5258
if err != nil {
5359
return fmt.Errorf("failed to execute nv-driver template: %v", err)
5460
}

0 commit comments

Comments
 (0)