Skip to content

Commit ea0fe25

Browse files
feat: per enable dal10 DC (#594)
* feat: Support PER enabled DC DAL10 * fix: rename us-south to dallas in catalog.json file * feat: upgrade ibmi version to 7.5 in quickstart * feat: support rhel8-6 and sles15-4 images * fix: os registration scripts for dal10 DC BREAKING CHANGE: support per environment
1 parent 0892cee commit ea0fe25

File tree

24 files changed

+339
-220
lines changed

24 files changed

+339
-220
lines changed

.secrets.baseline

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "go.sum|^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2023-07-20T11:43:53Z",
6+
"generated_at": "2023-09-05T11:42:19Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -82,15 +82,15 @@
8282
"hashed_secret": "91199272d5d6a574a51722ca6f3d1148edb1a0e7",
8383
"is_secret": false,
8484
"is_verified": false,
85-
"line_number": 62,
85+
"line_number": 63,
8686
"type": "Secret Keyword",
8787
"verified_result": null
8888
},
8989
{
9090
"hashed_secret": "a67ef662b9a11a96b15936764d77e118c9f155dd",
9191
"is_secret": false,
9292
"is_verified": false,
93-
"line_number": 76,
93+
"line_number": 77,
9494
"type": "Secret Keyword",
9595
"verified_result": null
9696
}
@@ -100,7 +100,7 @@
100100
"hashed_secret": "3a16a2d2850bbe557924aebe9f1f1294199bfbab",
101101
"is_secret": false,
102102
"is_verified": false,
103-
"line_number": 709,
103+
"line_number": 717,
104104
"type": "Secret Keyword",
105105
"verified_result": null
106106
}

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,20 @@ The Power Virtual Server with VPC landing zone module automates the following ta
1313
- Creates an IBM® Power Virtual Server (PowerVS) workspace.
1414
- Creates an SSH key.
1515
- Creates two private networks: a management network and a backup network.
16-
- Creates two [IBM Cloud connections](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-cloud-connections) with an option to reuse the connections.
17-
- Attaches the IBM Cloud connections to a transit gateway.
18-
- Attaches the private networks to the IBM Cloud connections.
19-
- Installs and configures the Squid Proxy, DNS Forwarder, NTP Forwarder and NFS on specified host, and sets the host as server for these services by using Ansible roles.
16+
- Creates two [IBM Cloud connections](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-cloud-connections) with an option to reuse the connections in Non PER environment
17+
- Attaches the IBM Cloud connections to a transit gateway in Non PER environment
18+
- Attaches the private networks to the IBM Cloud connections in Non PER environment
19+
- Attaches the PowerVS workspace to Transit gateway in PER enabled DC
20+
- Installs and configures the Squid Proxy, DNS Forwarder, NTP Forwarder and NFS on specified host, and sets the host as server for these services by using Ansible roles
2021

2122
The following limitations apply to the module:
2223

2324
- Only two IBM Cloud connections are supported.
2425
- You cannot reuse IBM Cloud connections.
2526
- Private networks in a PowerVS workspace must be in 10.0.0.0/8 range.
26-
- Only the following operating systems are supported:
27-
- SUSE Linux Enterprise Server (SLES) version 15 SP3
28-
- Red Hat Enterprise Linux (RHEL) version 8.4
27+
- Only the following operating systems are supported for OS configurations:
28+
- SUSE Linux Enterprise Server (SLES) version 15 SP43and SP4
29+
- Red Hat Enterprise Linux (RHEL) version 8.6 and 8.4
2930

3031
For more information about IBM Power Virtual Server see the [getting started](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-getting-started) IBM Cloud docs.
3132

@@ -149,7 +150,7 @@ module "power-infrastructure" {
149150
| <a name="input_ntp_forwarder_config"></a> [ntp\_forwarder\_config](#input\_ntp\_forwarder\_config) | Configuration for the NTP forwarder to an NTP service that is not reachable directly from PowerVS. | <pre>object({<br> ntp_enable = bool<br> server_host_or_ip = string<br> })</pre> | <pre>{<br> "ntp_enable": "false",<br> "server_host_or_ip": ""<br>}</pre> | no |
150151
| <a name="input_perform_proxy_client_setup"></a> [perform\_proxy\_client\_setup](#input\_perform\_proxy\_client\_setup) | Proxy configuration to allow internet access for a VM or LPAR. | <pre>object(<br> {<br> squid_client_ips = list(string)<br> squid_server_ip = string<br> squid_port = string<br> no_proxy_hosts = string<br> }<br> )</pre> | `null` | no |
151152
| <a name="input_powervs_backup_network"></a> [powervs\_backup\_network](#input\_powervs\_backup\_network) | Name of the IBM Cloud PowerVS backup network and CIDR to create. | <pre>object({<br> name = string<br> cidr = string<br> })</pre> | <pre>{<br> "cidr": "10.52.0.0/24",<br> "name": "bkp_net"<br>}</pre> | no |
152-
| <a name="input_powervs_image_names"></a> [powervs\_image\_names](#input\_powervs\_image\_names) | List of Images to be imported into cloud account from catalog images. | `list(string)` | <pre>[<br> "SLES15-SP3-SAP",<br> "SLES15-SP3-SAP-NETWEAVER",<br> "RHEL8-SP4-SAP",<br> "RHEL8-SP4-SAP-NETWEAVER"<br>]</pre> | no |
153+
| <a name="input_powervs_image_names"></a> [powervs\_image\_names](#input\_powervs\_image\_names) | List of Images to be imported into cloud account from catalog images. | `list(string)` | <pre>[<br> "SLES15-SP4-SAP",<br> "SLES15-SP4-SAP-NETWEAVER",<br> "RHEL8-SP6-SAP",<br> "RHEL8-SP6-SAP-NETWEAVER"<br>]</pre> | no |
153154
| <a name="input_powervs_management_network"></a> [powervs\_management\_network](#input\_powervs\_management\_network) | Name of the IBM Cloud PowerVS management subnet and CIDR to create. | <pre>object({<br> name = string<br> cidr = string<br> })</pre> | <pre>{<br> "cidr": "10.51.0.0/24",<br> "name": "mgmt_net"<br>}</pre> | no |
154155
| <a name="input_powervs_resource_group_name"></a> [powervs\_resource\_group\_name](#input\_powervs\_resource\_group\_name) | Existing IBM Cloud resource group name. | `string` | n/a | yes |
155156
| <a name="input_powervs_sshkey_name"></a> [powervs\_sshkey\_name](#input\_powervs\_sshkey\_name) | Name of the PowerVS SSH key to create. | `string` | `"ssh-key-pvs"` | no |

ibm_catalog.json

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,13 @@
152152
"value": "sao01"
153153
},
154154
{
155-
"displayname": "US-south (us-south)",
155+
"displayname": "Dallas (dallas)",
156156
"value": "us-south"
157157
},
158+
{
159+
"displayname": "Dallas (dal10)",
160+
"value": "dal10"
161+
},
158162
{
159163
"displayname": "Dallas (dal12)",
160164
"value": "dal12"
@@ -528,9 +532,13 @@
528532
"value": "sao01"
529533
},
530534
{
531-
"displayname": "US-south (us-south)",
535+
"displayname": "Dallas (dallas)",
532536
"value": "us-south"
533537
},
538+
{
539+
"displayname": "Dallas (dal10)",
540+
"value": "dal10"
541+
},
534542
{
535543
"displayname": "Dallas (dal12)",
536544
"value": "dal12"
@@ -801,9 +809,13 @@
801809
"value": "sao01"
802810
},
803811
{
804-
"displayname": "US-south (us-south)",
812+
"displayname": "Dallas (dallas)",
805813
"value": "us-south"
806814
},
815+
{
816+
"displayname": "Dallas (dal10)",
817+
"value": "dal10"
818+
},
807819
{
808820
"displayname": "Dallas (dal12)",
809821
"value": "dal12"
@@ -842,19 +854,19 @@
842854
"value": "aix_l"
843855
},
844856
{
845-
"displayname": "IBM i - XS (0.25cpu,8GB,disk-100GB,IBMi-73-13-2924-1)",
857+
"displayname": "IBM i - XS (0.25cpu,8GB,disk-100GB,IBMi-75-01-2984-2)",
846858
"value": "ibm_i_xs"
847859
},
848860
{
849-
"displayname": "IBM i - S (1cpu,32GB,disk-500GB,IBMi-73-13-2924-1)",
861+
"displayname": "IBM i - S (1cpu,32GB,disk-500GB,IBMi-75-01-2984-2)",
850862
"value": "ibm_i_s"
851863
},
852864
{
853-
"displayname": "IBM i - M (2cpu,64GB,disk-1000GB,IBMi-73-13-2924-1)",
865+
"displayname": "IBM i - M (2cpu,64GB,disk-1000GB,IBMi-75-01-2984-2)",
854866
"value": "ibm_i_m"
855867
},
856868
{
857-
"displayname": "IBM i - L (4cpu,132GB,disk-2000GB,IBMi-73-13-2924-1)",
869+
"displayname": "IBM i - L (4cpu,132GB,disk-2000GB,IBMi-75-01-2984-2)",
858870
"value": "ibm_i_l"
859871
},
860872
{
@@ -924,32 +936,32 @@
924936
"value": "7200-05-03"
925937
},
926938
{
927-
"displayname": "IBM i - IBMi-73-13-2924-1",
928-
"value": "IBMi-73-13-2924-1"
929-
},
930-
{
931-
"displayname": "IBM i - IBMi-74-07-2924-1",
932-
"value": "IBMi-74-07-2924-1"
939+
"displayname": "IBM i - IBMi-75-01-2984-2",
940+
"value": "IBMi-75-01-2984-2"
933941
},
934942
{
935943
"displayname": "IBM i - IBMi-75-01-2924-2",
936944
"value": "IBMi-75-01-2924-2"
937945
},
946+
{
947+
"displayname": "IBM i - IBMi-74-07-2984-1",
948+
"value": "IBMi-74-07-2984-1"
949+
},
938950
{
939951
"displayname": "IBM i - IBMi_COR-74-07-2",
940952
"value": "IBMi_COR-74-07-2"
941953
},
942954
{
943-
"displayname": "SAP - RHEL8-SP4-SAP",
944-
"value": "RHEL8-SP4-SAP"
955+
"displayname": "SAP - RHEL8-SP6-SAP",
956+
"value": "RHEL8-SP6-SAP"
945957
},
946958
{
947959
"displayname": "SAP - SLES15-SP4-SAP",
948960
"value": "SLES15-SP4-SAP"
949961
},
950962
{
951-
"displayname": "SAP - RHEL8-SP4-SAP-NETWEAVER",
952-
"value": "RHEL8-SP4-SAP-NETWEAVER"
963+
"displayname": "SAP - RHEL8-SP6-SAP-NETWEAVER",
964+
"value": "RHEL8-SP6-SAP-NETWEAVER"
953965
},
954966
{
955967
"displayname": "SAP - SLES15-SP4-SAP-NETWEAVER",

main.tf

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
# IBM Cloud PowerVS Configuration
33
#####################################################
44

5+
locals {
6+
per_enabled_dc_list = ["dal10"]
7+
per_enabled = contains(local.per_enabled_dc_list, var.powervs_zone)
8+
}
9+
510
module "initial_validation" {
611
source = "./submodules/terraform_initial_validation"
712
cloud_connection_validate = {
@@ -32,6 +37,7 @@ module "powervs_cloud_connection_create" {
3237
powervs_resource_group_name = var.powervs_resource_group_name
3338
powervs_workspace_name = var.powervs_workspace_name
3439
transit_gateway_name = var.transit_gateway_name
40+
per_enabled = local.per_enabled
3541
cloud_connection_name_prefix = var.cloud_connection_name_prefix
3642
cloud_connection_count = var.cloud_connection_count
3743
cloud_connection_speed = var.cloud_connection_speed
@@ -42,6 +48,7 @@ module "powervs_cloud_connection_create" {
4248

4349
module "powervs_cloud_connection_attach" {
4450
source = "./submodules/powervs_cloudconnection_attach"
51+
count = local.per_enabled ? 0 : 1
4552
depends_on = [module.powervs_workspace, module.powervs_cloud_connection_create]
4653
powervs_zone = var.powervs_zone
4754
powervs_resource_group_name = var.powervs_resource_group_name
@@ -50,11 +57,15 @@ module "powervs_cloud_connection_attach" {
5057
powervs_subnet_names = [var.powervs_management_network.name, var.powervs_backup_network.name]
5158
}
5259

60+
61+
#####################################################
62+
# VPC VSI Management Services OS configuration
63+
#####################################################
64+
5365
module "configure_squid" {
5466

55-
source = "./submodules/configure_network_services"
56-
depends_on = [module.powervs_cloud_connection_attach]
57-
count = var.squid_config["squid_enable"] ? 1 : 0
67+
source = "./submodules/configure_network_services"
68+
count = var.squid_config["squid_enable"] ? 1 : 0
5869

5970
access_host_or_ip = var.access_host_or_ip
6071
target_server_ip = var.squid_config["server_host_or_ip"]
@@ -73,7 +84,7 @@ resource "time_sleep" "wait_for_squid_setup_to_complete" {
7384
module "configure_dns" {
7485

7586
source = "./submodules/configure_network_services"
76-
depends_on = [module.powervs_cloud_connection_attach, module.configure_squid, time_sleep.wait_for_squid_setup_to_complete]
87+
depends_on = [module.configure_squid, time_sleep.wait_for_squid_setup_to_complete]
7788
count = var.dns_forwarder_config["dns_enable"] ? 1 : 0
7889

7990
access_host_or_ip = var.access_host_or_ip
@@ -86,7 +97,7 @@ module "configure_dns" {
8697
module "configure_ntp" {
8798

8899
source = "./submodules/configure_network_services"
89-
depends_on = [module.powervs_cloud_connection_attach, module.configure_squid, module.configure_dns, time_sleep.wait_for_squid_setup_to_complete]
100+
depends_on = [module.configure_squid, module.configure_dns, time_sleep.wait_for_squid_setup_to_complete]
90101
count = var.ntp_forwarder_config["ntp_enable"] ? 1 : 0
91102

92103
access_host_or_ip = var.access_host_or_ip
@@ -99,7 +110,7 @@ module "configure_ntp" {
99110
module "configure_nfs" {
100111

101112
source = "./submodules/configure_network_services"
102-
depends_on = [module.powervs_cloud_connection_attach, module.configure_squid, module.configure_dns, module.configure_ntp, time_sleep.wait_for_squid_setup_to_complete]
113+
depends_on = [module.configure_squid, module.configure_dns, module.configure_ntp, time_sleep.wait_for_squid_setup_to_complete]
103114
count = var.nfs_config["nfs_enable"] ? 1 : 0
104115

105116
access_host_or_ip = var.access_host_or_ip

0 commit comments

Comments
 (0)