Skip to content

Commit 794961f

Browse files
authored
fix: updated the validation logic used to validate OS (#870)
1 parent ccbdc73 commit 794961f

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ locals {
1010

1111
default_ocp_version = "${data.ibm_container_cluster_versions.cluster_versions.default_openshift_version}_openshift"
1212
ocp_version = var.ocp_version == null || var.ocp_version == "default" ? local.default_ocp_version : "${var.ocp_version}_openshift"
13+
valid_versions_list = data.ibm_container_cluster_versions.cluster_versions.valid_openshift_versions
14+
valid_ocp_versions = [for version in local.valid_versions_list : regex("^([0-9]+\\.[0-9]+)", version)[0]]
1315

1416
cos_name = var.use_existing_cos == true || (var.use_existing_cos == false && var.cos_name != null) ? var.cos_name : "${var.cluster_name}_cos"
1517
cos_plan = "standard"

variables.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,13 @@ variable "worker_pools" {
102102
}
103103

104104
validation {
105-
condition = alltrue([
105+
condition = (contains(local.valid_ocp_versions, local.ocp_version_num)) && alltrue([
106106
for wp in var.worker_pools :
107107
(local.ocp_version_num == "4.14" && wp.operating_system == local.os_rhel) ||
108108
(local.ocp_version_num == "4.15" && contains([local.os_rhel, local.os_rhcos], wp.operating_system)) ||
109109
(contains(["4.16", "4.17"], local.ocp_version_num) && contains([local.os_rhel9, local.os_rhel, local.os_rhcos], wp.operating_system)) ||
110-
(local.ocp_version_num == "4.18" && contains([local.os_rhel9, local.os_rhcos], wp.operating_system)) ||
111-
(local.ocp_version_num == "4.19" && contains([local.os_rhel9, local.os_rhcos], wp.operating_system))
110+
(contains(["4.18", "4.19", "4.20"], local.ocp_version_num) && contains([local.os_rhel9, local.os_rhcos], wp.operating_system)) ||
111+
(tonumber(local.ocp_version_num) >= 4.21 && wp.operating_system == local.os_rhcos)
112112
])
113113
error_message = "Invalid operating system for the given OCP version. Ensure the OS is compatible with the OCP version. Supported compatible OCP version and OS are v4.14: (REDHAT_8_64); v4.15: (REDHAT_8_64, RHCOS) ; v4.16 and v4.17: (REDHAT_8_64, RHCOS, RHEL_9_64); v4.18: (RHCOS, RHEL_9_64); v4.19: (RHEL_9_64, RHCOS)"
114114
}

0 commit comments

Comments
 (0)