Skip to content

Latest commit

 

History

History
119 lines (90 loc) · 7.69 KB

File metadata and controls

119 lines (90 loc) · 7.69 KB

Description

Warning: this module is now deprecated. We recommend using the Slurm on GCP V5 schedmd-slurm-gcp-v5-login instead.

This module creates a login node for a Slurm cluster based on the Slurm on GCP terraform login module. The login node is used in conjunction with the Slurm controller.

Warning:: Slurm handles startup scripts differently from virtual machines. This will not work in conjuntion with the startup_script module.

Example

- id: slurm_login
  source: community/modules/scheduler/SchedMD-slurm-on-gcp-login-node
  use:
  - network1
  - homefs
  - slurm_controller
  settings:
    login_machine_type: n2-standard-4

This creates a Slurm login node which is:

  • connected to the primary subnet of network1 via use
  • mounted to the homefs filesystem via use
  • associated with the slurm_controller module as the slurm controller via use
  • of VM machine type n2-standard-4

GPU Support

More information on GPU support in Slurm on GCP and other HPC Toolkit modules can be found at docs/gpu-support.md

Support

The HPC Toolkit team maintains the wrapper around the slurm-on-gcp terraform modules. For support with the underlying modules, see the instructions in the slurm-gcp README.

License

Copyright 2022 Google LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Requirements

Name Version
terraform >= 0.14.0

Providers

No providers.

Modules

Name Source Version
slurm_cluster_login_node github.com/SchedMD/slurm-gcp//tf/modules/login/ v4.2.1

Resources

No resources.

Inputs

Name Description Type Default Required
boot_disk_size Size of boot disk to create for the cluster login node number 20 no
boot_disk_type Type of boot disk to create for the cluster login node string "pd-standard" no
cluster_name Name of the cluster string null no
controller_name FQDN or IP address of the controller node string n/a yes
controller_secondary_disk Create secondary disk mounted to controller node bool false no
deployment_name Name of the deployment string n/a yes
disable_login_public_ips If set to true, create Cloud NAT gateway and enable IAP FW rules bool false no
instance_image Disk OS image with Slurm preinstalled to use for login node.
Expected Fields:
name: The name of the image. Mutually exclusive with family.
family: The image family to use. Mutually exclusive with name.
project: The project where the image is hosted.
Custom images must comply with Slurm on GCP requirements.
map(string)
{
"family": "schedmd-slurm-21-08-8-hpc-centos-7",
"project": "schedmd-slurm-public"
}
no
labels Labels to add to login instances. Key-value pairs. map(string) {} no
login_instance_template Instance template to use to create controller instance string null no
login_machine_type Machine type to use for login node instances. string "n2-standard-2" no
login_node_count Number of login nodes in the cluster number 1 no
login_scopes Scopes to apply to login nodes. list(string)
[
"https://www.googleapis.com/auth/monitoring.write",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/devstorage.read_only"
]
no
login_service_account Service Account for compute nodes. string null no
login_startup_script Custom startup script to run on the login node string null no
munge_key Specific munge key to use any null no
network_storage An array of network attached storage mounts to be configured on all instances.
list(object({
server_ip = string,
remote_mount = string,
local_mount = string,
fs_type = string,
mount_options = string,
client_install_runner = map(string)
mount_runner = map(string)
}))
[] no
region Compute Platform region where the Slurm cluster will be located string n/a yes
shared_vpc_host_project Host project of shared VPC string null no
startup_script Custom startup script to run on the login node.
Will be ignored if login_startup_script is specified.
This variable allows Slurm to use the startup_script module.
string null no
subnet_depend Used as a dependency between the network and instances string "" no
subnetwork_name The name of the pre-defined VPC subnet you want the nodes to attach to based on Region. string null no
zone Compute Platform zone where the notebook server will be located string n/a yes

Outputs

No outputs.