You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: introduce ocp tshirts and cluster destroy automation (#1193)
* fix: make it so ansible only reinstalls modules if it detects an outdated version
* chore(deps): update instance to v2.8.3
* feat: prototype ocp tshirts
* chore(docs): improve variable descriptions
* refactor: move locals to new file
* feat: update tshirt sizes based on Michael's recommendations
* chore: change order of the tiles, put standard last
* feat: destroy automation with variable trigger
* fix: remove notes, add quotes to cpu count
* fix: add count to cluster deployment playbooks so they're destroyed when the cluster is destroyed. This allows to deploy the cluster again
* fix: switch to only full cpu cores until we figure out why fractional cores are causing an error
* docs: toc version and lastupdated
* chore: add validation for processors to only support full numbers
* chore: improve tshirt displayname
"description": "The Power Virtual Server with VPC landing zone as variation 'Create a new architecture' deploys VPC services and a Power Virtual Server workspace and interconnects them.\n\nRequired and optional management components are configured."
@@ -1266,7 +1266,7 @@
1266
1266
{
1267
1267
"diagram": {
1268
1268
"caption": "Power Virtual Server with VPC landing zone 'Quickstart' variation",
"description": "The Power Virtual Server with VPC landing zone as 'Quickstart' variation of 'Create a new architecture' option deploys VPC services and a Power Virtual Server workspace and interconnects them. It also creates one Power virtual server instance of chosen t-shirt size or custom configuration.\n\nRequired and optional management components are configured."
@@ -1429,6 +1429,9 @@
1429
1429
"type": "string",
1430
1430
"required": true
1431
1431
},
1432
+
{
1433
+
"key": "destroy_cluster"
1434
+
},
1432
1435
{
1433
1436
"key": "openshift_release",
1434
1437
"type": "string"
@@ -1442,15 +1445,39 @@
1442
1445
}
1443
1446
},
1444
1447
{
1445
-
"key": "cluster_master_node_config",
1448
+
"key": "tshirt_size",
1449
+
"type": "string",
1450
+
"default_value": "xs",
1451
+
"options": [
1452
+
{
1453
+
"displayname": "xs (2xW:1x32 3xM:1x32)",
1454
+
"value": "xs"
1455
+
},
1456
+
{
1457
+
"displayname": "s (3xW:1x32 3xM:1x32)",
1458
+
"value": "s"
1459
+
},
1460
+
{
1461
+
"displayname": "m (4xW:2x32 3xM:1x32)",
1462
+
"value": "m"
1463
+
},
1464
+
{
1465
+
"displayname": "l (4xW:1x64 3xM:1x32)",
1466
+
"value": "l"
1467
+
}
1468
+
],
1469
+
"custom_config": {}
1470
+
},
1471
+
{
1472
+
"key": "custom_master_node_config",
1446
1473
"custom_config": {
1447
1474
"grouping": "deployment",
1448
1475
"original_grouping": "deployment",
1449
1476
"type": "code_editor"
1450
1477
}
1451
1478
},
1452
1479
{
1453
-
"key": "cluster_worker_node_config",
1480
+
"key": "custom_worker_node_config",
1454
1481
"custom_config": {
1455
1482
"grouping": "deployment",
1456
1483
"original_grouping": "deployment",
@@ -1740,7 +1767,7 @@
1740
1767
{
1741
1768
"diagram": {
1742
1769
"caption": "Power Virtual Server with VPC landing zone 'Quickstart OpenShift' variation",
"description": "The Power Virtual Server with VPC landing zone as variation 'Quickstart OpenShift' deploys VPC services and an Openshift Cluster on PowerVS and interconnects them.\n\nRequired and optional management components are configured."
The Quickstart OpenShift deployment on Power Virtual Server with a VPC landing zone uses the Red Hat IPI installer to set up an OpenShift cluster. Before the deployment begins, it provisions VPC services and creates a Power Virtual Server workspace, which together form the landing zone used to access and manage the cluster.
Quickstart deployment of the Power Virtual Server with VPC landing zone creates VPC services, a Power Virtual Server workspace, and interconnects them. It also deploys a Power Virtual Server of chosen T-shirt size or custom configuration. Supported Os are Aix, IBM i, and Linux images.
The Standard deployment of the Power Virtual Server with VPC landing zone creates VPC services and a Power Virtual Server workspace and interconnects them.
@@ -75,10 +76,11 @@ Due to technical limitations, the cost estimate Projects gives does not include
75
76
| <aname="input_ansible_vault_password"></a> [ansible\_vault\_password](#input\_ansible\_vault\_password)| Vault password to encrypt ansible playbooks that contain sensitive information. Password requirements: 15-100 characters and at least one uppercase letter, one lowercase letter, one number, and one special character. Allowed characters: A-Z, a-z, 0-9, !#$%&()*+-.:;<=>?@[]\_{\|}~. |`string`| n/a | yes |
76
77
| <aname="input_client_to_site_vpn"></a> [client\_to\_site\_vpn](#input\_client\_to\_site\_vpn)| VPN configuration - the client ip pool and list of users email ids to access the environment. If enabled, then a Secret Manager instance is also provisioned with certificates generated. See optional parameters to reuse an existing Secrets manager instance. | <pre>object({<br/> enable = bool<br/> client_ip_pool = string<br/> vpn_client_access_group_users = list(string)<br/> })</pre> | <pre>{<br/> "client_ip_pool": "192.168.0.0/16",<br/> "enable": true,<br/> "vpn_client_access_group_users": []<br/>}</pre> | no |
77
78
| <aname="input_cluster_base_domain"></a> [cluster\_base\_domain](#input\_cluster\_base\_domain)| The base domain name that will be used by the cluster. Only .test, .example, and .invalid domains are supported (ie: domain.example). |`string`| n/a | yes |
78
-
| <aname="input_cluster_master_node_config"></a> [cluster\_master\_node\_config](#input\_cluster\_master\_node\_config)| Configuration for the master nodes of the OpenShift cluster, including CPU, system type, processor type, and replica count. If system\_type is null, it's chosen based on whether it's supported in the region. This can be overwritten by passing a value, e.g. 's1022' or 's922'. Memory is in GB. | <pre>object({<br/> processors = number<br/> memory = number<br/> system_type = string<br/> proc_type = string<br/> replicas = number<br/> })</pre> | <pre>{<br/> "memory": "32",<br/> "proc_type": "Shared",<br/> "processors": "4",<br/> "replicas": "3",<br/> "system_type": null<br/>}</pre> | no |
79
79
| <aname="input_cluster_name"></a> [cluster\_name](#input\_cluster\_name)| The name of the cluster and a unique identifier used as prefix for resources. Must begin with a lowercase letter and end with a lowercase letter or number. Must contain only lowercase letters, numbers, and - characters. This prefix will be prepended to any resources provisioned by this template. Prefixes must be 16 or fewer characters. |`string`| n/a | yes |
80
80
| <aname="input_cluster_network_config"></a> [cluster\_network\_config](#input\_cluster\_network\_config)| Configuration object for the OpenShift cluster and service network CIDRs. | <pre>object({<br/> cluster_network_cidr = string<br/> cluster_service_network_cidr = string<br/> cluster_machine_network_cidr = string<br/> })</pre> | <pre>{<br/> "cluster_machine_network_cidr": "10.72.0.0/24",<br/> "cluster_network_cidr": "10.128.0.0/14",<br/> "cluster_service_network_cidr": "10.67.0.0/16"<br/>}</pre> | no |
81
-
| <aname="input_cluster_worker_node_config"></a> [cluster\_worker\_node\_config](#input\_cluster\_worker\_node\_config)| Configuration for the worker nodes of the OpenShift cluster, including CPU, system type, processor type, and replica count. If system\_type is null, it's chosen based on whether it's supported in the region. This can be overwritten by passing a value, e.g. 's1022' or 's922'. Memory is in GB. | <pre>object({<br/> processors = number<br/> memory = number<br/> system_type = string<br/> proc_type = string<br/> replicas = number<br/> })</pre> | <pre>{<br/> "memory": "32",<br/> "proc_type": "Shared",<br/> "processors": "4",<br/> "replicas": "3",<br/> "system_type": null<br/>}</pre> | no |
81
+
| <aname="input_custom_master_node_config"></a> [custom\_master\_node\_config](#input\_custom\_master\_node\_config)| This value is ignored if 'tshirt\_size' is not set to 'custom'. Configuration for the master nodes of the OpenShift cluster, including CPU, system type, processor type, and replica count. If system\_type is null, it's chosen based on whether it's supported in the region. This can be overwritten by passing a value, e.g. 's1022' or 's922'. Memory is in GB. | <pre>object({<br/> processors = number<br/> memory = number<br/> system_type = string<br/> proc_type = string<br/> replicas = number<br/> })</pre> | <pre>{<br/> "memory": "32",<br/> "proc_type": "Shared",<br/> "processors": "4",<br/> "replicas": "3",<br/> "system_type": null<br/>}</pre> | no |
82
+
| <aname="input_custom_worker_node_config"></a> [custom\_worker\_node\_config](#input\_custom\_worker\_node\_config)| This value is ignored if 'tshirt\_size' is not set to 'custom'. Configuration for the worker nodes of the OpenShift cluster, including CPU, system type, processor type, and replica count. If system\_type is null, it's chosen based on whether it's supported in the region. This can be overwritten by passing a value, e.g. 's1022' or 's922'. Memory is in GB. | <pre>object({<br/> processors = number<br/> memory = number<br/> system_type = string<br/> proc_type = string<br/> replicas = number<br/> })</pre> | <pre>{<br/> "memory": "32",<br/> "proc_type": "Shared",<br/> "processors": "4",<br/> "replicas": "3",<br/> "system_type": null<br/>}</pre> | no |
83
+
| <aname="input_destroy_cluster"></a> [destroy\_cluster](#input\_destroy\_cluster)| Destroying this environment is a 2-step process. 1. set this value to true and apply - this will destroy the cluster resources. 2. trigger a terraform destroy - this will destroy the landing zone resources. |`bool`|`false`| no |
82
84
| <aname="input_enable_monitoring"></a> [enable\_monitoring](#input\_enable\_monitoring)| Specify whether Monitoring will be enabled. This creates a new IBM Cloud Monitoring Instance. |`bool`|`false`| no |
83
85
| <aname="input_enable_scc_wp"></a> [enable\_scc\_wp](#input\_enable\_scc\_wp)| Enable SCC Workload Protection and install and configure the SCC Workload Protection agent on all intel VSIs in this deployment. |`bool`|`true`| no |
84
86
| <aname="input_existing_sm_instance_guid"></a> [existing\_sm\_instance\_guid](#input\_existing\_sm\_instance\_guid)| An existing Secrets Manager GUID. If not provided a new instance will be provisioned. |`string`|`null`| no |
@@ -94,6 +96,7 @@ Due to technical limitations, the cost estimate Projects gives does not include
94
96
| <aname="input_ssh_private_key"></a> [ssh\_private\_key](#input\_ssh\_private\_key)| Private SSH key (RSA format) to login to Intel VSIs to configure network management services (SQUID, NTP, DNS and ansible). Should match to public SSH key referenced by 'ssh\_public\_key'. The key is not uploaded or stored. If you're unsure how to create one, check [Generate a SSH Key Pair](https://cloud.ibm.com/docs/powervs-vpc?topic=powervs-vpc-powervs-automation-prereqs#powervs-automation-ssh-key) in our docs. For more information about SSH keys, see [SSH keys](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys) in the VPC docs. |`string`| n/a | yes |
95
97
| <aname="input_ssh_public_key"></a> [ssh\_public\_key](#input\_ssh\_public\_key)| Public SSH Key for VSI creation. Must be an RSA key with a key size of either 2048 bits or 4096 bits (recommended). Must be a valid SSH key that does not already exist in the deployment region. If you're unsure how to create one, check [Generate a SSH Key Pair](https://cloud.ibm.com/docs/powervs-vpc?topic=powervs-vpc-powervs-automation-prereqs#powervs-automation-ssh-key) in our docs. For more information about SSH keys, see [SSH keys](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys) in the VPC docs. |`string`| n/a | yes |
96
98
| <aname="input_tags"></a> [tags](#input\_tags)| List of tag names for the IBM Cloud PowerVS workspace |`list(string)`|`[]`| no |
99
+
| <aname="input_tshirt_size"></a> [tshirt\_size](#input\_tshirt\_size)| OpenShift Cluster profiles for the master and worker nodes. These profiles can be overridden by setting this value to 'custom' and specifying 'custom\_master\_node\_config' and 'custom\_worker\_node\_config' values in the optional parameters section. |`string`|`"xs"`| no |
97
100
| <aname="input_user_id"></a> [user\_id](#input\_user\_id)| The IBM Cloud login user ID associated with the account where the cluster will be deployed. |`string`| n/a | yes |
98
101
| <aname="input_vpc_intel_images"></a> [vpc\_intel\_images](#input\_vpc\_intel\_images)| Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). | <pre>object({<br/> rhel_image = string<br/> sles_image = string<br/> })</pre> | <pre>{<br/> "rhel_image": "ibm-redhat-9-4-amd64-sap-applications-7",<br/> "sles_image": "ibm-sles-15-7-amd64-sap-applications-1"<br/>}</pre> | no |
0 commit comments