[arvados] created: 2.1.0-2550-gbb99d90e2
git repository hosting
git at public.arvados.org
Wed May 25 19:15:15 UTC 2022
at bb99d90e25a47dff9405fb6f68be0779dd2d8989 (commit)
commit bb99d90e25a47dff9405fb6f68be0779dd2d8989
Author: Ward Vandewege <ward at curii.com>
Date: Wed May 25 15:11:39 2022 -0400
19164: add a few flags to the compute image builder script.
No issue #
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward at curii.com>
diff --git a/tools/compute-images/arvados-images-aws.json b/tools/compute-images/arvados-images-aws.json
index c030ea6af..9e07b461c 100644
--- a/tools/compute-images/arvados-images-aws.json
+++ b/tools/compute-images/arvados-images-aws.json
@@ -1,12 +1,13 @@
{
"variables": {
"arvados_cluster": "",
- "associate_public_ip_address": "true",
"aws_access_key": "",
"aws_profile": "",
"aws_secret_key": "",
"aws_source_ami": "ami-031283ff8a43b021c",
"aws_ebs_autoscale": "",
+ "aws_associate_public_ip_address": "",
+ "aws_ena_support": "",
"build_environment": "aws",
"public_key_file": "",
"mksquashfs_mem": "",
@@ -24,12 +25,12 @@
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "{{user `aws_default_region`}}",
- "ena_support": "true",
+ "ena_support": "{{user `aws_ena_support`}}",
"source_ami": "{{user `aws_source_ami`}}",
"instance_type": "m5.large",
"vpc_id": "{{user `vpc_id`}}",
"subnet_id": "{{user `subnet_id`}}",
- "associate_public_ip_address": "{{user `associate_public_ip_address`}}",
+ "associate_public_ip_address": "{{user `aws_associate_public_ip_address`}}",
"ssh_username": "{{user `ssh_user`}}",
"ami_name": "arvados-{{user `arvados_cluster`}}-compute-{{isotime \"20060102150405\"}}",
"launch_block_device_mappings": [{
diff --git a/tools/compute-images/build.sh b/tools/compute-images/build.sh
index c589ffa05..f60060ea9 100755
--- a/tools/compute-images/build.sh
+++ b/tools/compute-images/build.sh
@@ -35,6 +35,14 @@ Options:
Subnet id for AWS otherwise packer will pick the default one for the VPC
--aws-ebs-autoscale (default: false)
Install the AWS EBS autoscaler daemon.
+ --aws-associate-public-ip (default: true if building for AWS)
+ Associate a public IP address with the node used for building the compute image.
+ Required when the machine running packer can not reach the node used for building
+ the compute image via its private IP.
+ Note: if the subnet has "Auto-assign public IPv4 address" enabled, disabling this
+ flag will have no effect.
+ --aws-ena-support (default: true if building for AWS)
+ Enable enhanced networking
--gcp-project-id (default: false, required if building for GCP)
GCP project id
--gcp-account-file (default: false, required if building for GCP)
@@ -76,6 +84,8 @@ AWS_SOURCE_AMI=
AWS_VPC_ID=
AWS_SUBNET_ID=
AWS_EBS_AUTOSCALE=
+AWS_ASSOCIATE_PUBLIC_IP=true
+AWS_ENA_SUPPORT=true
GCP_PROJECT_ID=
GCP_ACCOUNT_FILE=
GCP_ZONE=
@@ -91,7 +101,7 @@ 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:,aws-ebs-autoscale,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 \
+ help,json-file:,arvados-cluster-id:,aws-source-ami:,aws-profile:,aws-secrets-file:,aws-region:,aws-vpc-id:,aws-subnet-id:,aws-ebs-autoscale,aws-associate-public-ip:,aws-ena-support:,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
@@ -132,6 +142,12 @@ while [ $# -gt 0 ]; do
--aws-ebs-autoscale)
AWS_EBS_AUTOSCALE=1
;;
+ --aws-associate-public-ip)
+ AWS_ASSOCIATE_PUBLIC_IP="$2"; shift
+ ;;
+ --aws-ena-support)
+ AWS_ENA_SUPPORT="$2"; shift
+ ;;
--gcp-project-id)
GCP_PROJECT_ID="$2"; shift
;;
@@ -226,25 +242,36 @@ if [[ ! -z "$AZURE_SECRETS_FILE" ]]; then
fi
+AWS=0
EXTRA2=""
if [[ -n "$AWS_SOURCE_AMI" ]]; then
EXTRA2+=" -var aws_source_ami=$AWS_SOURCE_AMI"
+ AWS=1
fi
if [[ -n "$AWS_PROFILE" ]]; then
EXTRA2+=" -var aws_profile=$AWS_PROFILE"
+ AWS=1
fi
if [[ -n "$AWS_VPC_ID" ]]; then
- EXTRA2+=" -var vpc_id=$AWS_VPC_ID -var associate_public_ip_address=true "
+ EXTRA2+=" -var vpc_id=$AWS_VPC_ID"
+ AWS=1
fi
if [[ -n "$AWS_SUBNET_ID" ]]; then
- EXTRA2+=" -var subnet_id=$AWS_SUBNET_ID -var associate_public_ip_address=true "
+ EXTRA2+=" -var subnet_id=$AWS_SUBNET_ID"
+ AWS=1
fi
if [[ -n "$AWS_DEFAULT_REGION" ]]; then
EXTRA2+=" -var aws_default_region=$AWS_DEFAULT_REGION"
+ AWS=1
fi
if [[ -n "$AWS_EBS_AUTOSCALE" ]]; then
EXTRA2+=" -var aws_ebs_autoscale=$AWS_EBS_AUTOSCALE"
+ AWS=1
+fi
+if [[ $AWS -eq 1 ]]; then
+ EXTRA2+=" -var aws_associate_public_ip_address=$AWS_ASSOCIATE_PUBLIC_IP"
+ EXTRA2+=" -var aws_ena_support=$AWS_ENA_SUPPORT"
fi
if [[ -n "$GCP_PROJECT_ID" ]]; then
EXTRA2+=" -var project_id=$GCP_PROJECT_ID"
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list