Skip to content

Instantly share code, notes, and snippets.

@rk-cloudside
Last active October 3, 2022 19:55
Show Gist options
  • Save rk-cloudside/923ed6c23435a17b7216085294cb4a5c to your computer and use it in GitHub Desktop.
Save rk-cloudside/923ed6c23435a17b7216085294cb4a5c to your computer and use it in GitHub Desktop.
###########
# GENERAL #
###########
project_id = "YOUR-PROJECT-ID"
slurm_cluster_name = "hpc"
region = "asia-south1"
# *NOT* intended for production use
# enable_devel = true
enable_bigquery_load = false
enable_cleanup_compute = true
enable_cleanup_subscriptions = false
enable_reconfigure = false
#################
# CONFIGURATION #
#################
# cloudsql = {
# server_ip = "35.242.133.39:3306"
# user = "root"
# password = "root"
# db_name = "tsl-data"
# }
# Network storage
network_storage = [
{
server_ip = "10.250.176.2"
remote_mount = "/slurmfs"
local_mount = "/data"
fs_type = "nfs"
mount_options = null
},
]
login_network_storage = [
{
server_ip = "10.250.176.2"
remote_mount = "/slurmfs"
local_mount = "/data"
fs_type = "nfs"
mount_options = null
},
]
# Slurm config
cgroup_conf_tpl = null
slurm_conf_tpl = null
slurmdbd_conf_tpl = null
cloud_parameters = {
resume_rate = 0
resume_timeout = 300
suspend_rate = 0
suspend_timeout = 300
}
# scripts
controller_startup_scripts = [
# {
# filename = "hello_controller.sh"
# content = <<EOF
# #!/bin/bash
# mkdir .ssh
# mkdir -p /data/ssh
#ssh-keygen -f /root/.ssh/id_rsa -P ""
# cp -p /root/.ssh/id_rsa.pub /data/ssh/authorized_keys
# EOF
# },
]
login_startup_scripts = [
# {
# filename = "hello_login.sh"
# content = <<EOF
# #!/bin/bash
#set -ex
#echo "Hello, $(hostname) from $(dirname $0) !"
#mkdir data
# EOF
# },
]
compute_startup_scripts = [
# {
# filename = "hello_compute.sh"
# content = <<EOF
##!/bin/bash
#mkdir /root/.ssh
#cp /data/ssh/authorized_keys /root/.ssh/authorized_keys
#chmod -R 700 /root/.ssh
#chmod 600 /root/.ssh/*
#sed -i "s/PermitRootLogin no/PermitRootLogin yes/g" /etc/ssh/sshd_config
#service sshd restart
# EOF
# },
]
prolog_scripts = [
# {
# filename = "hello_prolog.sh"
# content = <<EOF
# #!/bin/bash
# set -ex
# echo "Hello, $(hostname) from $(dirname $0) !"
# EOF
# },
]
epilog_scripts = [
# {
# filename = "hello_epilog.sh"
# content = <<EOF
# #!/bin/bash
# set -ex
# echo "Hello, $(hostname) from $(dirname $0) !"
# EOF
# },
]
##############
# CONTROLLER #
##############
controller_instance_config = {
# Template By Definition
additional_disks = [
# {
# disk_name = null
# device_name = null
# disk_size_gb = 128
# disk_type = "pd-standard"
# disk_labels = {}
# auto_delete = true
# boot = false
# },
]
can_ip_forward = null
disable_smt = false
disk_auto_delete = true
disk_labels = {
# label0 = "value0"
# label1 = "value1"
}
disk_size_gb = 30
disk_type = "pd-ssd"
enable_confidential_vm = false
enable_oslogin = true
enable_shielded_vm = false
gpu = null
labels = {
# label0 = "value0"
# label1 = "value1"
}
machine_type = "n1-standard-2"
metadata = {
# metadata0 = "value0"
# metadata1 = "value1"
}
min_cpu_platform = null
on_host_maintenance = null
preemptible = false
service_account = {
email = "default"
scopes = [
"https://www.googleapis.com/auth/cloud-platform",
]
}
shielded_instance_config = {
enable_integrity_monitoring = true
enable_secure_boot = true
enable_vtpm = true
}
source_image_family = null
source_image_project = null
source_image = null
tags = [
# "tag0",
# "tag1",
]
# Template By Source
instance_template = null
# Instance Definition
access_config = [
# {
# nat_ip = "10.100.0.0"
# network_tier = "STANDARD"
# },
]
network_ip = null
region = "asia-south1"
static_ip = null
subnetwork_project = "YOUR-PROJECT-ID"
subnetwork = "slurm-sn"
zone = "asia-south1-a"
}
#########
# LOGIN #
#########
login_nodes = [
{
# Group Definition
group_name = "l0"
# Template By Definition
additional_disks = []
can_ip_forward = false
disable_smt = false
disk_auto_delete = true
disk_labels = {}
disk_size_gb = 30
disk_type = "pd-standard"
enable_confidential_vm = false
enable_oslogin = true
enable_shielded_vm = false
gpu = null
labels = {}
machine_type = "n1-standard-2"
metadata = {}
min_cpu_platform = null
on_host_maintenance = null
preemptible = false
service_account = {
email = "default"
scopes = [
"https://www.googleapis.com/auth/cloud-platform",
]
}
shielded_instance_config = null
source_image_family = null
source_image_project = null
source_image = null
tags = []
# Template By Source
instance_template = null
# Instance Definition
access_config = []
network_ips = []
num_instances = 1
region = "asia-south1"
static_ips = []
subnetwork_project = "YOUR-PROJECT-ID"
subnetwork = "slurm-sn"
zone = "asia-south1-a"
},
]
##############
# PARTITIONS #
##############
partitions = [
{
enable_job_exclusive = false
enable_placement_groups = false
network_storage = []
partition_conf = {
Default = "YES"
#SuspendTime = 300
}
partition_startup_scripts = [
#{
# filename = "hello_part_debug.sh"
# content = <<EOF
# #!/bin/bash
# set -ex
# echo "Hello, $(hostname) from $(dirname $0) !"
# EOF
# },
]
partition_name = "debug"
partition_nodes = [
{
# Group Definition
group_name = "worker"
node_count_dynamic_max = 0
node_count_static = 2
node_conf = {
# Features = "test"
}
# Template By Definition
additional_disks = []
can_ip_forward = false
disable_smt = false
disk_auto_delete = true
disk_labels = {}
disk_size_gb = 30
disk_type = "pd-standard"
enable_confidential_vm = false
enable_oslogin = true
enable_shielded_vm = false
gpu = null
labels = {}
machine_type = "n1-standard-2"
metadata = {}
min_cpu_platform = null
on_host_maintenance = null
preemptible = false
service_account = {
email = "default"
scopes = [
"https://www.googleapis.com/auth/cloud-platform",
]
}
shielded_instance_config = null
source_image_family = null
source_image_project = null
source_image = null
tags = []
# Template By Source
instance_template = null
# Instance Definition
bandwidth_tier = "platform_default"
enable_spot_vm = false
spot_instance_config = {
termination_action = "STOP"
}
},
]
region = "asia-south1"
subnetwork_project = "YOUR-PROJECT-ID"
subnetwork = "slurm-sn"
zone_policy_allow = []
zone_policy_deny = []
},
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment