66 "encoding/base64"
77 "encoding/json"
88 "fmt"
9- "html/template"
109 "os"
1110 "strconv"
11+ "text/template"
1212
1313 "terraform-provider-iterative/iterative/utils"
1414
@@ -144,15 +144,6 @@ func resourceRunnerCreate(ctx context.Context, d *schema.ResourceData, m interfa
144144 }
145145 d .Set ("startup_script" , startupScript )
146146
147- /*
148- diags = append(diags, diag.Diagnostic{
149- Severity: diag.Error,
150- Summary: d.Get("custom_data").(string),
151- })
152-
153- return diags
154- */
155-
156147 cloud := d .Get ("cloud" ).(string )
157148 if len (cloud ) == 0 {
158149 diags = append (diags , diag.Diagnostic {
@@ -228,12 +219,31 @@ func provisionerCode(d *schema.ResourceData) (string, error) {
228219 data ["AZURE_TENANT_ID" ] = os .Getenv ("AZURE_TENANT_ID" )
229220
230221 tmpl , err := template .New ("deploy" ).Parse (`#!/bin/bash
231- export DEBIAN_FRONTEND=noninteractive
222+ DEBIAN_FRONTEND=noninteractive
223+
224+ {{if .cloud eq "azure"}}
232225echo "APT::Get::Assume-Yes \"true\";" | sudo tee -a /etc/apt/apt.conf.d/90assumeyes
233- curl -sL https://deb.nodesource.com/setup_12.x | sudo bash
226+
227+ sudo apt update
228+ sudo curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh && \
229+ sudo usermod -aG docker ubuntu
230+ sudo setfacl --modify user:ubuntu:rw /var/run/docker.sock
231+
234232curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
235233sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
236- sudo apt update && sudo apt-get install -y terraform nodejs
234+ sudo apt update && sudo apt-get install -y terraform
235+
236+ curl -sL https://deb.nodesource.com/setup_12.x | sudo bash
237+ sudo apt update && sudo apt-get install -y nodejs
238+
239+ sudo apt install -y ubuntu-drivers-common git
240+ sudo ubuntu-drivers autoinstall
241+ sudo rmmod nvidia && sudo nvidia-smi
242+ curl -s -L https://nvidia.GitHub.io/nvidia-docker/gpgkey | sudo apt-key add - && \
243+ curl -s -L https://nvidia.GitHub.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
244+ sudo apt update && sudo apt install -y nvidia-container-toolkit
245+ {{end}}
246+
237247sudo npm install -g git+https://github.com/iterative/cml.git#cml-runner
238248
239249export AWS_SECRET_ACCESS_KEY={{.AWS_SECRET_ACCESS_KEY}}
@@ -242,7 +252,7 @@ export AZURE_CLIENT_ID={{.AZURE_CLIENT_ID}}
242252export AZURE_CLIENT_SECRET={{.AZURE_CLIENT_SECRET}}
243253export AZURE_SUBSCRIPTION_ID={{.AZURE_SUBSCRIPTION_ID}}
244254export AZURE_TENANT_ID={{.AZURE_TENANT_ID}}
245- nohup cml-runner{{if .name}} --name {{.name}}{{end}}{{if .labels}} --labels {{.labels}}{{end}}{{if .idle_timeout}} --idle-timeout {{.idle_timeout}}{{end}}{{if .driver}} --driver {{.driver}}{{end}}{{if .repo}} --repo {{.repo}}{{end}}{{if .token}} --token {{.token}}{{end}}{{if .tf_resource}} --tf_resource={{.tf_resource}}{{end}} < /dev/null > std.out 2> std.err &
255+ nohup cml-runner{{if .name}} --name {{.name}}{{end}}c --labels {{.labels}}{{end}}{{if .idle_timeout}} --idle-timeout {{.idle_timeout}}{{end}}{{if .driver}} --driver {{.driver}}{{end}}{{if .repo}} --repo {{.repo}}{{end}}{{if .token}} --token {{.token}}{{end}}{{if .tf_resource}} --tf_resource={{.tf_resource}}{{end}} < /dev/null > std.out 2> std.err &
246256sleep 10
247257` )
248258 var customDataBuffer bytes.Buffer
0 commit comments