SAP S/4HANA or SAP BW/4HANA installation configuration to IBM PowerVS hosts.
Variation | Available on IBM Catalog | Requires Schematics Workspace ID | Creates PowerVS with VPC landing zone | Creates PowerVS HANA Instance | Creates PowerVS NW Instances | Performs PowerVS OS Config | Performs PowerVS SAP Tuning | Install SAP software |
---|---|---|---|---|---|---|---|---|
IBM catalog SAP S/4HANA or BW/4HANA variation | ✔️ | ✔️ | N/A | 1 | 1 | ✔️ | ✔️ | ✔️ |
- Creates a new private subnet for SAP communication for the entire landscape.
- Creates and configures one PowerVS instance for SAP HANA based on best practices for HANA database.
- Creates and configures one PowerVS instance for SAP NetWeaver based on best practices, hosting the PAS and ASCS instances.
- Creates and configures one optional PowerVS instance for sharing SAP files between other system instances.
- Connects all created PowerVS instances to a proxy server specified by IP address or hostname.
- Optionally connects all created PowerVS instances to an NTP server and DNS forwarder specified by IP address or hostname.
- Optionally configures a shared NFS directory on all created PowerVS instances.
- Supports installation of S/4HANA2023, S/4HANA2022, S/4HANA2021, S/4HANA2020, BW/4HANA2021.
- Supports installation using Maintenance Planner as well.
- Optionally installs and configures SAP Monitoring host and dashboard, if monitoring instance was deployed as part of Power Virtual Server with VPC landing zone deployment.
-
It is required to have an existing IBM Cloud Object Storage (COS) instance. Within the instance, an Object Storage Bucket containing the SAP Software installation media files is required in the correct folder structure as defined here.
-
This solution requires a schematics workspace id as an input.
- If you do not have a Power Virtual Server with VPC landing zone deployment that is the full stack solution for a PowerVS Workspace with Secure Landing Zone, create it first.
- Filesystem sizes for HANA data and HANA log are calculated automatically based on the memory size.
- Custom storage configuration by providing custom volume size, iops(tier0, tier1, tier3, tier5k), counts and mount points is supported.
- If sharefs instance is enabled, then all filesystems provisioned for sharefs instance will be NFS exported and mounted on all NetWeaver Instances.
- Do not specify a filesystem
/sapmnt
explicitly for NetWeaver instance as it is created internally when sharefs instance is not enabled.
- Recommended to have a COS instance in the same region where the S/4HANA or BW/4HANA deployment is planned, as copying the files onto the LPAR will be faster.
- The 'ibmcloud_cos_service_credentials' variable requires a value in JSON format. This can be obtained using the instructions here
- All binaries for SAP HANA database and SAP Solution (S/4HANA or BW/4HANA) must be uploaded to the IBM Cloud Object Storage Instance bucket in IBM Cloud before starting this deployment.
- For example the binaries required for SAP S/4HANA 2023 and SAP BW/4HANA 2021 are listed here.
- Example folder structure :
S4HANA_2023
|
|_HANA_DB
| |_all IMDB* Files and SAPCAR files (all files similar to listed in point 2 above example file)
|
|_S4HANA_2023
| |_all files similar to listed in point 2 above example file
| |maintenance planner stack xml file (optional)
|_Monitoring <---(optional)
|_SAPCAR_x86_64
|_IMDB_SAP_CLIENT_x86_64.SAR
Do not mix the SAP HANA DB binaries, the S/4HANA or BW/4HANA solution binaries and Monitoring binaries otherwise the ansible playbook execution will fail.
-
If you have a maintenance planner stack XML file, place it under the same folder as S4HANA_2023 and not under the HANA DB directory. Applies to all other versions as well. Mention only the name of this file in 'cos_swpm_mp_stack_file_name'. Leave it empty if you do not have this stack XML file.
-
The 'ibmcloud_cos_configuration' variable must be set correctly based on the folder structure created.
cos_region
: region of IBM Cloud Object Storage instance bucket. Example: eu-gbcos_bucket_name
: cos bucket namecos_hana_software_path
: folder path to SAP HANA db binaries from the root of the bucket. Example from point 3, the value would be: "s4hana2023/HANA_DB"cos_solution_software_path
: folder path to SAP S/4HANA binaries from the root of the bucket. Example from point 3, the value would be: "s4hana2023/S4HANA_2023"cos_monitoring_software_path
: folder path to x86_64 SAPCAR and IMDB_CLIENT binaries from the root of the bucket. Example from point 3, the value would be: "s4hana2023/Monitoring"cos_swpm_mp_stack_file_name
: Stack XML file name. Value must be set to empty''
if not available. If value is provided, then this file must be present in the same path as'cos_solution_software_path'
.
- All the installation logs and Ansible playbook files will be under the directory
/root/terraform_files/
. - The ansible vault password will be used to encrypt the Ansible playbook file created during deployment. This playbook file will be placed under
/root/terraform_files/sap-hana-install.yml
on the HANA instance and/root/terraform_files/sap-swpm-install-vars.yml
on the NetWeaver Instance. - This file can be decrypted using the same value passed to variable 'ansible_vault_password' during deployment. Use the command
ansible-vault decrypt /root/terraform_files/sap-swpm-install-vars.yml
and enter the password when prompted.
Default values:
/hana/shared (size auto calculated based on memory)
/hana/data (size auto calculated based on memory)
/hana/log (size auto calculated based on memory)
/usr/sap 50GB
Note: Supports custom storage configuration using provided optional variables.
Default values:
/usr/sap 50GB
/sapmnt 300GB (only if sharefs instance is not provisioned)
Note: Supports custom storage configuration using provided optional variables.
Default values:
/sapmnt 300GB
/usr/trans 50GB
Note: Supports custom storage configuration using provided optional variables.
- RHEL System Roles:
sap_hana_install, sap_swpm, sap_general_preconfigure, sap_hana_preconfigure, sap_netweaver_preconfigure
- IBM Role:
power_linux_sap
Name | Version |
---|---|
terraform | >= 1.9.0 |
ibm | 1.74.0 |
Name | Source | Version |
---|---|---|
ansible_monitoring_sap_install_solution | ../../../modules/ansible | n/a |
ansible_sap_install_hana | ../../../modules/ansible | n/a |
ansible_sap_install_solution | ../../../modules/ansible | n/a |
ibmcloud_cos_download_hana_binaries | ../../../modules/ibmcloud-cos | n/a |
ibmcloud_cos_download_monitoring_binaries | ../../../modules/ibmcloud-cos | n/a |
ibmcloud_cos_download_netweaver_binaries | ../../../modules/ibmcloud-cos | n/a |
sap_system | ../../../modules/pi-sap-system-type1 | n/a |
Name | Type |
---|---|
ibm_schematics_output.schematics_output | data source |
ibm_schematics_workspace.schematics_workspace | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
ansible_vault_password | Vault password to encrypt SAP installation parameters in the OS. For optimal security, set the vault password to 8-16 characters, including a mix of uppercase, lowercase, numbers, and special characters. Avoid non-printable characters. | string |
n/a | yes |
ibmcloud_api_key | IBM Cloud platform API key needed to deploy IAM enabled resources. | string |
n/a | yes |
ibmcloud_cos_configuration | Cloud Object Storage instance containing SAP installation files that will be downloaded to NFS share. 'cos_hana_software_path' must contain only binaries required for HANA DB installation. 'cos_solution_software_path' must contain only binaries required for S/4HANA or BW/4HANA installation and must not contain any IMDB files. 'cos_monitoring_software_path' is optional and must contain x86_64 SAPCAR and SAP HANA client binaries required for configuring monitoring instance. The binaries required for installation can be found here If you have an optional stack xml file (maintenance planner), place it under the 'cos_solution_software_path' directory. Avoid inserting '/' at the beginning for 'cos_hana_software_path', 'cos_solution_software_path' and 'cos_monitoring_software_path'. | object({ |
{ |
no |
ibmcloud_cos_service_credentials | IBM Cloud Object Storage instance service credentials to access the bucket in the instance.json example of service credential | string |
n/a | yes |
powervs_create_separate_sharefs_instance | Deploy separate IBM PowerVS instance as central file system share. All filesystems defined in 'powervs_sharefs_instance_storage_config' variable will be NFS exported and mounted on SAP NetWeaver PowerVS instances if enabled. Optional parameter 'powervs_share_fs_instance' can be configured if enabled. | bool |
n/a | yes |
powervs_default_sap_images | Default Red Hat Linux images to use for PowerVS SAP HANA and SAP NetWeaver instances. | object({ |
{ |
no |
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. | list(object({ |
[ |
no |
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. | list(object({ |
[ |
no |
powervs_hana_instance_name | PowerVS SAP HANA instance hostname (non FQDN). Will get the form of <var.prefix>-<var.powervs_hana_instance_name>. Max length of final hostname must be <= 13 characters. | string |
"hana" |
no |
powervs_hana_instance_sap_profile_id | PowerVS SAP HANA instance profile to use. Must be one of the supported profiles. See here. File system sizes are automatically calculated. Override automatic calculation by setting values in optional parameter 'powervs_hana_instance_custom_storage_config'. | string |
"ush1-4x256" |
no |
powervs_netweaver_cpu_number | Number of CPUs for PowerVS SAP NetWeaver instance. | string |
"3" |
no |
powervs_netweaver_instance_name | PowerVS SAP NetWeaver instance hostname (non FQDN). Will get the form of <var.prefix>-<var.powervs_netweaver_instance_name>-. Max length of final hostname must be <= 13 characters. | string |
"nw" |
no |
powervs_netweaver_instance_storage_config | File systems to be created and attached to PowerVS SAP NetWeaver 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. Do not specify volume for 'sapmnt' as this will be created internally if 'powervs_create_separate_sharefs_instance' is false, else 'sapmnt' will be mounted from sharefs instance. | list(object({ |
[ |
no |
powervs_netweaver_memory_size | Memory size for PowerVS SAP NetWeaver instance. | string |
"32" |
no |
powervs_sap_network_cidr | Network range for dedicated SAP network. Used for communication between SAP Application servers with SAP HANA Database. E.g., '10.53.0.0/24' | string |
"10.53.0.0/24" |
no |
powervs_sharefs_instance | Share fs instance. This parameter is effective if 'powervs_create_separate_sharefs_instance' is set to true. 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. | object({ |
{ |
no |
powervs_zone | IBM Cloud data center location corresponding to the location used in 'Power Virtual Server with VPC landing zone' pre-requisite deployment. | string |
n/a | yes |
prefix | Unique prefix for resources to be created (e.g., SAP system name). Max length must be less than or equal to 6. | string |
n/a | yes |
prerequisite_workspace_id | IBM Cloud Schematics workspace ID of an existing 'Power Virtual Server with VPC landing zone' catalog solution. If you do not yet have an existing deployment, click here to create one. | string |
n/a | yes |
sap_domain | SAP network domain name. | string |
"sap.com" |
no |
sap_hana_master_password | SAP HANA master password. | string |
n/a | yes |
sap_hana_vars | SAP HANA SID and instance number. | object({ |
{ |
no |
sap_monitoring_vars | Configuration details for SAP monitoring dashboard. Takes effect only when a monitoring instance was deployed as part of Power Virtual Server with VPC landing zone deployment. If 'config_override' is true, an existing configuration will be overwritten, 'sap_monitoring_nr' Two-digit incremental number starting with 01 up to 99. This is not a existing SAP ID, but a pure virtual number and 'sap_monitoring_solution_name' is a virtual arbitrary short name to recognize SAP System. | object({ |
{ |
no |
sap_solution | SAP Solution to be installed on Power Virtual Server. | string |
n/a | yes |
sap_solution_vars | SAP SID, ASCS and PAS instance numbers and service/protectedwebmethods parameters. | object({ |
{ |
no |
sap_swpm_master_password | SAP SWPM master password. | string |
n/a | yes |
software_download_directory | Software installation binaries will be downloaded to this directory. | string |
"/software" |
no |
ssh_private_key | Private SSH key (RSA format) used to login to IBM PowerVS instances. Should match to uploaded public SSH key referenced by 'ssh_public_key' which was created previously. The key is temporarily stored and deleted. For more information about SSH keys, see SSH keys. | string |
n/a | yes |
Name | Description |
---|---|
access_host_or_ip | Public IP of Provided Bastion/JumpServer Host. |
infrastructure_data | PowerVS infrastructure details. |
powervs_hana_instance_ips | All private IPS of HANA instance. |
powervs_hana_instance_management_ip | Management IP of HANA Instance. |
powervs_lpars_data | All private IPS of PowerVS instances and Jump IP to access the host. |
powervs_netweaver_instance_ips | All private IPs of NetWeaver instance. |
powervs_netweaver_instance_management_ip | Management IP of NetWeaver instance. |
powervs_sharefs_instance_ips | Private IPs of the Share FS instance. |
sap_hana_vars | SAP HANA system details. |
sap_monitoring_vars | SAP Monitoring Instance details. |
sap_solution_vars | SAP NetWeaver system details. |