Skip to content

Latest commit

 

History

History
 
 

scripts

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

vHive Setup Scripts

1. Get Setup Tool

There are basically two ways to get the setup tool

1.1 Download the Binary Executable Directly

Check vHive GitHub Repo for more details and choose the appropriate version to download.

1.2 Build from Source

Building from source requires Go (version 1.19 at least) installed on your system.

git clone --depth 1 https://github.com/vhive-serverless/vHive
cd vHive
pushd scripts && go build -o setup_tool && popd

Compiled executable file will be in the scripts directory.

2. Config the Setup Tool

Normally, just skip this section and use the default config files which are located in the configs/setup directory inside the vHive repo.

  • configs/setup/knative.json: knative related configs (all the path in the config file should be relative path inside the vHive repo)
  • configs/setup/kube.json: Kubernetes related configs
  • configs/setup/system.json: system related configs
  • configs/setup/vhive.json: vHive related configs

You can modify the config files on your demand and then place all of them in one directory for the later use.

3. Use of Setup Tool

3.1 General Usage

./setup_tool [options] <subcommand> [parameters]

use the -h or --help option to look for the help

3.2 Specify Config Files

By default, the setup_tool will use the config files in configs/setup directory inside the vHive repo.

To change the path of config files, use the --setup-configs-dir option to specify it.

./setup_tool --setup-configs-dir <CONFIG PATH> ...

3.3 Use with Local vHive Repo

By default, the setup_tool will check the current directory to ensure it is a vHive repo and then use it during the setup process.

To use other vHive repos locally, provide the --vhive-repo-dir option to specify it.

./setup_tool --vhive-repo-dir <VHIVE REPO PATH> ...

If the current directory or the provided path is not a valid vHive repo, the setup_tool will automatically clone the remote vHive repo and use it.

3.4 Use with Remote vHive Repo (Standalone Use)

When the setup_tool is directly downloaded or targeted for standalone use, the setup_tool will automatically clone the remote vHive repo to the temporary directory and then use it during the setup process.

To change the URL and branch of the default remote vHive repo, use --vhive-repo-url and --vhive-repo-branch options to specify them.

./setup_tool --vhive-repo-url <URL> --vhive-repo-branch <BRANCH> ...

Besides, when the current directory is a vHive repo or the --vhive-repo-dir option is valid, the local repo will be prioritized for use. To force the setup_tool to clone and use the remote vHive repo, provide --force-remote option to the setup_tool.

./setup_tool --force-remote ...

3.5 Migrate from Legacy Shell Scripts

Just type the name of the original shell script and append corresponding parameters behind. For example:

# Legacy ==>
scripts/cloudlab/setup_node.sh stock-only
# ==> Current
./setup_tool [options] setup_node stock-only

# Legacy ==>
scripts/create_devmapper.sh
# ==> Current
./setup_tool [options] create_devmapper

# Legacy ==>
scripts/gpu/setup_nvidia_gpu.sh
# ==> Current
./setup_tool [options] setup_nvidia_gpu

NOTICE: Shell scripts in scripts/stargz, scripts/self-hosted-kind, and scripts/github_runner are not supported to be invoked in this way at present.

4. Logs

The log files will be named as <subcommand>_common.log and <subcommand>_error.log. All log files will be stored in the directory where the setup_tool is executed.

  • <subcommand>_common.log: all output originally writes to stdout will be redirected to this log file.
  • <subcommand>_error.log: all output originally writes to stderr will be redirected to this log file.

5. Supported Platform

At present, only Ubuntu 20.04 (amd64) is officially tested. Other versions of Ubuntu may also work, but not guaranteed.