Skip to content

all: Update all scenarios with new fragments and new workflow #59

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
May 28, 2025
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
cebe00f
bw4hana scenarios updated
marcelmamula Apr 15, 2025
7e348f7
bw4hana scenario fixes
marcelmamula Apr 17, 2025
1dd0577
add ecc hana and bw4hana fixes
marcelmamula Apr 17, 2025
0bfb2a0
add ibmdb2 scenarios
marcelmamula Apr 25, 2025
2d25c1f
add anydb sandbox scenarios
marcelmamula Apr 25, 2025
cc1c54a
add hana scenarios and bw4h fixes
marcelmamula Apr 25, 2025
f046fc6
add solman
marcelmamula Apr 29, 2025
ddd9aa3
hana scaleout and fixes
marcelmamula Apr 29, 2025
d3e37cf
ides ecc
marcelmamula Apr 29, 2025
bdf484d
s4hana landscape
marcelmamula Apr 29, 2025
61dbdea
nwas scenarios
marcelmamula Apr 29, 2025
8a6b792
s4hana scenarios
marcelmamula Apr 29, 2025
6d140b3
readme update for all scenarios
marcelmamula Apr 30, 2025
2bf9856
special actions updated
marcelmamula May 5, 2025
0e635fe
special actions linting fixes
marcelmamula May 5, 2025
4bfcd83
update media software versions
marcelmamula May 19, 2025
a598672
Add playbook fixes for DB2, Oracle and Landscape
marcelmamula May 19, 2025
4415063
remove interactive prompts from unsupported scenarios
marcelmamula May 20, 2025
9873e01
ensure netweaver preconfigure also triggers update and reboot, if needed
marcelmamula May 26, 2025
83098d4
new ASCS ERS cluster special action scenario for test purpose
marcelmamula May 26, 2025
22ca686
update all HA scenarios with updated variables and readme cluster det…
marcelmamula May 26, 2025
044e48f
rename ascs ers cluster scenario and add handling for internal scenarios
marcelmamula May 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
116 changes: 94 additions & 22 deletions deploy_scenarios/sap_bw4hana_sandbox/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
# Ansible Playbook - SAP BW/4HANA Sandbox installation
# Ansible Playbook for SAP BW/4HANA - Sandbox Installation

This Ansible Playbook can be executed with:
- Ansible to provision hosts
- Ansible + Terraform to provision hosts
- Existing hosts
## Overview

This Ansible Playbook automates the deployment of an SAP BW/4HANA in a single-host environment.

A single-host system, as defined by SAP, consolidates all SAP Database and SAP ABAP Platform instances onto a single host.

This configuration, often referred to as a Two-Tier Architecture, OneHost, or Central System, is ideal for development, testing, and demonstration purposes.


## Supported Infrastructure Platforms
This Ansible Playbook supports the deployment on the following infrastructure platforms:

This Ansible Playbook can be targeted at the following Infrastructure Platforms:
- Amazon Web Services (AWS)
- Google Cloud Platform (GCP)
- IBM Cloud
Expand All @@ -15,27 +21,93 @@ This Ansible Playbook can be targeted at the following Infrastructure Platforms:
- OVirt
- VMware

SAP BW/4HANA installation:
- Sandbox System definition by SAP: all SAP HANA and SAP NetWeaver instances run on a single host.
- System Topology/Architecture: a Sandbox System is commonly referred as Two-Tier Architecture, may also be known as OneHost or Central System.

SAP BW/4HANA software versions:
2023, 2021
## Supported SAP Software
This playbook includes support for the following software versions:
- SAP BW/4HANA 2023
- SAP BW/4HANA 2021

Additional versions can be supported by adding new entries to the `sap_software_install_dictionary` variable in the extravars file.


## System Architecture
Upon successful execution, this Ansible Playbook will provision the following host(s) (unless an Ansible Inventory is provided for existing host(s)):
| Count | Component(s) |
| --- | --- |
| 1 | SAP HANA Database Server<br> SAP ABAP Platform - Central Services (ASCS)<br> SAP ABAP Platform - Primary Application Server (PAS) |


## Playbook Execution
Before running the playbook, please read the main [README](https://github.com/sap-linuxlab/ansible.playbooks_for_sap/blob/main/README.md) for detailed instructions, prerequisites, and best practices.

### Provisioning and Installation
This method provisions a new host(s) and installs the SAP system.

1. **Prepare the `ansible_extravars.yml` file:** This file contains the configuration for the SAP system.
2. **Prepare the infrastructure-specific `ansible_extravars_*.yml` file:** This file contains the configuration for the target infrastructure.
3. **Execute the playbook:** Run the following command.

```bash
ansible-playbook ansible_playbook.yml \
--extra-vars "@./ansible_extravars.yml" \
--extra-vars "@./ansible_extravars_aws_ec2_vs.yml"
```

### Installation on Existing Hosts
This method is used to install the SAP system on an existing host(s).

1. **Prepare the `ansible_extravars.yml` file:** This file contains the configuration for the SAP system.
2. **Prepare the `optional/ansible_extravars_existing_hosts.yml` file:** This file contains the configuration for the existing host(s).
3. **Prepare the `optional/ansible_inventory_noninteractive.yml` file:** Ensure that your inventory file is properly configured to target the existing host.
4. **Execute the playbook:** Run the following command.

```bash
ansible-playbook ansible_playbook.yml \
--extra-vars "@./ansible_extravars.yml" \
--extra-vars "@./optional/ansible_extravars_existing_hosts.yml" \
--inventory "./optional/ansible_inventory_noninteractive.yml"
```

### Interactive Execution
This method allows you to provide input during the execution of the playbook.

1. **Prepare the `optional/ansible_extravars_interactive.yml` file:** This file contains the essential set of variables for initiating Interactive Prompts.
2. **Execute the playbook:** Run the following command.

```bash
ansible-playbook ansible_playbook.yml \
--extra-vars "@./optional/ansible_extravars_interactive.yml"
```


## Deployment Process
The playbook executes the following sequence of tasks:

### Pre-Installation Tasks

1. **Collect User Inputs (Conditional):** If the `ansible_extravars_interactive.yml` file is used, the playbook will prompt for user input to gather necessary configuration details.

2. **Provision Infrastructure (Conditional):** If the `sap_vm_provision_iac_type` variable is not set to `existing_hosts`, the playbook will provision the necessary infrastructure.

---
3. **Configure Storage:** The `sap_install.sap_storage_setup` Ansible Role is used to configure the required storage.

## Execution of Ansible Playbook
4. **Download SAP Installation Media (Conditional):** If the `community.sap_launchpad` Ansible Collection is present on execution node, the playbook will download the necessary SAP installation media.

Prior to execution, please read the [full documentation of the Ansible Playbooks for SAP](../../docs/README.md) for the capabilities and different execution methods.
5. **Configure Operating System:** The following Ansible Roles are used to configure the operating system and update `/etc/hosts`, followed by a system reboot:
- `sap_install.sap_general_preconfigure`
- `sap_install.sap_hana_preconfigure`
- `sap_install.sap_netweaver_preconfigure`

## Execution outcome
### SAP Database Installation

When executing this Ansible Playbook for SAP, the following hosts are provisioned (unless an Ansible Inventory is provided for existing hosts):
1. Host for SAP HANA Database Server and SAP NetWeaver Application Server (ABAP) - Central Services (ASCS) and Primary Application Server (PAS)
6. **Install SAP HANA Database:** The `hdblcm` tool is used to install the SAP HANA Database.
- **Detect Installation Media:** The `sap_install.sap_install_media_detect` Ansible Role is used to detect the provided SAP installation media.
- **Install Database:** The `sap_install.sap_hana_install` Ansible Role is used to install the database.

The sequence of a Standard System installation is:
- `hdblcm`: Install SAP HANA database server
- `SWPM`: Install SAP NetWeaver Application Server (ABAP) and Installation Export to Database (i.e. Database Load)
### SAP BW/4HANA Installation

This therefore matches to the SAP SWPM Product ID prefixes that are executed in sequence:
- `NW_ABAP_OneHost`, Central Services, Database Instance Installation, Primary Application Server
7. **Install SAP BW/4HANA:** The `SWPM` tool is used to install the SAP application.
- **Detect Installation Media:** The `sap_install.sap_install_media_detect` Ansible Role is used to detect the provided SAP installation media.
- **Install Application:** The `sap_install.sap_swpm` Ansible Role is used to install the application.
- **SAP SWPM Product ID Prefix:** `NW_ABAP_OneHost`
- Includes Database Load using Installation Export files.
Loading