From 649aa2271c38765bd93c23c9d5303ff99a4f5742 Mon Sep 17 00:00:00 2001 From: Balazs Ferenc Gaspar Date: Mon, 7 Aug 2023 15:27:49 +0200 Subject: [PATCH] CDPAUTO-102 Improve subnet CIDR calculation --- modules/terraform-cdp-aws-pre-reqs/main.tf | 4 ++-- .../terraform-cdp-aws-pre-reqs/modules/vpc/defaults.tf | 8 ++++---- modules/terraform-cdp-azure-pre-reqs/main.tf | 6 +++--- .../terraform-cdp-azure-pre-reqs/modules/vnet/defaults.tf | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/terraform-cdp-aws-pre-reqs/main.tf b/modules/terraform-cdp-aws-pre-reqs/main.tf index 8163089..e20c485 100644 --- a/modules/terraform-cdp-aws-pre-reqs/main.tf +++ b/modules/terraform-cdp-aws-pre-reqs/main.tf @@ -25,9 +25,9 @@ module "aws_cdp_vpc" { private_network_extensions = var.private_network_extensions env_prefix = var.env_prefix tags = local.env_tags - + private_cidr_range = var.private_cidr_range - public_cidr_range = var.public_cidr_range + public_cidr_range = var.public_cidr_range } # ------- Security Groups ------- diff --git a/modules/terraform-cdp-aws-pre-reqs/modules/vpc/defaults.tf b/modules/terraform-cdp-aws-pre-reqs/modules/vpc/defaults.tf index ffc45ca..320f419 100644 --- a/modules/terraform-cdp-aws-pre-reqs/modules/vpc/defaults.tf +++ b/modules/terraform-cdp-aws-pre-reqs/modules/vpc/defaults.tf @@ -25,10 +25,10 @@ locals { public = (var.deployment_template == "private") ? (var.private_network_extensions ? 1 : 0) : length(local.zones_in_region) private = (var.deployment_template == "public") ? 0 : length(local.zones_in_region) } - + # Extract the VPC CIDR range from the user-provided CIDR - vpc_cidr_range = split("/",var.vpc_cidr)[1] - + vpc_cidr_range = split("/", var.vpc_cidr)[1] + # Calculate the first suitable CIDR range for public subnets after private subnets have been allocated (normalize the offset, expressed as a multiplier of public subnet ranges) - public_subnet_offset = ceil(local.subnets_required.private * pow(2, 32-var.private_cidr_range)/pow(2, 32-var.public_cidr_range)) + public_subnet_offset = ceil(local.subnets_required.private * pow(2, 32 - var.private_cidr_range) / pow(2, 32 - var.public_cidr_range)) } \ No newline at end of file diff --git a/modules/terraform-cdp-azure-pre-reqs/main.tf b/modules/terraform-cdp-azure-pre-reqs/main.tf index df97e45..2d35526 100644 --- a/modules/terraform-cdp-azure-pre-reqs/main.tf +++ b/modules/terraform-cdp-azure-pre-reqs/main.tf @@ -39,10 +39,10 @@ module "azure_cdp_vnet" { env_prefix = var.env_prefix tags = local.env_tags - - cdp_subnet_range = var.cdp_subnet_range + + cdp_subnet_range = var.cdp_subnet_range gateway_subnet_range = var.gateway_subnet_range - + } diff --git a/modules/terraform-cdp-azure-pre-reqs/modules/vnet/defaults.tf b/modules/terraform-cdp-azure-pre-reqs/modules/vnet/defaults.tf index d9808db..11456ea 100644 --- a/modules/terraform-cdp-azure-pre-reqs/modules/vnet/defaults.tf +++ b/modules/terraform-cdp-azure-pre-reqs/modules/vnet/defaults.tf @@ -13,7 +13,7 @@ # limitations under the License. locals { - + # Calculate subnets CIDR and names subnets_required = { total = (var.deployment_template == "semi-private") ? var.subnet_count + 1 : var.subnet_count @@ -24,10 +24,10 @@ locals { } # Extract the VNet CIDR range from the user-provided CIDR - vnet_cidr_range = split("/",var.vnet_cidr)[1] - + vnet_cidr_range = split("/", var.vnet_cidr)[1] + # Calculate the first suitable CIDR range for public subnets after private subnets have been allocated (normalize the offset, expressed as a multiplier of gateway subnet ranges) - gateway_subnet_offset = ceil(local.subnets_required.cdp_subnets * pow(2, 32-var.cdp_subnet_range)/pow(2, 32-var.gateway_subnet_range)) + gateway_subnet_offset = ceil(local.subnets_required.cdp_subnets * pow(2, 32 - var.cdp_subnet_range) / pow(2, 32 - var.gateway_subnet_range)) # Network infrastructure for CDP resources