Skip to content

Commit c19115a

Browse files
committed
chore: code change only for sap-ready-to-go, pending (sap-s4hana-bw4hana/e2e)
1 parent 9eb4888 commit c19115a

File tree

9 files changed

+3655
-82
lines changed

9 files changed

+3655
-82
lines changed

.secrets.baseline

Lines changed: 3529 additions & 3 deletions
Large diffs are not rendered by default.

modules/ansible/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ terraform {
77
required_providers {
88
random = {
99
source = "hashicorp/random"
10-
version = "3.6.1"
10+
version = "3.7.2"
1111
}
1212
}
1313
}

modules/pi-sap-system-type1/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,15 @@ The Power Virtual Server for SAP module automates the following tasks:
3232
| <a name="module_ansible_pi_netweaver_secondary_instances_sapmnt_mount"></a> [ansible\_pi\_netweaver\_secondary\_instances\_sapmnt\_mount](#module\_ansible\_pi\_netweaver\_secondary\_instances\_sapmnt\_mount) | ../ansible | n/a |
3333
| <a name="module_ansible_sap_instance_init"></a> [ansible\_sap\_instance\_init](#module\_ansible\_sap\_instance\_init) | ../ansible | n/a |
3434
| <a name="module_configure_scc_wp_agent"></a> [configure\_scc\_wp\_agent](#module\_configure\_scc\_wp\_agent) | ../ansible | n/a |
35-
| <a name="module_pi_hana_instance"></a> [pi\_hana\_instance](#module\_pi\_hana\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.8.0 |
35+
| <a name="module_pi_hana_instance"></a> [pi\_hana\_instance](#module\_pi\_hana\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.8.2 |
3636
| <a name="module_pi_hana_storage_calculation"></a> [pi\_hana\_storage\_calculation](#module\_pi\_hana\_storage\_calculation) | ../pi-hana-storage-config | n/a |
37-
| <a name="module_pi_netweaver_primary_instance"></a> [pi\_netweaver\_primary\_instance](#module\_pi\_netweaver\_primary\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.8.0 |
38-
| <a name="module_pi_netweaver_secondary_instances"></a> [pi\_netweaver\_secondary\_instances](#module\_pi\_netweaver\_secondary\_instances) | terraform-ibm-modules/powervs-instance/ibm | 2.8.0 |
37+
| <a name="module_pi_netweaver_primary_instance"></a> [pi\_netweaver\_primary\_instance](#module\_pi\_netweaver\_primary\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.8.2 |
38+
| <a name="module_pi_netweaver_secondary_instances"></a> [pi\_netweaver\_secondary\_instances](#module\_pi\_netweaver\_secondary\_instances) | terraform-ibm-modules/powervs-instance/ibm | 2.8.2 |
3939

4040
### Resources
4141

4242
| Name | Type |
4343
|------|------|
44-
| [ibm_pi_network.sap_network](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/pi_network) | resource |
4544
| [time_sleep.wait_1_min](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
4645

4746
### Inputs
@@ -70,7 +69,6 @@ The Power Virtual Server for SAP module automates the following tasks:
7069
| <a name="output_access_host_or_ip"></a> [access\_host\_or\_ip](#output\_access\_host\_or\_ip) | Public IP of Provided Bastion/JumpServer Host |
7170
| <a name="output_pi_hana_instance_ips"></a> [pi\_hana\_instance\_ips](#output\_pi\_hana\_instance\_ips) | All private IPS of HANA instance |
7271
| <a name="output_pi_hana_instance_management_ip"></a> [pi\_hana\_instance\_management\_ip](#output\_pi\_hana\_instance\_management\_ip) | Management IP of HANA Instance |
73-
| <a name="output_pi_hana_instance_sap_ip"></a> [pi\_hana\_instance\_sap\_ip](#output\_pi\_hana\_instance\_sap\_ip) | SAP IP of PowerVS HANA Instance |
7472
| <a name="output_pi_lpars_data"></a> [pi\_lpars\_data](#output\_pi\_lpars\_data) | All private IPS of PowerVS instances and Jump IP to access the host. |
7573
| <a name="output_pi_netweaver_instance_ips"></a> [pi\_netweaver\_instance\_ips](#output\_pi\_netweaver\_instance\_ips) | All private IPS of NetWeaver instances |
7674
| <a name="output_pi_netweaver_instance_management_ips"></a> [pi\_netweaver\_instance\_management\_ips](#output\_pi\_netweaver\_instance\_management\_ips) | Management IPS of NetWeaver instances |

modules/pi-sap-system-type1/main.tf

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,7 @@
1-
#####################################################
2-
# Create SAP network for the SAP System
3-
#####################################################
4-
5-
resource "ibm_pi_network" "sap_network" {
6-
pi_cloud_instance_id = var.pi_workspace_guid
7-
pi_network_name = "${var.prefix}-sap-net"
8-
pi_cidr = var.pi_sap_network_cidr
9-
pi_network_type = "vlan"
10-
pi_network_mtu = 9000
11-
}
12-
131
locals {
14-
pi_sap_network = { "name" = "${var.prefix}-net", "cidr" = var.pi_sap_network_cidr, "id" = ibm_pi_network.sap_network.network_id }
15-
pi_networks = concat(var.pi_networks, [local.pi_sap_network])
2+
pi_network = [{ "name" = "${var.prefix}-sap-net", "cidr" = var.pi_networks[0].cidr, "id" = var.pi_networks[0].id }]
3+
#pi_networks = concat(var.pi_networks, [local.pi_sap_network])
164
}
17-
185
#####################################################
196
# Set server type based on region
207
#####################################################
@@ -40,13 +27,13 @@ module "pi_hana_storage_calculation" {
4027

4128
module "pi_hana_instance" {
4229
source = "terraform-ibm-modules/powervs-instance/ibm"
43-
version = "2.8.0"
30+
version = "2.8.2"
4431

4532
pi_workspace_guid = var.pi_workspace_guid
4633
pi_instance_name = local.pi_hana_instance_name
4734
pi_ssh_public_key_name = var.pi_ssh_public_key_name
4835
pi_image_id = var.pi_hana_instance.image_id
49-
pi_networks = local.pi_networks
36+
pi_networks = local.pi_network
5037
pi_sap_profile_id = var.pi_hana_instance.sap_profile_id
5138
pi_boot_image_storage_tier = "tier3"
5239
pi_storage_config = module.pi_hana_storage_calculation.pi_hana_storage_config
@@ -55,12 +42,6 @@ module "pi_hana_instance" {
5542
ansible_vault_password = var.ansible_vault_password
5643
}
5744

58-
locals {
59-
pi_hana_instance_ips = split(", ", module.pi_hana_instance.pi_instance_private_ips)
60-
pi_hana_instance_sap_ip = local.pi_hana_instance_ips[index([for ip in local.pi_hana_instance_ips : alltrue([for i, v in split(".", ip) : tonumber(split(".", cidrhost(var.pi_sap_network_cidr, 0))[i]) <= tonumber(v) && tonumber(v) <= tonumber(split(".", cidrhost(var.pi_sap_network_cidr, -1))[i])])], true)]
61-
}
62-
63-
6445
##########################################################################################################
6546
# Deploy SAP NetWeaver Instances
6647
##########################################################################################################
@@ -78,21 +59,21 @@ locals {
7859
}
7960

8061
resource "time_sleep" "wait_1_min" {
81-
depends_on = [ibm_pi_network.sap_network]
62+
depends_on = [var.pi_networks]
8263
create_duration = "60s"
8364
}
8465

8566
module "pi_netweaver_primary_instance" {
8667
source = "terraform-ibm-modules/powervs-instance/ibm"
87-
version = "2.8.0"
68+
version = "2.8.2"
8869
count = var.pi_netweaver_instance.instance_count > 0 ? 1 : 0
8970
depends_on = [time_sleep.wait_1_min]
9071

9172
pi_workspace_guid = var.pi_workspace_guid
9273
pi_instance_name = "${local.pi_netweaver_instance_name}-${count.index + 1}"
9374
pi_ssh_public_key_name = var.pi_ssh_public_key_name
9475
pi_image_id = var.pi_netweaver_instance.image_id
95-
pi_networks = local.pi_networks
76+
pi_networks = local.pi_network
9677
pi_sap_profile_id = null
9778
pi_boot_image_storage_tier = "tier3"
9879
pi_number_of_processors = var.pi_netweaver_instance.processors
@@ -132,15 +113,15 @@ module "ansible_pi_netweaver_primary_instance_exportfs" {
132113

133114
module "pi_netweaver_secondary_instances" {
134115
source = "terraform-ibm-modules/powervs-instance/ibm"
135-
version = "2.8.0"
116+
version = "2.8.2"
136117
count = var.pi_netweaver_instance.instance_count > 1 ? var.pi_netweaver_instance.instance_count - 1 : 0
137118
depends_on = [time_sleep.wait_1_min]
138119

139120
pi_workspace_guid = var.pi_workspace_guid
140121
pi_instance_name = "${local.pi_netweaver_instance_name}-${count.index + 2}"
141122
pi_ssh_public_key_name = var.pi_ssh_public_key_name
142123
pi_image_id = var.pi_netweaver_instance.image_id
143-
pi_networks = local.pi_networks
124+
pi_networks = local.pi_network
144125
pi_sap_profile_id = null
145126
pi_boot_image_storage_tier = "tier3"
146127
pi_number_of_processors = var.pi_netweaver_instance.processors

modules/pi-sap-system-type1/outputs.tf

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ output "pi_hana_instance_management_ip" {
1313
value = module.pi_hana_instance.pi_instance_primary_ip
1414
}
1515

16-
output "pi_hana_instance_sap_ip" {
17-
description = "SAP IP of PowerVS HANA Instance"
18-
value = local.pi_hana_instance_sap_ip
19-
}
20-
2116
output "pi_netweaver_instance_ips" {
2217
description = "All private IPS of NetWeaver instances"
2318
value = var.pi_netweaver_instance.instance_count >= 1 ? concat(module.pi_netweaver_primary_instance[*].pi_instance_private_ips, module.pi_netweaver_secondary_instances[*].pi_instance_private_ips) : [""]
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{
2+
"exclude": {
3+
"files": "^.secrets.baseline$",
4+
"lines": null
5+
},
6+
"generated_at": "2025-09-27T03:21:18Z",
7+
"plugins_used": [
8+
{
9+
"name": "AWSKeyDetector"
10+
},
11+
{
12+
"name": "ArtifactoryDetector"
13+
},
14+
{
15+
"name": "AzureStorageKeyDetector"
16+
},
17+
{
18+
"base64_limit": 4.5,
19+
"name": "Base64HighEntropyString"
20+
},
21+
{
22+
"name": "BasicAuthDetector"
23+
},
24+
{
25+
"name": "BoxDetector"
26+
},
27+
{
28+
"name": "CloudantDetector"
29+
},
30+
{
31+
"ghe_instance": "github.ibm.com",
32+
"name": "GheDetector"
33+
},
34+
{
35+
"name": "GitHubTokenDetector"
36+
},
37+
{
38+
"hex_limit": 3,
39+
"name": "HexHighEntropyString"
40+
},
41+
{
42+
"name": "IbmCloudIamDetector"
43+
},
44+
{
45+
"name": "IbmCosHmacDetector"
46+
},
47+
{
48+
"name": "JwtTokenDetector"
49+
},
50+
{
51+
"keyword_exclude": null,
52+
"name": "KeywordDetector"
53+
},
54+
{
55+
"name": "MailchimpDetector"
56+
},
57+
{
58+
"name": "NpmDetector"
59+
},
60+
{
61+
"name": "PrivateKeyDetector"
62+
},
63+
{
64+
"name": "SlackDetector"
65+
},
66+
{
67+
"name": "SoftlayerDetector"
68+
},
69+
{
70+
"name": "SquareOAuthDetector"
71+
},
72+
{
73+
"name": "StripeDetector"
74+
},
75+
{
76+
"name": "TwilioKeyDetector"
77+
}
78+
],
79+
"results": {},
80+
"version": "0.13.1+ibm.62.dss",
81+
"word_list": {
82+
"file": null,
83+
"hash": null
84+
}
85+
}

solutions/ibm-catalog/sap-ready-to-go/README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
| Name | Source | Version |
5353
|------|--------|---------|
5454
| <a name="module_sap_system"></a> [sap\_system](#module\_sap\_system) | ../../../modules/pi-sap-system-type1 | n/a |
55-
| <a name="module_standard"></a> [standard](#module\_standard) | terraform-ibm-modules/powervs-infrastructure/ibm//modules/powervs-vpc-landing-zone | 9.0.1 |
55+
| <a name="module_standard"></a> [standard](#module\_standard) | git::https://github.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure.git//modules/powervs-vpc-landing-zone | main |
5656

5757
### Resources
5858

@@ -77,15 +77,13 @@
7777
| <a name="input_ibmcloud_api_key"></a> [ibmcloud\_api\_key](#input\_ibmcloud\_api\_key) | IBM Cloud platform API key needed to deploy IAM enabled resources. | `string` | n/a | yes |
7878
| <a name="input_nfs_server_config"></a> [nfs\_server\_config](#input\_nfs\_server\_config) | Configuration for the NFS server. 'size' is in GB, 'iops' is maximum input/output operation performance bandwidth per second, 'mount\_path' defines the target mount point on os. Set 'configure\_nfs\_server' to false to ignore creating file storage share. | <pre>object({<br/> size = number<br/> iops = number<br/> mount_path = string<br/> })</pre> | <pre>{<br/> "iops": 600,<br/> "mount_path": "/nfs",<br/> "size": 200<br/>}</pre> | no |
7979
| <a name="input_os_image_distro"></a> [os\_image\_distro](#input\_os\_image\_distro) | Image distribution to use for all instances(HANA, NetWeaver). OS release versions may be specified in 'powervs\_sap\_default\_images' optional parameters below. | `string` | n/a | yes |
80-
| <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 |
8180
| <a name="input_powervs_custom_image_cos_configuration"></a> [powervs\_custom\_image\_cos\_configuration](#input\_powervs\_custom\_image\_cos\_configuration) | Cloud Object Storage bucket containing custom PowerVS images. bucket\_name: string, name of the COS bucket. bucket\_access: string, possible values: public, private (private requires powervs\_custom\_image\_cos\_service\_credentials). bucket\_region: string, COS bucket region | <pre>object({<br/> bucket_name = string<br/> bucket_access = string<br/> bucket_region = string<br/> })</pre> | <pre>{<br/> "bucket_access": "",<br/> "bucket_name": "",<br/> "bucket_region": ""<br/>}</pre> | no |
8281
| <a name="input_powervs_custom_image_cos_service_credentials"></a> [powervs\_custom\_image\_cos\_service\_credentials](#input\_powervs\_custom\_image\_cos\_service\_credentials) | Service credentials for the Cloud Object Storage bucket containing the custom PowerVS images. The bucket must have HMAC credentials enabled. Click [here](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-service-credentials) for a json example of a service credential. | `string` | `null` | no |
8382
| <a name="input_powervs_custom_images"></a> [powervs\_custom\_images](#input\_powervs\_custom\_images) | Optionally import up to three custom images from Cloud Object Storage into PowerVS workspace. Requires 'powervs\_custom\_image\_cos\_configuration' to be set. image\_name: string, must be unique. Name of image inside PowerVS workspace. file\_name: string, object key of image inside COS bucket. storage\_tier: string, storage tier which image will be stored in after import. Supported values: tier0, tier1, tier3, tier5k. sap\_type: optional string, Supported values: null, Hana, Netweaver, use null for non-SAP image. | <pre>object({<br/> powervs_custom_image1 = object({<br/> image_name = string<br/> file_name = string<br/> storage_tier = string<br/> sap_type = optional(string)<br/> }),<br/> powervs_custom_image2 = object({<br/> image_name = string<br/> file_name = string<br/> storage_tier = string<br/> sap_type = optional(string)<br/> }),<br/> powervs_custom_image3 = object({<br/> image_name = string<br/> file_name = string<br/> storage_tier = string<br/> sap_type = optional(string)<br/> })<br/> })</pre> | <pre>{<br/> "powervs_custom_image1": {<br/> "file_name": "",<br/> "image_name": "",<br/> "sap_type": null,<br/> "storage_tier": ""<br/> },<br/> "powervs_custom_image2": {<br/> "file_name": "",<br/> "image_name": "",<br/> "sap_type": null,<br/> "storage_tier": ""<br/> },<br/> "powervs_custom_image3": {<br/> "file_name": "",<br/> "image_name": "",<br/> "sap_type": null,<br/> "storage_tier": ""<br/> }<br/>}</pre> | no |
8483
| <a name="input_powervs_default_sap_images"></a> [powervs\_default\_sap\_images](#input\_powervs\_default\_sap\_images) | Default SUSE and Red Hat Linux Full Linux subscription images to use for PowerVS SAP HANA and SAP NetWeaver instances. If you're using a byol or a custom RHEL/SLES image, additionally specify the optional values for 'powervs\_os\_registration\_username', 'powervs\_os\_registration\_password' and 'ansible\_vault\_password' | <pre>object({<br/> sles_hana_image = string<br/> sles_nw_image = string<br/> rhel_hana_image = string<br/> rhel_nw_image = string<br/> })</pre> | <pre>{<br/> "rhel_hana_image": "RHEL9-SP4-SAP",<br/> "rhel_nw_image": "RHEL9-SP4-SAP-NETWEAVER",<br/> "sles_hana_image": "SLES15-SP6-SAP",<br/> "sles_nw_image": "SLES15-SP6-SAP-NETWEAVER"<br/>}</pre> | no |
8584
| <a name="input_powervs_hana_instance_additional_storage_config"></a> [powervs\_hana\_instance\_additional\_storage\_config](#input\_powervs\_hana\_instance\_additional\_storage\_config) | Additional File systems to be created and attached to PowerVS SAP HANA instance. 'size' is in GB. 'count' specify over how many storage volumes the file system will be striped. 'tier' specifies the storage tier in PowerVS workspace. 'mount' specifies the target mount point on OS. | <pre>list(object({<br/> name = string<br/> size = string<br/> count = string<br/> tier = string<br/> mount = string<br/> }))</pre> | <pre>[<br/> {<br/> "count": "1",<br/> "mount": "/usr/sap",<br/> "name": "usrsap",<br/> "size": "50",<br/> "tier": "tier3"<br/> }<br/>]</pre> | no |
8685
| <a name="input_powervs_hana_instance_custom_storage_config"></a> [powervs\_hana\_instance\_custom\_storage\_config](#input\_powervs\_hana\_instance\_custom\_storage\_config) | Custom file systems to be created and attached to PowerVS SAP HANA instance. 'size' is in GB. 'count' specify over how many storage volumes the file system will be striped. 'tier' specifies the storage tier in PowerVS workspace. 'mount' specifies the target mount point on OS. | <pre>list(object({<br/> name = string<br/> size = string<br/> count = string<br/> tier = string<br/> mount = string<br/> pool = optional(string)<br/> }))</pre> | <pre>[<br/> {<br/> "count": "",<br/> "mount": "",<br/> "name": "",<br/> "size": "",<br/> "tier": ""<br/> }<br/>]</pre> | no |
8786
| <a name="input_powervs_hana_instance_sap_profile_id"></a> [powervs\_hana\_instance\_sap\_profile\_id](#input\_powervs\_hana\_instance\_sap\_profile\_id) | PowerVS SAP HANA instance profile to use. Must be one of the supported profiles. See [here](https://cloud.ibm.com/docs/sap?topic=sap-hana-iaas-offerings-profiles-power-vs). File system sizes are automatically calculated. Override automatic calculation by setting values in optional parameter 'powervs\_hana\_instance\_custom\_storage\_config'. | `string` | `"sh2-4x256"` | no |
88-
| <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 |
8987
| <a name="input_powervs_netweaver_cpu_number"></a> [powervs\_netweaver\_cpu\_number](#input\_powervs\_netweaver\_cpu\_number) | Number of CPUs for each PowerVS SAP NetWeaver instance. | `string` | `"3"` | no |
9088
| <a name="input_powervs_netweaver_instance_count"></a> [powervs\_netweaver\_instance\_count](#input\_powervs\_netweaver\_instance\_count) | Number of PowerVS SAP NetWeaver instances that should be created. 'powervs\_netweaver\_instance\_count' cannot exceed 10. | `number` | `1` | no |
9189
| <a name="input_powervs_netweaver_instance_storage_config"></a> [powervs\_netweaver\_instance\_storage\_config](#input\_powervs\_netweaver\_instance\_storage\_config) | File systems to be created and attached to PowerVS SAP NetWeaver instance. 'size' is in GB. 'count' specifies over how many storage volumes the file system will be striped. 'tier' specifies the storage tier in PowerVS workspace. 'mount' specifies the target mount point on OS. | <pre>list(object({<br/> name = string<br/> size = string<br/> count = string<br/> tier = string<br/> mount = string<br/> pool = optional(string)<br/> }))</pre> | <pre>[<br/> {<br/> "count": "1",<br/> "mount": "/usr/sap",<br/> "name": "usrsap",<br/> "size": "50",<br/> "tier": "tier3"<br/> }<br/>]</pre> | no |

0 commit comments

Comments
 (0)