diff --git a/ibm_catalog.json b/ibm_catalog.json
index 3337ec27..8ebb3849 100755
--- a/ibm_catalog.json
+++ b/ibm_catalog.json
@@ -60,7 +60,7 @@
"name": "deploy-arch-ibm-pvs-inf",
"install_type": "fullstack",
"optional": true,
- "version": ">=5.0.0"
+ "version": ">=8.0.0"
}
],
"configuration": [
@@ -71,7 +71,7 @@
"config_constraints": {
"catalogID": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc",
"offeringID": "2dd486c7-b317-4aaa-907b-42671485ad96-global",
- "versionConstraint": ">=5.0.0"
+ "versionConstraint": ">=8.0.0"
},
"grouping": "deployment",
"original_grouping": "deployment",
@@ -373,7 +373,7 @@
"name": "deploy-arch-ibm-pvs-inf",
"install_type": "fullstack",
"optional": true,
- "version": ">=5.0.0"
+ "version": ">=8.0.0"
}
],
"configuration": [
@@ -384,7 +384,7 @@
"config_constraints": {
"catalogID": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc",
"offeringID": "2dd486c7-b317-4aaa-907b-42671485ad96-global",
- "versionConstraint": ">=5.0.0"
+ "versionConstraint": ">=8.0.0"
},
"grouping": "deployment",
"original_grouping": "deployment",
diff --git a/modules/ansible/ansible_node_packages.sh b/modules/ansible/ansible_node_packages.sh
index cfd4b4c2..66fb356a 100644
--- a/modules/ansible/ansible_node_packages.sh
+++ b/modules/ansible/ansible_node_packages.sh
@@ -8,7 +8,7 @@
############################################################
GLOBAL_RHEL_PACKAGES="rhel-system-roles rhel-system-roles-sap expect"
-GLOBAL_GALAXY_COLLECTIONS="ibm.power_linux_sap:>=3.0.0,<4.0.0 ansible.posix:1.5.4 ansible.utils:4.1.0 community.general:10.0.1"
+GLOBAL_GALAXY_COLLECTIONS="ibm.power_linux_sap:>=3.0.0,<4.0.0"
############################################################
# Start functions
@@ -90,6 +90,7 @@ main::install_packages() {
done
done
+ ansible-galaxy collection install -r '/root/.ansible/collections/ansible_collections/ibm/power_linux_sap/requirements.yml' -f
main::log_info "All packages installed successfully"
fi
diff --git a/modules/ansible/main.tf b/modules/ansible/main.tf
index e78ad11d..cbbae467 100644
--- a/modules/ansible/main.tf
+++ b/modules/ansible/main.tf
@@ -24,6 +24,7 @@ locals {
##############################################################
resource "terraform_data" "setup_ansible_host" {
+ count = var.configure_ansible_host ? 1 : 0
connection {
type = "ssh"
diff --git a/modules/ansible/templates-ansible/s4hanab4hana-solution/playbook-sap-swpm-install.yml.tftpl b/modules/ansible/templates-ansible/s4hanab4hana-solution/playbook-sap-swpm-install.yml.tftpl
index 0e06b18e..d1fadc7f 100644
--- a/modules/ansible/templates-ansible/s4hanab4hana-solution/playbook-sap-swpm-install.yml.tftpl
+++ b/modules/ansible/templates-ansible/s4hanab4hana-solution/playbook-sap-swpm-install.yml.tftpl
@@ -1,7 +1,5 @@
# ------------------------------------------------------------------------
-# This playbook uses:
-# 1. ansible-galaxy collection community.sap_install
-# 2. ansible-galaxy collection community.general
+# This playbook uses the RHEL Linux System Roles.
# ------------------------------------------------------------------------
# Install directory **should not contain** any IMDB files. Otherwise swpm roll will run into error. However exception is IMDB_CLIENT*.SAR file.
# 1. IMDB_SERVER*SAR file must be absent
diff --git a/modules/ansible/variables.tf b/modules/ansible/variables.tf
index d8e08504..a8860fb3 100644
--- a/modules/ansible/variables.tf
+++ b/modules/ansible/variables.tf
@@ -14,6 +14,11 @@ variable "ssh_private_key" {
sensitive = true
}
+variable "configure_ansible_host" {
+ description = "If set to true, bash script will be executed to install and configure the collections and packages on ansible node."
+ type = bool
+}
+
variable "src_script_template_name" {
description = "Name of the bash script template file located within the 'templates-ansible' directory."
type = string
diff --git a/modules/pi-sap-system-type1/README.md b/modules/pi-sap-system-type1/README.md
index 8a663f39..9c52ae0f 100644
--- a/modules/pi-sap-system-type1/README.md
+++ b/modules/pi-sap-system-type1/README.md
@@ -34,10 +34,10 @@ The Power Virtual Server for SAP module automates the following tasks:
| [ansible\_netweaver\_sapmnt\_mount](#module\_ansible\_netweaver\_sapmnt\_mount) | ../ansible | n/a |
| [ansible\_sap\_instance\_init](#module\_ansible\_sap\_instance\_init) | ../ansible | n/a |
| [ansible\_sharefs\_instance\_exportfs](#module\_ansible\_sharefs\_instance\_exportfs) | ../ansible | n/a |
-| [pi\_hana\_instance](#module\_pi\_hana\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.2.1 |
+| [pi\_hana\_instance](#module\_pi\_hana\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.2.3 |
| [pi\_hana\_storage\_calculation](#module\_pi\_hana\_storage\_calculation) | ../pi-hana-storage-config | n/a |
-| [pi\_netweaver\_instance](#module\_pi\_netweaver\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.2.1 |
-| [pi\_sharefs\_instance](#module\_pi\_sharefs\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.2.1 |
+| [pi\_netweaver\_instance](#module\_pi\_netweaver\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.2.3 |
+| [pi\_sharefs\_instance](#module\_pi\_sharefs\_instance) | terraform-ibm-modules/powervs-instance/ibm | 2.2.3 |
### Resources
diff --git a/modules/pi-sap-system-type1/main.tf b/modules/pi-sap-system-type1/main.tf
index 6d695b36..bad80dc4 100644
--- a/modules/pi-sap-system-type1/main.tf
+++ b/modules/pi-sap-system-type1/main.tf
@@ -25,7 +25,7 @@ locals {
module "pi_sharefs_instance" {
source = "terraform-ibm-modules/powervs-instance/ibm"
- version = "2.2.1"
+ version = "2.2.3"
count = var.pi_sharefs_instance.enable ? 1 : 0
pi_workspace_guid = var.pi_workspace_guid
@@ -62,12 +62,13 @@ locals {
module "ansible_sharefs_instance_exportfs" {
- source = "../ansible"
- depends_on = [module.pi_sharefs_instance]
- count = var.pi_sharefs_instance.enable ? 1 : 0
- bastion_host_ip = var.pi_instance_init_linux.bastion_host_ip
- ansible_host_or_ip = var.pi_instance_init_linux.ansible_host_or_ip
- ssh_private_key = var.pi_instance_init_linux.ssh_private_key
+ source = "../ansible"
+ depends_on = [module.pi_sharefs_instance]
+ count = var.pi_sharefs_instance.enable ? 1 : 0
+ bastion_host_ip = var.pi_instance_init_linux.bastion_host_ip
+ ansible_host_or_ip = var.pi_instance_init_linux.ansible_host_or_ip
+ ssh_private_key = var.pi_instance_init_linux.ssh_private_key
+ configure_ansible_host = false
src_script_template_name = "configure-network-services/ansible_exec.sh.tftpl"
dst_script_file_name = "${local.sap_instance_names[count.index]}_configure_nfs_server.sh"
@@ -103,7 +104,7 @@ module "pi_hana_storage_calculation" {
module "pi_hana_instance" {
source = "terraform-ibm-modules/powervs-instance/ibm"
- version = "2.2.1"
+ version = "2.2.3"
pi_workspace_guid = var.pi_workspace_guid
pi_instance_name = local.pi_hana_instance_name
@@ -141,7 +142,7 @@ resource "time_sleep" "wait_1_min" {
module "pi_netweaver_instance" {
source = "terraform-ibm-modules/powervs-instance/ibm"
- version = "2.2.1"
+ version = "2.2.3"
count = var.pi_netweaver_instance.instance_count
depends_on = [time_sleep.wait_1_min]
@@ -173,12 +174,13 @@ locals {
module "ansible_netweaver_sapmnt_mount" {
- source = "../ansible"
- depends_on = [module.ansible_sharefs_instance_exportfs, module.pi_netweaver_instance]
- count = var.pi_sharefs_instance.enable && local.valid_sharefs_nfs_config ? var.pi_netweaver_instance.instance_count : 0
- bastion_host_ip = var.pi_instance_init_linux.bastion_host_ip
- ansible_host_or_ip = var.pi_instance_init_linux.ansible_host_or_ip
- ssh_private_key = var.pi_instance_init_linux.ssh_private_key
+ source = "../ansible"
+ depends_on = [module.ansible_sharefs_instance_exportfs, module.pi_netweaver_instance]
+ count = var.pi_sharefs_instance.enable && local.valid_sharefs_nfs_config ? var.pi_netweaver_instance.instance_count : 0
+ bastion_host_ip = var.pi_instance_init_linux.bastion_host_ip
+ ansible_host_or_ip = var.pi_instance_init_linux.ansible_host_or_ip
+ ssh_private_key = var.pi_instance_init_linux.ssh_private_key
+ configure_ansible_host = true
src_script_template_name = "configure-network-services/ansible_exec.sh.tftpl"
dst_script_file_name = "${local.sap_instance_names[count.index]}_sapmnt_mount.sh"
@@ -208,12 +210,13 @@ locals {
module "ansible_sap_instance_init" {
- source = "../ansible"
- depends_on = [module.pi_hana_instance, module.pi_netweaver_instance, module.ansible_netweaver_sapmnt_mount]
- count = length(local.target_server_ips)
- bastion_host_ip = var.pi_instance_init_linux.bastion_host_ip
- ansible_host_or_ip = var.pi_instance_init_linux.ansible_host_or_ip
- ssh_private_key = var.pi_instance_init_linux.ssh_private_key
+ source = "../ansible"
+ depends_on = [module.pi_hana_instance, module.pi_netweaver_instance, module.ansible_netweaver_sapmnt_mount]
+ count = length(local.target_server_ips)
+ bastion_host_ip = var.pi_instance_init_linux.bastion_host_ip
+ ansible_host_or_ip = var.pi_instance_init_linux.ansible_host_or_ip
+ ssh_private_key = var.pi_instance_init_linux.ssh_private_key
+ configure_ansible_host = false
src_script_template_name = "configure-os-for-sap/ansible_exec.sh.tftpl"
dst_script_file_name = "${local.sap_instance_names[count.index]}_configure_os_for_sap.sh"
diff --git a/reference-architectures/sap-ready-to-go/deploy-arch-ibm-pvs-sap-ready-to-go.md b/reference-architectures/sap-ready-to-go/deploy-arch-ibm-pvs-sap-ready-to-go.md
index 5ce3163f..5a2cd16d 100644
--- a/reference-architectures/sap-ready-to-go/deploy-arch-ibm-pvs-sap-ready-to-go.md
+++ b/reference-architectures/sap-ready-to-go/deploy-arch-ibm-pvs-sap-ready-to-go.md
@@ -2,7 +2,7 @@
copyright:
years: 2024
-lastupdated: "2024-12-02"
+lastupdated: "2024-12-11"
keywords:
subcollection: deployable-reference-architectures
authors:
@@ -16,7 +16,7 @@ use-case: ITServiceManagement
industry: Technology
compliance: SAPCertified
content-type: reference-architecture
-version: v3.2.0
+version: v3.2.1
related_links:
- title: 'SAP in IBM Cloud documentation'
url: 'https://cloud.ibm.com/docs/sap'
@@ -38,7 +38,7 @@ related_links:
{: toc-industry="Technology"}
{: toc-use-case="ITServiceManagement"}
{: toc-compliance="SAPCertified"}
-{: toc-version="3.2.0"}
+{: toc-version="3.2.1"}
The SAP-ready PowerVS variation of the Power Virtual Server for SAP HANA creates a basic and expandable SAP system landscape. The variation builds on the foundation of the VPC landing zone and Power Virtual Server with VPC landing zone. PowerVS instances for SAP HANA, SAP NetWeaver, and optionally for shared SAP files are deployed and preconfigured for SAP installation.
diff --git a/reference-architectures/sap-s4hana-bw4hana/deploy-arch-ibm-pvs-sap-s4hana-bw4hana.md b/reference-architectures/sap-s4hana-bw4hana/deploy-arch-ibm-pvs-sap-s4hana-bw4hana.md
index 550320c7..3e9be1a5 100644
--- a/reference-architectures/sap-s4hana-bw4hana/deploy-arch-ibm-pvs-sap-s4hana-bw4hana.md
+++ b/reference-architectures/sap-s4hana-bw4hana/deploy-arch-ibm-pvs-sap-s4hana-bw4hana.md
@@ -2,7 +2,7 @@
copyright:
years: 2024
-lastupdated: "2024-12-02"
+lastupdated: "2024-12-11"
keywords:
subcollection: deployable-reference-architectures
authors:
@@ -16,7 +16,7 @@ use-case: ITServiceManagement
industry: Technology
compliance: SAPCertified
content-type: reference-architecture
-version: v3.2.0
+version: v3.2.1
related_links:
- title: 'SAP in IBM Cloud documentation'
url: 'https://cloud.ibm.com/docs/sap'
@@ -38,7 +38,7 @@ related_links:
{: toc-industry="Technology"}
{: toc-use-case="ITServiceManagement"}
{: toc-compliance="SAPCertified"}
-{: toc-version="3.2.0"}
+{: toc-version="3.2.1"}
'SAP S/4HANA or BW/4HANA' variation of 'Power Virtual Server for SAP HANA' creates a basic and expandable SAP system landscape built on the foundation of 'Power Virtual Server with VPC landing zone'. PowerVS instances for SAP HANA, SAP NetWeaver, and optionally for shared SAP files are deployed and preconfigured for SAP installation. The S/4HANA or BW/4HANA solution is installed based on the selected version.
diff --git a/solutions/e2e/README.md b/solutions/e2e/README.md
index 9ea479ca..7ba2a6f7 100644
--- a/solutions/e2e/README.md
+++ b/solutions/e2e/README.md
@@ -59,14 +59,14 @@ The end-to-end solution automates the following tasks:
| Name | Source | Version |
|------|--------|---------|
-| [powervs\_infra](#module\_powervs\_infra) | terraform-ibm-modules/powervs-infrastructure/ibm//modules/powervs-vpc-landing-zone | 8.0.1 |
+| [powervs\_infra](#module\_powervs\_infra) | terraform-ibm-modules/powervs-infrastructure/ibm//modules/powervs-vpc-landing-zone | 8.0.3 |
| [sap\_system](#module\_sap\_system) | ../../modules/pi-sap-system-type1 | n/a |
### Resources
| Name | Type |
|------|------|
-| [time_sleep.wait_10_mins](https://registry.terraform.io/providers/hashicorp/time/0.12.1/docs/resources/sleep) | resource |
+| [time_sleep.wait_15_mins](https://registry.terraform.io/providers/hashicorp/time/0.12.1/docs/resources/sleep) | resource |
### Inputs
diff --git a/solutions/e2e/main.tf b/solutions/e2e/main.tf
index f29ad7b6..7685b902 100644
--- a/solutions/e2e/main.tf
+++ b/solutions/e2e/main.tf
@@ -7,7 +7,7 @@
module "powervs_infra" {
source = "terraform-ibm-modules/powervs-infrastructure/ibm//modules/powervs-vpc-landing-zone"
- version = "8.0.1"
+ version = "8.0.3"
providers = { ibm.ibm-is = ibm.ibm-is, ibm.ibm-pi = ibm.ibm-pi, ibm.ibm-sm = ibm.ibm-sm }
@@ -21,11 +21,15 @@ module "powervs_infra" {
configure_ntp_forwarder = var.configure_ntp_forwarder
configure_nfs_server = var.configure_nfs_server
powervs_image_names = ["SLES15-SP5-SAP", "RHEL9-SP2-SAP", "SLES15-SP5-SAP-NETWEAVER", "RHEL9-SP2-SAP-NETWEAVER"]
+ client_to_site_vpn = { enable = false, client_ip_pool = "", vpn_client_access_group_users = [] }
}
-resource "time_sleep" "wait_10_mins" {
- create_duration = "600s"
+
+resource "time_sleep" "wait_15_mins" {
+ create_duration = "900s"
}
+
+
#######################################################
# Power Virtual Server SAP ready-to-go
# Deploy SAP system
@@ -63,7 +67,7 @@ locals {
module "sap_system" {
source = "../../modules/pi-sap-system-type1"
- depends_on = [time_sleep.wait_10_mins]
+ depends_on = [time_sleep.wait_15_mins]
providers = { ibm = ibm.ibm-pi }
prefix = var.prefix
diff --git a/solutions/ibm-catalog/sap-s4hana-bw4hana/main.tf b/solutions/ibm-catalog/sap-s4hana-bw4hana/main.tf
index ba50fd91..b3ad2a31 100644
--- a/solutions/ibm-catalog/sap-s4hana-bw4hana/main.tf
+++ b/solutions/ibm-catalog/sap-s4hana-bw4hana/main.tf
@@ -142,6 +142,7 @@ module "ansible_sap_install_hana" {
bastion_host_ip = local.access_host_or_ip
ansible_host_or_ip = local.ansible_host_or_ip
ssh_private_key = var.ssh_private_key
+ configure_ansible_host = false
ansible_vault_password = var.ansible_vault_password
src_script_template_name = "hanadb/install_hana.sh.tftpl"
@@ -195,6 +196,7 @@ module "ansible_sap_install_solution" {
bastion_host_ip = local.access_host_or_ip
ansible_host_or_ip = local.ansible_host_or_ip
ssh_private_key = var.ssh_private_key
+ configure_ansible_host = false
ansible_vault_password = var.ansible_vault_password
src_script_template_name = "s4hanab4hana-solution/install_swpm.sh.tftpl"
diff --git a/solutions/sap-ready-to-go/README.md b/solutions/sap-ready-to-go/README.md
index bf230885..030c25c0 100644
--- a/solutions/sap-ready-to-go/README.md
+++ b/solutions/sap-ready-to-go/README.md
@@ -37,7 +37,7 @@ The 'sap-ready-to-go' solution automates the following tasks:
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.9.0 |
-| [ibm](#requirement\_ibm) | >= 1.71.3 |
+| [ibm](#requirement\_ibm) | = 1.71.3 |
### Modules
diff --git a/solutions/sap-ready-to-go/version.tf b/solutions/sap-ready-to-go/version.tf
index c8101f45..5a16523f 100644
--- a/solutions/sap-ready-to-go/version.tf
+++ b/solutions/sap-ready-to-go/version.tf
@@ -7,7 +7,7 @@ terraform {
required_providers {
ibm = {
source = "IBM-Cloud/ibm"
- version = ">= 1.71.3"
+ version = "= 1.71.3"
}
}
}