Examples

June 10, 2026 ยท View on GitHub

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 2026 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

NameVersion
terraform>= 1.12.2
local>= 2.0.0

Providers

NameVersion
local>= 2.0.0

Modules

NameSourceVersion
startup_script../../../../modules/scripts/startup-scriptn/a

Resources

NameType
local_file.debug_file_ansible_executeresource

Inputs

NameDescriptionTypeDefaultRequired
commandsString of commands to run within this modulestringnullno
data_filesA 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_nameName of deployment, used to name bucket containing spack scripts.stringn/ayes
gcs_bucket_pathThe GCS path for storage bucket and the object, starting with gs://.stringn/ayes
labelsKey-value pairs of labels to be added to created resources.map(string)n/ayes
log_fileLog file to write output from Ramble execute steps intostring"/var/log/ramble-execute.log"no
project_idProject in which the HPC deployment will be created.stringn/ayes
ramble_profile_script_pathPath 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.
stringn/ayes
ramble_runnerRunner from previous ramble-setup or ramble-execute to be chained with scripts generated by this module.
object({
type = string
content = string
destination = string
})
n/ayes
regionRegion to place bucket containing spack scripts.stringn/ayes
spack_profile_script_pathPath 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_nameName of the system user used to execute commands. Generally passed from the ramble-setup module.stringn/ayes

Outputs

NameDescription
controller_startup_scriptRamble startup script, duplicate for SLURM controller.
gcs_bucket_pathBucket containing the startup scripts for ramble, to be reused by ramble-execute module.
ramble_profile_script_pathPath to Ramble profile script.
ramble_runnerRunner to execute Ramble commands using an ansible playbook. The startup-script module
will automatically handle installation of ansible.
spack_profile_script_pathPath to Spack profile script.
startup_scriptRamble startup script.
system_user_nameThe system user used to execute commands.