Skip to content

Commit

Permalink
CDPAUTO-102 Improve subnet CIDR calculation
Browse files Browse the repository at this point in the history
  • Loading branch information
balazsgaspar committed Aug 7, 2023
1 parent 30f9554 commit 649aa22
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 13 deletions.
4 changes: 2 additions & 2 deletions modules/terraform-cdp-aws-pre-reqs/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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 -------
Expand Down
8 changes: 4 additions & 4 deletions modules/terraform-cdp-aws-pre-reqs/modules/vpc/defaults.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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))
}
6 changes: 3 additions & 3 deletions modules/terraform-cdp-azure-pre-reqs/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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

}


Expand Down
8 changes: 4 additions & 4 deletions modules/terraform-cdp-azure-pre-reqs/modules/vnet/defaults.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 649aa22

Please sign in to comment.