[arvados] updated: 2.6.0-154-gc311969bd
git repository hosting
git at public.arvados.org
Thu May 11 13:03:46 UTC 2023
Summary of changes:
tools/salt-install/terraform/aws/services/locals.tf | 6 ++++++
tools/salt-install/terraform/aws/services/main.tf | 7 +++----
tools/salt-install/terraform/aws/services/terraform.tfvars | 11 ++++++++++-
tools/salt-install/terraform/aws/services/variables.tf | 9 +++++++++
4 files changed, 28 insertions(+), 5 deletions(-)
via c311969bdd03f411a202983e7a0a11f4d9901243 (commit)
via c14cc37e0ced977388baaff750648dbbfd9a36de (commit)
from 705c7711ba7a741c85a57d260cc63e8183373a86 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit c311969bdd03f411a202983e7a0a11f4d9901243
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date: Thu May 11 10:03:20 2023 -0300
20482: Allows the site admin to specify instance volume sizes per node.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>
diff --git a/tools/salt-install/terraform/aws/services/main.tf b/tools/salt-install/terraform/aws/services/main.tf
index 06b89dc77..9ca6d0fb1 100644
--- a/tools/salt-install/terraform/aws/services/main.tf
+++ b/tools/salt-install/terraform/aws/services/main.tf
@@ -57,15 +57,13 @@ resource "aws_instance" "arvados_service" {
private_ip = local.private_ip[each.value]
subnet_id = contains(local.user_facing_hosts, each.value) ? data.terraform_remote_state.vpc.outputs.public_subnet_id : data.terraform_remote_state.vpc.outputs.private_subnet_id
vpc_security_group_ids = [ data.terraform_remote_state.vpc.outputs.arvados_sg_id ]
- # This should be done in a more readable way
- # iam_instance_profile = each.value == "controller" ? aws_iam_instance_profile.dispatcher_instance_profile.name : length(regexall("^keep[0-9]+", each.value)) > 0 ? aws_iam_instance_profile.keepstore_instance_profile.name : aws_iam_instance_profile.default_instance_profile.name
iam_instance_profile = try(local.instance_profile[each.value], local.instance_profile.default).name
tags = {
Name = "${local.cluster_name}_arvados_service_${each.value}"
}
root_block_device {
volume_type = "gp3"
- volume_size = (each.value == "controller" && !local.use_external_db) ? 70 : 20
+ volume_size = try(var.instance_volume_size[each.value], var.instance_volume_size.default)
}
lifecycle {
diff --git a/tools/salt-install/terraform/aws/services/terraform.tfvars b/tools/salt-install/terraform/aws/services/terraform.tfvars
index 856ea2396..3a2bf1d8e 100644
--- a/tools/salt-install/terraform/aws/services/terraform.tfvars
+++ b/tools/salt-install/terraform/aws/services/terraform.tfvars
@@ -11,12 +11,21 @@
# controller = "c5a.4xlarge"
# }
+# Set the volume size (in GiB) per service node.
+# Default: 100 for controller, 20 the rest.
+# NOTE: The service node will need to be rebooted after increasing its volume's
+# size.
+# instance_volume_size = {
+# default = 20
+# controller = 300
+# }
+
# AWS secret's name which holds the SSL certificate private key's password.
# Default: "arvados-ssl-privkey-password"
# ssl_password_secret_name_suffix = "some-name-suffix"
# User for software deployment. Depends on the AMI's distro.
-# Default: 'admin'
+# Default: "admin"
# deploy_user = "ubuntu"
# Instance AMI to use for service nodes. Default: latest from Debian 11
diff --git a/tools/salt-install/terraform/aws/services/variables.tf b/tools/salt-install/terraform/aws/services/variables.tf
index 08675a84f..7e5d9056d 100644
--- a/tools/salt-install/terraform/aws/services/variables.tf
+++ b/tools/salt-install/terraform/aws/services/variables.tf
@@ -10,6 +10,15 @@ variable "instance_type" {
}
}
+variable "instance_volume_size" {
+ description = "EC2 volume size in GiB per service node"
+ type = map(number)
+ default = {
+ default = 20
+ controller = 100
+ }
+}
+
variable "pubkey_path" {
description = "Path to the file containing the public SSH key"
type = string
commit c14cc37e0ced977388baaff750648dbbfd9a36de
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date: Thu May 11 09:48:07 2023 -0300
20482: Improves readability of instance profile assignment code.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>
diff --git a/tools/salt-install/terraform/aws/services/locals.tf b/tools/salt-install/terraform/aws/services/locals.tf
index 191b7e03e..9b95ebdbc 100644
--- a/tools/salt-install/terraform/aws/services/locals.tf
+++ b/tools/salt-install/terraform/aws/services/locals.tf
@@ -18,4 +18,10 @@ locals {
instance_ami_id = var.instance_ami != "" ? var.instance_ami : data.aws_ami.debian-11.image_id
custom_tags = data.terraform_remote_state.vpc.outputs.custom_tags
compute_node_iam_role_name = data.terraform_remote_state.data-storage.outputs.compute_node_iam_role_name
+ instance_profile = {
+ default = aws_iam_instance_profile.default_instance_profile
+ controller = aws_iam_instance_profile.dispatcher_instance_profile
+ keep0 = aws_iam_instance_profile.keepstore_instance_profile
+ keep1 = aws_iam_instance_profile.keepstore_instance_profile
+ }
}
diff --git a/tools/salt-install/terraform/aws/services/main.tf b/tools/salt-install/terraform/aws/services/main.tf
index 48b6ef23c..06b89dc77 100644
--- a/tools/salt-install/terraform/aws/services/main.tf
+++ b/tools/salt-install/terraform/aws/services/main.tf
@@ -58,9 +58,10 @@ resource "aws_instance" "arvados_service" {
subnet_id = contains(local.user_facing_hosts, each.value) ? data.terraform_remote_state.vpc.outputs.public_subnet_id : data.terraform_remote_state.vpc.outputs.private_subnet_id
vpc_security_group_ids = [ data.terraform_remote_state.vpc.outputs.arvados_sg_id ]
# This should be done in a more readable way
- iam_instance_profile = each.value == "controller" ? aws_iam_instance_profile.dispatcher_instance_profile.name : length(regexall("^keep[0-9]+", each.value)) > 0 ? aws_iam_instance_profile.keepstore_instance_profile.name : aws_iam_instance_profile.default_instance_profile.name
+ # iam_instance_profile = each.value == "controller" ? aws_iam_instance_profile.dispatcher_instance_profile.name : length(regexall("^keep[0-9]+", each.value)) > 0 ? aws_iam_instance_profile.keepstore_instance_profile.name : aws_iam_instance_profile.default_instance_profile.name
+ iam_instance_profile = try(local.instance_profile[each.value], local.instance_profile.default).name
tags = {
- Name = "arvados_service_${each.value}"
+ Name = "${local.cluster_name}_arvados_service_${each.value}"
}
root_block_device {
volume_type = "gp3"
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list