Skip to content

Latest commit

 

History

History
116 lines (87 loc) · 6.74 KB

File metadata and controls

116 lines (87 loc) · 6.74 KB

Description

This module will create a startup-script runner that will execute Ramble commands.

Ramble is a multi-platform experimentation framework capable of driving software installation, acquiring input files, configuring experiments, and extracting results. For more information about Ramble, see: https://github.com/GoogleCloudPlatform/ramble

This module outputs a startup script runner, which can be combined with other startup script runners to execute a set of Ramble commands.

Ramble makes extensive use of Spack. It must be installed with a Toolkit runner generated by the spack-setup module following the basic example below.

NOTE: This is an experimental module and the functionality and documentation will likely be updated in the near future. This module has only been tested in limited capacity.

Examples

Basic Example

Below is a basic example of using this module.

  - id: spack
    source: community/modules/scripts/spack-setup

  - id: ramble-setup
    source: community/modules/scripts/ramble-setup

  - id: ramble-execute
    source: community/modules/scripts/ramble-execute
    use: [spack, ramble-setup]
    settings:
      commands:
      - ramble list

This example shows installing Spack and Ramble with their own modules (spack-setup and ramble-setup respectively). Then the ramble-execute module is added to simply list all applications Ramble knows about.

License

Copyright 2023 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 >= 1.0.0
local >= 2.0.0

Providers

Name Version
local >= 2.0.0

Modules

Name Source Version
startup_script github.com/GoogleCloudPlatform/hpc-toolkit//modules/scripts/startup-script v1.39.0&depth=1

Resources

Name Type
local_file.debug_file_ansible_execute resource

Inputs

Name Description Type Default Required
commands String of commands to run within this module string null no
data_files A list of files to be transferred prior to running commands.
It must specify one of 'source' (absolute local file path) or 'content' (string).
It must specify a 'destination' with absolute path where file should be placed.
list(map(string)) [] no
deployment_name Name of deployment, used to name bucket containing spack scripts. string n/a yes
gcs_bucket_path The GCS path for storage bucket and the object, starting with gs://. string n/a yes
labels Key-value pairs of labels to be added to created resources. map(string) n/a yes
log_file Log file to write output from Ramble execute steps into string "/var/log/ramble-execute.log" no
project_id Project in which the HPC deployment will be created. string n/a yes
ramble_profile_script_path Path to the Ramble profile.d script. Created by an instance of ramble-setup.
Can be defined explicitly, or by chaining an instance of a ramble-setup module
through a use setting.
string n/a yes
ramble_runner Runner from previous ramble-setup or ramble-execute to be chained with scripts generated by this module.
object({
type = string
content = string
destination = string
})
n/a yes
region Region to place bucket containing spack scripts. string n/a yes
spack_profile_script_path Path to the Spack profile.d script.
Can be defined explicitly, or by chaining an instance of a spack-setup module
through a use setting.
Defaults to /etc/profile.d/spack.sh if not set.
string "/etc/profile.d/spack.sh" no
system_user_name Name of the system user used to execute commands. Generally passed from the ramble-setup module. string n/a yes

Outputs

Name Description
controller_startup_script Ramble startup script, duplicate for SLURM controller.
gcs_bucket_path Bucket containing the startup scripts for ramble, to be reused by ramble-execute module.
ramble_profile_script_path Path to Ramble profile script.
ramble_runner Runner to execute Ramble commands using an ansible playbook. The startup-script module
will automatically handle installation of ansible.
spack_profile_script_path Path to Spack profile script.
startup_script Ramble startup script.
system_user_name The system user used to execute commands.