Skip to content

Commit

Permalink
AWS subnet split fixes (#311)
Browse files Browse the repository at this point in the history
* Remove not used terraform variables about registration

Remove variables that are not used in terraform. All of them are about
configurations now managed by Ansible, like registration and SID.

* AWS subnet split algorithm fix
  • Loading branch information
mpagot authored Jan 23, 2025
1 parent 7f6e479 commit 40757c6
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 8 deletions.
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

0 comments on commit 40757c6

Please sign in to comment.