Skip to content

Commit 8eab0ef

Browse files
committed
install gpu
1 parent e12e90f commit 8eab0ef

File tree

3 files changed

+54
-31
lines changed

3 files changed

+54
-31
lines changed

cml/local.go

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,34 @@
1-
//usr/bin/env go run $0 "$@"; exit
21
package main
32

43
import (
4+
"bytes"
55
"fmt"
6-
7-
localexec "github.com/hashicorp/terraform/builtin/provisioners/local-exec"
8-
"github.com/hashicorp/terraform/terraform"
6+
"os"
7+
"text/template"
98
)
109

1110
func main() {
12-
c := terraform.NewResourceConfigRaw(map[string]interface{}{
13-
"command": "echo 'Hello world' > hello.txt",
14-
})
15-
p := localexec.Provisioner()
16-
if err := p.Apply(new(terraform.MockUIOutput), nil, c); err != nil {
17-
fmt.Println(err)
18-
} else {
19-
fmt.Println("nice")
20-
}
11+
data := make(map[string]string)
12+
data["AWS_SECRET_ACCESS_KEY"] = os.Getenv("AWS_SECRET_ACCESS_KEY")
13+
data["AWS_ACCESS_KEY_ID"] = "slkdksd+sldksldks"
14+
data["AZURE_CLIENT_ID"] = "++++++++"
15+
data["AZURE_CLIENT_SECRET"] = os.Getenv("AZURE_CLIENT_SECRET")
16+
data["AZURE_SUBSCRIPTION_ID"] = os.Getenv("AZURE_SUBSCRIPTION_ID")
17+
data["AZURE_TENANT_ID"] = os.Getenv("AZURE_TENANT_ID")
18+
19+
tmpl, _ := template.New("deploy").Parse(`#!/bin/bash
20+
++++
21+
export AWS_SECRET_ACCESS_KEY={{.AWS_SECRET_ACCESS_KEY}}
22+
export AWS_ACCESS_KEY_ID={{.AWS_ACCESS_KEY_ID}}
23+
export AZURE_CLIENT_ID={{.AZURE_CLIENT_ID}}
24+
export AZURE_CLIENT_SECRET={{.AZURE_CLIENT_SECRET}}
25+
export AZURE_SUBSCRIPTION_ID={{.AZURE_SUBSCRIPTION_ID}}
26+
export AZURE_TENANT_ID={{.AZURE_TENANT_ID}}
27+
sleep 10
28+
`)
29+
var customDataBuffer bytes.Buffer
30+
_ = tmpl.Execute(&customDataBuffer, data)
31+
fmt.Println(customDataBuffer.String())
32+
fmt.Println(os.Getenv("AWS_SECRET_ACCESS_KEY"))
33+
fmt.Println(data["AZURE_CLIENT_ID"])
2134
}

examples/main.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ terraform {
1313
}
1414

1515
provider "iterative" {}
16+
17+
1618
resource "iterative_runner" "runner-aws" {
1719
name = "holy-moly57"
1820
token = "arszDpb3xtNdKaXmQ6vN"
@@ -25,8 +27,7 @@ resource "iterative_runner" "runner-aws" {
2527
instance_type = "t2.micro"
2628
}
2729

28-
/*
29-
provider "iterative" {}
30+
3031
resource "iterative_runner" "runner-az" {
3132
name = "holy-moly56"
3233
token = "arszDpb3xtNdKaXmQ6vN"
@@ -37,8 +38,7 @@ resource "iterative_runner" "runner-az" {
3738
cloud = "azure"
3839
region = "us-west"
3940
instance_type = "m"
40-
}
41-
*/
41+
}
4242

4343

4444
/*

iterative/resource_runner.go

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
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"}}
232225
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+
234232
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
235233
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+
237247
sudo npm install -g git+https://github.com/iterative/cml.git#cml-runner
238248
239249
export AWS_SECRET_ACCESS_KEY={{.AWS_SECRET_ACCESS_KEY}}
@@ -242,7 +252,7 @@ export AZURE_CLIENT_ID={{.AZURE_CLIENT_ID}}
242252
export AZURE_CLIENT_SECRET={{.AZURE_CLIENT_SECRET}}
243253
export AZURE_SUBSCRIPTION_ID={{.AZURE_SUBSCRIPTION_ID}}
244254
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 &
246256
sleep 10
247257
`)
248258
var customDataBuffer bytes.Buffer

0 commit comments

Comments
 (0)