From 217fc7f6d9d16a96a75c8c51b911a4bf1ee202d9 Mon Sep 17 00:00:00 2001 From: Aishwarya Kamat Date: Wed, 29 Dec 2021 11:35:25 +0530 Subject: [PATCH] Allow OCP network customization before installation Signed-off-by: Aishwarya Kamat --- docs/var.tfvars-doc.md | 3 ++ modules/5_install/install.tf | 47 ++++++++++--------- modules/5_install/templates/install_vars.yaml | 4 ++ modules/5_install/variables.tf | 3 ++ ocp.tf | 3 ++ var.tfvars | 3 ++ variables.tf | 17 ++++++- 7 files changed, 58 insertions(+), 22 deletions(-) diff --git a/docs/var.tfvars-doc.md b/docs/var.tfvars-doc.md index a35a505b3..2963e05ef 100644 --- a/docs/var.tfvars-doc.md +++ b/docs/var.tfvars-doc.md @@ -228,4 +228,7 @@ This variable is used to set the default Container Network Interface (CNI) netwo ``` cni_network_provider = "OpenshiftSDN" +cluster_network_cidr = "10.128.0.0/14" +cluster_network_hostprefix = "23" +service_network = "172.30.0.0/16" ``` diff --git a/modules/5_install/install.tf b/modules/5_install/install.tf index 92d140084..bf1f14cdb 100644 --- a/modules/5_install/install.tf +++ b/modules/5_install/install.tf @@ -39,27 +39,32 @@ locals { local_registry_ocp_image = "registry.${var.cluster_id}.${local.cluster_domain}:5000/${local.ocp_release_repo}:${var.ocp_release_tag}" install_vars = { - cluster_id = var.cluster_id - cluster_domain = local.cluster_domain - pull_secret = var.pull_secret - public_ssh_key = var.public_key - storage_type = var.storage_type - log_level = var.log_level - release_image_override = var.enable_local_registry ? local.local_registry_ocp_image : var.release_image_override - enable_local_registry = var.enable_local_registry - node_connection_timeout = 60 * var.connection_timeout - rhcos_kernel_options = var.rhcos_kernel_options - sysctl_tuned_options = var.sysctl_tuned_options - sysctl_options = var.sysctl_options - match_array = indent(2,var.match_array) - setup_squid_proxy = var.setup_squid_proxy - squid_source_range = var.cidr - proxy_url = local.proxy.server == "" ? "" : "http://${local.proxy.user_pass}${local.proxy.server}:${local.proxy.port}" - no_proxy = var.cidr - chrony_config = var.chrony_config - chrony_config_servers = var.chrony_config_servers - chrony_allow_range = var.cidr - cni_network_provider = var.cni_network_provider + bastion_vip = var.bastion_vip + cluster_id = var.cluster_id + cluster_domain = local.cluster_domain + pull_secret = var.pull_secret + public_ssh_key = var.public_key + storage_type = var.storage_type + log_level = var.log_level + release_image_override = var.enable_local_registry ? local.local_registry_ocp_image : var.release_image_override + enable_local_registry = var.enable_local_registry + node_connection_timeout = 60 * var.connection_timeout + rhcos_pre_kernel_options = var.rhcos_pre_kernel_options + rhcos_kernel_options = var.rhcos_kernel_options + sysctl_tuned_options = var.sysctl_tuned_options + sysctl_options = var.sysctl_options + match_array = indent(2,var.match_array) + setup_squid_proxy = var.setup_squid_proxy + squid_source_range = var.cidr + proxy_url = local.proxy.server == "" ? "" : "http://${local.proxy.user_pass}${local.proxy.server}:${local.proxy.port}" + no_proxy = var.cidr + chrony_config = var.chrony_config + chrony_config_servers = var.chrony_config_servers + chrony_allow_range = var.cidr + cni_network_provider = var.cni_network_provider + cluster_network_cidr = var.cluster_network_cidr + cluster_network_hostprefix = var.cluster_network_hostprefix + service_network = var.service_network } upgrade_vars = { diff --git a/modules/5_install/templates/install_vars.yaml b/modules/5_install/templates/install_vars.yaml index 3572b9a4e..262b61954 100644 --- a/modules/5_install/templates/install_vars.yaml +++ b/modules/5_install/templates/install_vars.yaml @@ -50,3 +50,7 @@ no_proxy: "${no_proxy}" dhcp_shared_network: true cni_network_provider: "${cni_network_provider}" + +cluster_network_cidr: "${cluster_network_cidr}" +cluster_network_hostprefix: "${cluster_network_hostprefix}" +service_network: "${service_network}" diff --git a/modules/5_install/variables.tf b/modules/5_install/variables.tf index 7b2fc78c4..8b0c96c30 100644 --- a/modules/5_install/variables.tf +++ b/modules/5_install/variables.tf @@ -71,3 +71,6 @@ variable "upgrade_pause_time" {} variable "upgrade_delay_time" {} variable "cni_network_provider" {} +variable "cluster_network_cidr" {} +variable "cluster_network_hostprefix" {} +variable "service_network" {} diff --git a/ocp.tf b/ocp.tf index f17847984..255421fb5 100644 --- a/ocp.tf +++ b/ocp.tf @@ -175,4 +175,7 @@ module "install" { chrony_config = var.chrony_config chrony_config_servers = var.chrony_config_servers cni_network_provider = var.cni_network_provider + cluster_network_cidr = var.cluster_network_cidr + cluster_network_hostprefix = var.cluster_network_hostprefix + service_network = var.service_network } diff --git a/var.tfvars b/var.tfvars index b68dba70d..98a01461d 100644 --- a/var.tfvars +++ b/var.tfvars @@ -89,3 +89,6 @@ cluster_id = "" # It will use random generated id with #upgrade_delay_time = "600" #cni_network_provider = "OpenshiftSDN" +#cluster_network_cidr = "10.128.0.0/14" +#cluster_network_hostprefix = "23" +#service_network = "172.30.0.0/16" diff --git a/variables.tf b/variables.tf index 2107227d0..0b7823e62 100644 --- a/variables.tf +++ b/variables.tf @@ -246,7 +246,7 @@ variable "install_playbook_repo" { variable "install_playbook_tag" { description = "Set the branch/tag name or commit# for using ocp4-playbooks repo" # Checkout level for https://github.com/ocp-power-automation/ocp4-playbooks which is used for running ocp4 installations steps - default = "3962449f4433b333a195e51c7a12555af4964e4c" + default = "d9f70069d13925c7adbbcc7f5ec152367231f1cb" } variable "ansible_extra_options" { @@ -372,6 +372,21 @@ variable "cni_network_provider" { default = "OpenshiftSDN" } +variable "cluster_network_cidr" { + description = "blocks of IP addresses from which pod IP addresses are allocated." + default = "10.128.0.0/14" +} + +variable "cluster_network_hostprefix" { + description = "The subnet prefix length to assign to each individual node." + default = "23" +} + +variable "service_network" { + description = "blocks of IP addresses from which service addresses are allocated." + default = "172.30.0.0/16" +} + ################################################################ # Local registry variables ( used only in disconnected install ) ################################################################