Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS subnet split fixes #311

Merged
merged 2 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions terraform/aws/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,22 @@ locals {
iscsi_ip_start = 5
iscsi_ips = length(var.iscsi_ips) != 0 ? var.iscsi_ips : [for ip_index in range(local.iscsi_ip_start, var.iscsi_count + local.iscsi_ip_start) : cidrhost(local.infra_subnet_address_range, ip_index)]



# The next locals are used to map the ip index with the subnet range (something like python enumerate method)
hana_ip_start = 10
hana_ips = length(var.hana_ips) != 0 ? var.hana_ips : [for index in range(var.hana_count) : cidrhost(element(local.hana_subnet_address_range, index % 2), index + local.hana_ip_start)]
hana_ips = length(var.hana_ips) != 0 ? var.hana_ips : [for ip_index in range(var.hana_count) : cidrhost(element(local.hana_subnet_address_range, ip_index), ip_index + local.hana_ip_start)]
hana_cluster_vip = var.hana_cluster_vip != "" ? var.hana_cluster_vip : cidrhost(var.virtual_address_range, local.hana_ip_start)
hana_cluster_vip_secondary = var.hana_cluster_vip_secondary != "" ? var.hana_cluster_vip_secondary : cidrhost(var.virtual_address_range, local.hana_ip_start + 1)

drbd_ip_start = 20
drbd_ips = length(var.drbd_ips) != 0 ? var.drbd_ips : [for index in range(2) : cidrhost(element(local.drbd_subnet_address_range, index % 2), index + local.drbd_ip_start)]
drbd_ips = length(var.drbd_ips) != 0 ? var.drbd_ips : [for ip_index in range(2) : cidrhost(element(local.drbd_subnet_address_range, ip_index), ip_index + local.drbd_ip_start)]
drbd_cluster_vip = var.drbd_cluster_vip != "" ? var.drbd_cluster_vip : cidrhost(var.virtual_address_range, local.drbd_ip_start)

netweaver_xscs_server_count = var.netweaver_enabled ? (var.netweaver_ha_enabled ? 2 : 1) : 0
netweaver_count = var.netweaver_enabled ? local.netweaver_xscs_server_count + var.netweaver_app_server_count : 0
netweaver_virtual_ips_count = var.netweaver_ha_enabled ? max(local.netweaver_count, 3) : max(local.netweaver_count, 2) # We need at least 2 virtual ips, if ASCS and PAS are in the same machine

netweaver_ip_start = 30
netweaver_ips = length(var.netweaver_ips) != 0 ? var.netweaver_ips : [for index in range(local.netweaver_count) : cidrhost(element(local.netweaver_subnet_address_range, index % 2), index + local.netweaver_ip_start)]
netweaver_ips = length(var.netweaver_ips) != 0 ? var.netweaver_ips : [for ip_index in range(local.netweaver_count) : cidrhost(element(local.netweaver_subnet_address_range, ip_index), ip_index + local.netweaver_ip_start)]
netweaver_virtual_ips = length(var.netweaver_virtual_ips) != 0 ? var.netweaver_virtual_ips : [for ip_index in range(local.netweaver_ip_start, local.netweaver_ip_start + local.netweaver_virtual_ips_count) : cidrhost(var.virtual_address_range, ip_index)]

# Check if iscsi server has to be created
Expand Down
1 change: 1 addition & 0 deletions terraform/aws/terraform.tfvars.example
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ hana_count = "2"
# HANA instance configuration
# Find some references about the variables in:
# https://help.sap.com

# HANA instance number. It's composed of 2 integers string
#hana_instance_number = "00"
# HANA primary site name. Only used if HANA's system replication feature is enabled (hana_ha_enabled to true)
Expand Down
6 changes: 3 additions & 3 deletions terraform/aws/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ variable "vpc_address_range" {
default = "10.0.0.0/16"
validation {
condition = (
can(regex("^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}/[0-9]{1,2}$", var.vpc_address_range))
can(cidrnetmask(var.vpc_address_range))
)
error_message = "Invalid IP range format. It must be something like: 102.168.10.5/24 ."
error_message = "Must be a valid IPv4 CIDR block address."
}
}

Expand All @@ -53,7 +53,7 @@ variable "virtual_address_range" {
default = "192.168.1.0/24"
validation {
condition = (
can(regex("^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}/[0-9]{1,2}$", var.virtual_address_range))
can(cidrnetmask(var.virtual_address_range))
)
error_message = "Invalid IP range format. It must be something like: 102.168.10.5/24 ."
}
Expand Down
Loading