Skip to content

Commit b3c56b3

Browse files
authored
feat: added support to deploy OCP 4.13 in the OCP DA - this is now the version deployed by default<br>* Removed support for OCP 4.10 from the OCP DA<br>* added support to pass the string 'default' for the kube_version attribute in the clusters variable which will then deploy the current IKS default cluster version.<br>* modules required IBM provider range updated to >= 1.58.1<br>* DA solutions are now locked into 1.58.1 (#596)
1 parent 3066643 commit b3c56b3

File tree

22 files changed

+54
-109
lines changed

22 files changed

+54
-109
lines changed

README.md

Lines changed: 11 additions & 72 deletions
Large diffs are not rendered by default.

cluster.tf

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ locals {
1818
openshift = "${data.ibm_container_cluster_versions.cluster_versions.valid_openshift_versions[length(data.ibm_container_cluster_versions.cluster_versions.valid_openshift_versions) - 1]}_openshift"
1919
iks = data.ibm_container_cluster_versions.cluster_versions.valid_kube_versions[length(data.ibm_container_cluster_versions.cluster_versions.valid_kube_versions) - 1]
2020
}
21+
default_kube_version = {
22+
openshift = "${data.ibm_container_cluster_versions.cluster_versions.default_openshift_version}_openshift"
23+
iks = data.ibm_container_cluster_versions.cluster_versions.default_kube_version
24+
}
2125
}
2226

2327
##############################################################################
@@ -34,11 +38,13 @@ resource "ibm_container_vpc_cluster" "cluster" {
3438
resource_group_id = local.resource_groups[each.value.resource_group]
3539
flavor = each.value.machine_type
3640
worker_count = each.value.workers_per_subnet
41+
# if version is default or null then use default
42+
# if version is latest then use latest
43+
# otherwise use value
3744
kube_version = (
38-
lookup(each.value, "kube_version", null) == "latest" # if version is latest
39-
|| lookup(each.value, "kube_version", null) == null # or if version is null
40-
? local.latest_kube_version[each.value.kube_type] # use latest
41-
: each.value.kube_version # otherwise use value
45+
lookup(each.value, "kube_version", null) == "default" || lookup(each.value, "kube_version", null) == null
46+
? local.default_kube_version[each.value.kube_type]
47+
: (lookup(each.value, "kube_version", null) == "latest" ? local.latest_kube_version[each.value.kube_type] : each.value.kube_version)
4248
)
4349
update_all_workers = lookup(each.value, "update_all_workers", null)
4450
tags = var.tags

examples/one-vpc-one-vsi/version.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
# Pin to the lowest provider version of the range defined in the main module's version.tf to ensure lowest version still works
55
ibm = {
66
source = "IBM-Cloud/ibm"
7-
version = "1.56.1"
7+
version = "1.58.1"
88
}
99
}
1010
}

examples/override-example/version.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
# Pin to the lowest provider version of the range defined in the main module's version.tf to ensure lowest version still works
55
ibm = {
66
source = "IBM-Cloud/ibm"
7-
version = "1.56.1"
7+
version = "1.58.1"
88
}
99
}
1010
}

ibm_catalog.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -933,19 +933,19 @@
933933
"key": "kube_version",
934934
"type": "string",
935935
"required": true,
936-
"default_value": "4.12_openshift",
936+
"default_value": "4.13_openshift",
937937
"options": [
938-
{
939-
"displayname": "4.10_openshift",
940-
"value": "4.10_openshift"
941-
},
942938
{
943939
"displayname": "4.11_openshift",
944940
"value": "4.11_openshift"
945941
},
946942
{
947943
"displayname": "4.12_openshift",
948944
"value": "4.12_openshift"
945+
},
946+
{
947+
"displayname": "4.13_openshift",
948+
"value": "4.13_openshift"
949949
}
950950
],
951951
"custom_config": {}

kms/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ terraform {
66
required_providers {
77
ibm = {
88
source = "IBM-Cloud/ibm"
9-
version = ">= 1.56.1"
9+
version = ">= 1.58.1"
1010
}
1111
}
1212
required_version = ">= 1.3, < 1.6"

module-metadata.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
},
6262
"clusters": {
6363
"name": "clusters",
64-
"type": "list(\n object({\n name = string # Name of Cluster\n vpc_name = string # Name of VPC\n subnet_names = list(string) # List of vpc subnets for cluster\n workers_per_subnet = number # Worker nodes per subnet.\n machine_type = string # Worker node flavor\n kube_type = string # iks or openshift\n kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `latest`\n entitlement = optional(string) # entitlement option for openshift\n pod_subnet = optional(string) # Portable subnet for pods\n service_subnet = optional(string) # Portable subnet for services\n resource_group = string # Resource Group used for cluster\n cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters\n update_all_workers = optional(bool) # If true force workers to update\n access_tags = optional(list(string), [])\n boot_volume_crk_name = optional(string) # Boot volume encryption key name\n kms_config = optional(\n object({\n crk_name = string # Name of key\n private_endpoint = optional(bool) # Private endpoint\n })\n )\n worker_pools = optional(\n list(\n object({\n name = string # Worker pool name\n vpc_name = string # VPC name\n workers_per_subnet = number # Worker nodes per subnet\n flavor = string # Worker node flavor\n subnet_names = list(string) # List of vpc subnets for worker pool\n entitlement = optional(string) # entitlement option for openshift\n boot_volume_crk_name = optional(string) # Boot volume encryption key name\n })\n )\n )\n })\n )",
64+
"type": "list(\n object({\n name = string # Name of Cluster\n vpc_name = string # Name of VPC\n subnet_names = list(string) # List of vpc subnets for cluster\n workers_per_subnet = number # Worker nodes per subnet.\n machine_type = string # Worker node flavor\n kube_type = string # iks or openshift\n kube_version = optional(string) # Can be a version from `ibmcloud ks versions`, `latest` or `default`\n entitlement = optional(string) # entitlement option for openshift\n pod_subnet = optional(string) # Portable subnet for pods\n service_subnet = optional(string) # Portable subnet for services\n resource_group = string # Resource Group used for cluster\n cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters\n update_all_workers = optional(bool) # If true force workers to update\n access_tags = optional(list(string), [])\n boot_volume_crk_name = optional(string) # Boot volume encryption key name\n kms_config = optional(\n object({\n crk_name = string # Name of key\n private_endpoint = optional(bool) # Private endpoint\n })\n )\n worker_pools = optional(\n list(\n object({\n name = string # Worker pool name\n vpc_name = string # VPC name\n workers_per_subnet = number # Worker nodes per subnet\n flavor = string # Worker node flavor\n subnet_names = list(string) # List of vpc subnets for worker pool\n entitlement = optional(string) # entitlement option for openshift\n boot_volume_crk_name = optional(string) # Boot volume encryption key name\n })\n )\n )\n })\n )",
6565
"description": "A list describing clusters workloads to create",
6666
"required": true,
6767
"source": [
@@ -868,7 +868,7 @@
868868
"ibm": {
869869
"source": "IBM-Cloud/ibm",
870870
"version_constraints": [
871-
"\u003e= 1.56.1"
871+
"\u003e= 1.58.1"
872872
]
873873
},
874874
"random": {
@@ -942,7 +942,7 @@
942942
},
943943
"pos": {
944944
"filename": "cluster.tf",
945-
"line": 30
945+
"line": 34
946946
}
947947
},
948948
"ibm_container_vpc_worker_pool.pool": {
@@ -954,7 +954,7 @@
954954
},
955955
"pos": {
956956
"filename": "cluster.tf",
957-
"line": 96
957+
"line": 102
958958
}
959959
},
960960
"ibm_cos_bucket.buckets": {
@@ -1308,7 +1308,7 @@
13081308
},
13091309
"pos": {
13101310
"filename": "cluster.tf",
1311-
"line": 82
1311+
"line": 88
13121312
}
13131313
},
13141314
"ibm_resource_tag.cos_tag": {

patterns/mixed/override.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"cos_name": "cos",
1111
"entitlement": "cloud_pak",
1212
"kube_type": "openshift",
13-
"kube_version": "latest",
13+
"kube_version": "default",
1414
"machine_type": "bx2.16x64",
1515
"name": "workload-cluster",
1616
"resource_group": "slz-workload-rg",

patterns/mixed/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ terraform {
88
required_providers {
99
ibm = {
1010
source = "IBM-Cloud/ibm"
11-
version = "1.56.1"
11+
version = "1.58.1"
1212
}
1313
external = {
1414
source = "hashicorp/external"

patterns/roks/module/variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ variable "cluster_zones" {
119119
}
120120

121121
variable "kube_version" {
122-
description = "Kubernetes version to use for cluster. To get available versions, use the IBM Cloud CLI command `ibmcloud ks versions`. To use the latest version, leave as latest. Updates to the latest versions may force this to change."
122+
description = "Kubernetes version to use for cluster. To get available versions, use the IBM Cloud CLI command `ibmcloud ks versions`. Also supports passing the string 'latest' (current latest available version) or 'default' (current IKS default recommended version)."
123123
type = string
124-
default = "latest"
124+
default = "default"
125125
}
126126

127127
variable "flavor" {

0 commit comments

Comments
 (0)