diff --git a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws-hci.yml b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws-hci.yml index 95eaad206a..7cb4b7b582 100644 --- a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws-hci.yml +++ b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws-hci.yml @@ -48,6 +48,7 @@ defaults: provision: provider_name: 'aws' ami: "${input.aws_ami_image}" + root_size: "${input.aws_root_size}" instancetype: "${input.aws_instance_type}" cloud_init: true connection: diff --git a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs-hci.yml b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs-hci.yml index 6008e86102..205d23e6d7 100644 --- a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs-hci.yml +++ b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs-hci.yml @@ -46,6 +46,11 @@ inputs: description: 'AWS ami image used for host deployments' default: 'default' + - name: 'aws_root_size' + type: text + description: 'AWS instance root volume size, in GB' + default: '100' + - name: 'aws_instance_type' type: text description: 'AWS instance type, use virtual instances' diff --git a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs.yml b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs.yml index b7f833189f..287ddda1a3 100644 --- a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs.yml +++ b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.d/inputs.yml @@ -36,6 +36,11 @@ inputs: description: 'AWS ami image used for host deployments' default: 'default' + - name: 'aws_root_size' + type: text + description: 'AWS instance root volume size, in GB' + default: '100' + - name: 'aws_instance_type' type: text description: 'AWS instance type, use virtual instances' diff --git a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.yml b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.yml index 875d026b43..ec03dd2063 100644 --- a/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.yml +++ b/share/oneprovision/edge-clusters-extra/virtual/provisions/aws.yml @@ -47,6 +47,7 @@ defaults: provision: provider_name: 'aws' ami: "${input.aws_ami_image}" + root_size: "${input.aws_root_size}" instancetype: "${input.aws_instance_type}" cloud_init: true connection: diff --git a/share/oneprovision/edge-clusters/metal/provisions/aws-hci.yml b/share/oneprovision/edge-clusters/metal/provisions/aws-hci.yml index 4d4816d6b7..515b2e9227 100644 --- a/share/oneprovision/edge-clusters/metal/provisions/aws-hci.yml +++ b/share/oneprovision/edge-clusters/metal/provisions/aws-hci.yml @@ -48,6 +48,7 @@ defaults: provision: provider_name: 'aws' ami: "${input.aws_ami_image}" + root_size: "${input.aws_root_size}" instancetype: "${input.aws_instance_type}" cloud_init: true connection: diff --git a/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs-hci.yml b/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs-hci.yml index c126c32992..fe0ea735a3 100644 --- a/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs-hci.yml +++ b/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs-hci.yml @@ -51,6 +51,11 @@ inputs: description: 'AWS instance type, use bare-metal instances' default: 'c5.metal' + - name: 'aws_root_size' + type: text + description: 'AWS instance root volume size, in GB' + default: '100' + - name: 'ceph_disk_size' type: text description: 'Disk size of CEPH disk volume, in GB' diff --git a/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml b/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml index a3b5fba8dc..100c53fd64 100644 --- a/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml +++ b/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml @@ -36,6 +36,11 @@ inputs: description: 'AWS ami image used for host deployments' default: 'default' + - name: 'aws_root_size' + type: text + description: 'AWS instance root volume size, in GB' + default: '100' + - name: 'aws_instance_type' type: text description: 'AWS instance type, use bare-metal instances' diff --git a/share/oneprovision/edge-clusters/metal/provisions/aws.yml b/share/oneprovision/edge-clusters/metal/provisions/aws.yml index 35b504f7b9..e7da55b6a8 100644 --- a/share/oneprovision/edge-clusters/metal/provisions/aws.yml +++ b/share/oneprovision/edge-clusters/metal/provisions/aws.yml @@ -46,6 +46,7 @@ defaults: provision: provider_name: 'aws' ami: "${input.aws_ami_image}" + root_size: "${input.aws_root_size}" instancetype: "${input.aws_instance_type}" cloud_init: true connection: diff --git a/src/oneprovision/lib/terraform/providers/templates/aws/host.erb b/src/oneprovision/lib/terraform/providers/templates/aws/host.erb index 7379c3692a..b24f4c8b4a 100644 --- a/src/oneprovision/lib/terraform/providers/templates/aws/host.erb +++ b/src/oneprovision/lib/terraform/providers/templates/aws/host.erb @@ -13,6 +13,11 @@ resource "aws_instance" "device_<%= obj['ID'] %>" { subnet_id = aws_subnet.device_<%= c['ID'] %>.id + root_block_device { + volume_size = "<%= provision['ROOT_SIZE'] %>" + } + + <% ecidr = c['TEMPLATE']['PROVISION']['CIDR'] || "10.0.0.0/16" pref = ecidr.split('/').first.rpartition(".")[0] ip = pref << '.' << ( provision['INDEX'].to_i + 4 ).to_s