forked from usegalaxy-eu/infrastructure
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstance_dedicated_gpu-alpha.tf
73 lines (64 loc) · 3.29 KB
/
instance_dedicated_gpu-alpha.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
variable "gpu-node-alpha-dns" {
default = "gpu-node-alpha.galaxyproject.eu"
}
data "openstack_images_image_v2" "gpu-node-alpha-image" {
name = "vggp-gpu-v60-j310-1fad751e0150-main"
}
resource "openstack_compute_instance_v2" "gpu-node-alpha" {
name = var.gpu-node-alpha-dns
flavor_name = "g1.c36m100g1"
key_pair = "cloud2"
security_groups = ["default", "public-ssh"]
network {
name = "public"
}
block_device {
uuid = data.openstack_images_image_v2.gpu-node-alpha-image.id
source_type = "image"
volume_size = 200
destination_type = "volume"
boot_index = 0
delete_on_termination = true
}
user_data = <<-EOF
#cloud-config
bootcmd:
- test -z "$(blkid /dev/vdb)" && mkfs -t ext4 /dev/vdb
- mkdir -p /scratch
mounts:
- ["/dev/vdb", "/scratch", auto, "defaults,nofail", "0", "2"]
runcmd:
- [ chown, "centos.centos", -R, /scratch ]
package_update: true
package_upgrade: true
packages:
- cuda-11-6
- nvidia-container-toolkit
users:
- default
ssh_authorized_keys:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDC6kanRFWmhjkV8pkwOYtHoCNDIP/nj2umigbSylMFmiXm2rwnqi1qhDeJqd53PTrT4RWynT7Gqg7/HSITPAZA4wdGNcDLHD7QvexBDhIhUJCERmMZa6EWPvOPgDACbJDjrwLxd8oF65UhQU+meVrkBmpod6YDSuVIfmZXHUheK7NuZfvfNx3ruQNU5MRbI3p6vuY++B4GYRXrxM68+GWYEOEa6zz142Nl1PNnvDMkiobro0k6P5bXv4LDYMW3YyDXu69okJgPqEKjE/IsI4/2JKfzduEZMQyPZDQswyuNQwMAfKQjvDQ0gvQiVE0eM2gdR7qi/jOqFXrzkOwYWQd00Cy9EtSWqhDlpu9KrIfs8T2HTn9p/XU+Bwg4anyMh//gb+EOctpvptqoBhjNxoRTX/bwNLFq/ARFAtFDn+qX8w9HWeB5/vNvdOkH7fSMTTFmFkDZ8U/Hrg5vhcwy2Hid2K7j9peixB/41d7/O08qL99qH9362L8ZmhyT9aNeOKQ0MUEEhAasYkKO7AQcChDpkgW635mkvI5EOZGsqCRPiX8P8iTH5neH6ZI4H21JoON5E0raMJlwznNq3D4as12kZBtw198DHFAMQXlfMR24NTcv0nFnS6JmxlwCKu+Uzyt3Xlyj/wEzKYnr71vfShb3/vUgYbzIEdDQmGV8DXEJBw== anup"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCsMik6vRSs9RCmajIqJ5d20bnRheUV1t1kE042Av35peN03kklYlgFkvt7czs88ty6X2mit3Gpf/U+lwADh3LObxAc48qfj5gvfJ5EzPXTVoV7NYvjpnm+LujqAt+q+K3Gg3XpGmQGrT3Y/dwcPyvhUjYAWvf/zXr/TpEfwwj05wWIkIAn2lrTIkZNu6dT28ARb4JHyQMtcA7A7tkZwqC4ybf9YMMuUJpZHZ3l1pMvD7/ZY+a5oq/n/oOd/piPu6ESacy5fLyWFElNJM7hDCIuoiYG8tv0dQVvbGcs4iIX6Dw1BLfavhLNV9NM0iEFLql4ntZA2iHaKDrz8Ci2Qlo5lQjXPDYc4Um1gQxzGvSPVbAdzcUmA3d+p4kFKXk1Za/fLO7Se39w4YM21pTPKFYFEFapcLZC3+QFSzDFPdnwPzbL46wBk/8mluvZVZ/tYqQGtSe/CyBYzsYPVfqtVxg4gWzITAFKDhC3QlH8rRz61hxSG/1y7RPR/p9UxbsBghk= [email protected]"
EOF
}
resource "random_id" "gpu-node-alpha-volume_name_unique" {
byte_length = 8
}
resource "openstack_blockstorage_volume_v2" "gpu-node-alpha-vol" {
name = "gpu-node-alpha-scratch-vol-${random_id.gpu-node-alpha-volume_name_unique.hex}"
volume_type = "default"
description = "Scratch volume for gpu-node-alpha"
size = 1024
}
resource "openstack_compute_volume_attach_v2" "gpu-node-alpha-internal-va" {
instance_id = openstack_compute_instance_v2.gpu-node-alpha.id
volume_id = openstack_blockstorage_volume_v2.gpu-node-alpha-vol.id
}
resource "aws_route53_record" "gpunodealpha" {
allow_overwrite = true
zone_id = var.zone_galaxyproject_eu
name = var.gpu-node-alpha-dns
type = "A"
ttl = "600"
records = ["${openstack_compute_instance_v2.gpu-node-alpha.access_ip_v4}"]
}