- vHive Setup Scripts
There are basically two ways to get the setup tool
Check vHive GitHub Repo for more details and choose the appropriate version to download.
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.
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 configsconfigs/setup/system.json
: system related configsconfigs/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.
./setup_tool [options] <subcommand> [parameters]
use the -h
or --help
option to look for the help
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> ...
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.
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 ...
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.
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 tostdout
will be redirected to this log file.<subcommand>_error.log
: all output originally writes tostderr
will be redirected to this log file.
At present, only Ubuntu 20.04 (amd64)
is officially tested. Other versions of Ubuntu
may also work, but not guaranteed.