Skip to content

Latest commit

 

History

History
128 lines (98 loc) · 7.39 KB

File metadata and controls

128 lines (98 loc) · 7.39 KB

Description

This module will create a set of startup-script runners that will setup Ramble, and install Ramble’s dependencies.

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 two startup script runners, which can be added to startup scripts to setup, ramble and its dependencies.

For this module to be completely functional, it depends on a spack installation. For more information, see Cluster-Toolkit’s Spack module.

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

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

This example simply installs ramble on a VM.

Full Example

- id: ramble-setup
  source: community/modules/scripts/ramble-setup
  settings:
    install_dir: /ramble
    ramble_url: https://github.com/GoogleCloudPlatform/ramble
    ramble_ref: v0.2.1
    log_file: /var/log/ramble.log
    chown_owner: “owner”
    chgrp_group: “user_group”
    chmod_mode: “a+r”

This example simply installs ramble into a VM at the location /ramble, checks out the v0.2.1 tag, changes the owner and group to “owner” and “user_group”, and chmod’s the clone to make it world readable.

Also see a more complete Ramble example blueprint.

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
google >= 4.42
local >= 2.0.0

Providers

Name Version
google >= 4.42
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
google_storage_bucket.bucket resource
local_file.debug_file_shell_install resource

Inputs

Name Description Type Default Required
chmod_mode Mode to chmod the Ramble clone to. Defaults to "" (i.e. do not modify).
For usage information see:
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/file_module.html#parameter-mode
string "" no
deployment_name Name of deployment, used to name bucket containing startup script. string n/a yes
install_dir Destination directory of installation of Ramble. string "/apps/ramble" no
labels Key-value pairs of labels to be added to created resources. map(string) n/a yes
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 this module string "/etc/profile.d/ramble.sh" no
ramble_ref Git ref to checkout for Ramble. string "develop" no
ramble_url URL for Ramble repository to clone. string "https://github.com/GoogleCloudPlatform/ramble" no
ramble_virtualenv_path Virtual environment path in which to install Ramble Python interpreter and other dependencies string "/usr/local/ramble-python" no
region Region to place bucket containing startup script. string n/a yes
system_user_gid GID used when creating system user group. Ignored if system_user_name already exists on system. Default of 1104762904 is arbitrary. number 1104762904 no
system_user_name Name of system user that will perform installation of Ramble. It will be created if it does not exist. string "ramble" no
system_user_uid UID used when creating system user. Ignored if system_user_name already exists on system. Default of 1104762904 is arbitrary. number 1104762904 no

Outputs

Name Description
controller_startup_script Ramble installation script, duplicate for SLURM controller.
gcs_bucket_path Bucket containing the startup scripts for Ramble, to be reused by ramble-execute module.
ramble_path Location ramble is installed into.
ramble_profile_script_path Path to Ramble profile script.
ramble_ref Git ref the ramble install is checked out to use
ramble_runner Runner to be used with startup-script module or passed to ramble-execute module.
- installs Ramble dependencies
- installs Ramble
- generates profile.d script to enable access to Ramble
This is safe to run in parallel by multiple machines.
startup_script Ramble installation script.
system_user_name The system user used to install Ramble. It can be reused by ramble-execute module to execute Ramble commands.