6
6
"encoding/base64"
7
7
"encoding/json"
8
8
"fmt"
9
- "html/template"
10
9
"os"
11
10
"strconv"
11
+ "text/template"
12
12
13
13
"terraform-provider-iterative/iterative/utils"
14
14
@@ -144,15 +144,6 @@ func resourceRunnerCreate(ctx context.Context, d *schema.ResourceData, m interfa
144
144
}
145
145
d .Set ("startup_script" , startupScript )
146
146
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
-
156
147
cloud := d .Get ("cloud" ).(string )
157
148
if len (cloud ) == 0 {
158
149
diags = append (diags , diag.Diagnostic {
@@ -228,12 +219,31 @@ func provisionerCode(d *schema.ResourceData) (string, error) {
228
219
data ["AZURE_TENANT_ID" ] = os .Getenv ("AZURE_TENANT_ID" )
229
220
230
221
tmpl , err := template .New ("deploy" ).Parse (`#!/bin/bash
231
- export DEBIAN_FRONTEND=noninteractive
222
+ DEBIAN_FRONTEND=noninteractive
223
+
224
+ {{if .cloud eq "azure"}}
232
225
echo "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
+
234
232
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
235
233
sudo 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
+
237
247
sudo npm install -g git+https://github.com/iterative/cml.git#cml-runner
238
248
239
249
export AWS_SECRET_ACCESS_KEY={{.AWS_SECRET_ACCESS_KEY}}
@@ -242,7 +252,7 @@ export AZURE_CLIENT_ID={{.AZURE_CLIENT_ID}}
242
252
export AZURE_CLIENT_SECRET={{.AZURE_CLIENT_SECRET}}
243
253
export AZURE_SUBSCRIPTION_ID={{.AZURE_SUBSCRIPTION_ID}}
244
254
export 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 &
246
256
sleep 10
247
257
` )
248
258
var customDataBuffer bytes.Buffer
0 commit comments