X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e8d1a643cdbc3a5f4c0e5c745da58d9f7e1248d8..f99fae0bdfdec6a5aa40aee2df67a0de710f7892:/tools/compute-images/build.sh?ds=sidebyside diff --git a/tools/compute-images/build.sh b/tools/compute-images/build.sh index 030eb410b8..fce8b1918b 100755 --- a/tools/compute-images/build.sh +++ b/tools/compute-images/build.sh @@ -49,16 +49,18 @@ Options: Azure SKU image to use --ssh_user (default: packer) The user packer will use to log into the image - --domain (default: arvadosapi.com) - The domain part of the FQDN for the cluster - --resolver (default: 8.8.8.8) + --resolver (default: host's network provided) The dns resolver for the machine --reposuffix (default: unset) Set this to "-dev" to track the unstable/dev Arvados repositories --public-key-file (required) Path to the public key file that a-d-c will use to log into the compute node - --debug - Output debug information (default: false) + --mksquashfs-mem (default: 256M) + Only relevant when using Singularity. This is the amount of memory mksquashfs is allowed to use. + --nvidia-gpu-support (default: false) + Install all the necessary tooling for Nvidia GPU support + --debug (default: false) + Output debug information EOF @@ -78,12 +80,13 @@ AZURE_LOCATION= AZURE_CLOUD_ENVIRONMENT= DEBUG= SSH_USER= -DOMAIN="arvadosapi.com" AWS_DEFAULT_REGION=us-east-1 PUBLIC_KEY_FILE= +MKSQUASHFS_MEM=256M +NVIDIA_GPU_SUPPORT= PARSEDOPTS=$(getopt --name "$0" --longoptions \ - help,json-file:,arvados-cluster-id:,aws-source-ami:,aws-profile:,aws-secrets-file:,aws-region:,aws-vpc-id:,aws-subnet-id:,gcp-project-id:,gcp-account-file:,gcp-zone:,azure-secrets-file:,azure-resource-group:,azure-location:,azure-sku:,azure-cloud-environment:,ssh_user:,domain:,resolver:,reposuffix:,public-key-file:,debug \ + help,json-file:,arvados-cluster-id:,aws-source-ami:,aws-profile:,aws-secrets-file:,aws-region:,aws-vpc-id:,aws-subnet-id:,gcp-project-id:,gcp-account-file:,gcp-zone:,azure-secrets-file:,azure-resource-group:,azure-location:,azure-sku:,azure-cloud-environment:,ssh_user:,resolver:,reposuffix:,public-key-file:,mksquashfs-mem:,nvidia-gpu-support,debug \ -- "" "$@") if [ $? -ne 0 ]; then exit 1 @@ -148,9 +151,6 @@ while [ $# -gt 0 ]; do --ssh_user) SSH_USER="$2"; shift ;; - --domain) - DOMAIN="$2"; shift - ;; --resolver) RESOLVER="$2"; shift ;; @@ -160,6 +160,12 @@ while [ $# -gt 0 ]; do --public-key-file) PUBLIC_KEY_FILE="$2"; shift ;; + --mksquashfs-mem) + MKSQUASHFS_MEM="$2"; shift + ;; + --nvidia-gpu-support) + NVIDIA_GPU_SUPPORT=1 + ;; --debug) # If you want to debug a build issue, add the -debug flag to the build # command in question. @@ -211,7 +217,6 @@ if [[ ! -z "$AZURE_SECRETS_FILE" ]]; then source $AZURE_SECRETS_FILE fi -FQDN=" -var fqdn=compute.$ARVADOS_CLUSTER_ID.$DOMAIN "; EXTRA2="" @@ -263,6 +268,17 @@ fi if [[ "$PUBLIC_KEY_FILE" != "" ]]; then EXTRA2+=" -var public_key_file=$PUBLIC_KEY_FILE" fi +if [[ "$MKSQUASHFS_MEM" != "" ]]; then + EXTRA2+=" -var mksquashfs_mem=$MKSQUASHFS_MEM" +fi +if [[ "$NVIDIA_GPU_SUPPORT" != "" ]]; then + EXTRA2+=" -var nvidia_gpu_support=$NVIDIA_GPU_SUPPORT" +fi + + -echo packer build$EXTRA$FQDN -var "role=$role" -var "arvados_cluster=$ARVADOS_CLUSTER_ID"$EXTRA2 $JSON_FILE -packer build$EXTRA$FQDN -var "role=$role" -var "arvados_cluster=$ARVADOS_CLUSTER_ID"$EXTRA2 $JSON_FILE +echo +packer version +echo +echo packer build$EXTRA -var "arvados_cluster=$ARVADOS_CLUSTER_ID"$EXTRA2 $JSON_FILE +packer build$EXTRA -var "arvados_cluster=$ARVADOS_CLUSTER_ID"$EXTRA2 $JSON_FILE