Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
80b5eb2
sap_swpm: add functionality to set specific DDIC and SAP* passwords
Oct 8, 2024
c633d4d
sap_swpm: add functionality to set specific DDIC and SAP* passwords
Oct 8, 2024
631d0ff
fix: Issue 868 fix for SLES4SAP15 SP6
marcelmamula Oct 11, 2024
002afb8
feat: Add new minor version across distribution
marcelmamula Oct 11, 2024
19c7efc
docs: Readme update collection, pacemaker
marcelmamula Sep 24, 2024
40bb207
Docs: Readme update for all roles except swpm
marcelmamula Sep 26, 2024
9a56b6c
First round of adjustments after review
marcelmamula Sep 27, 2024
50aa133
sap_hana_preconfigure: Set THP to madvise from RHEL 9.2 onwards
berndfinger Oct 21, 2024
09c3d77
sap_hana_preconfigure: Also assert the current THP status
berndfinger Oct 24, 2024
6503e1d
sap_hana_preconfigure: Fix typo in THP assert task
berndfinger Oct 24, 2024
3e59f26
sap_hana_preconfigure: Use false instead of no in THP assert tasks
berndfinger Oct 24, 2024
80fb0dd
sap_hana_preconfigure: Also set the current THP state
berndfinger Oct 24, 2024
4fa51e9
collection: Specify minimum version for dependent collections
berndfinger Oct 31, 2024
a172211
collection: Use 9.0.0 for the minimum required community.general version
berndfinger Nov 4, 2024
325a577
sap_swpm: No longer use different execution modes
berndfinger Aug 2, 2024
37bf658
sap_swpm: Improved section markers for inifile
berndfinger Aug 5, 2024
23beead
sap_swpm: Reorganize yml files, part 1
berndfinger Aug 5, 2024
0331724
sap_swpm: Fix task name
berndfinger Aug 6, 2024
0324e41
sap_swpm: Speed up inifile generation if tag is specified
berndfinger Aug 6, 2024
e6e8967
sap_swpm: Integrate the inifile_reuse mode
berndfinger Aug 6, 2024
beb32c2
sap_swpm: Reorganize yml files, part 2
berndfinger Aug 7, 2024
5d80ae7
sap_swpm: Improve variable detection
berndfinger Aug 9, 2024
ecf23d9
sap_swpm: Fix typo in README.md
berndfinger Aug 12, 2024
2d78dac
sap_swpm: Add certain parameter consistency checks
berndfinger Aug 15, 2024
e217e7b
sap_swpm: Adapt README.md
berndfinger Aug 22, 2024
ab21563
sap_swpm: Explain how to migrate playbooks
berndfinger Aug 22, 2024
56bce5e
sap_swpm: Add missing single reverse quote
berndfinger Sep 5, 2024
00f9068
sap_swpm: Repeat PR #850 and solve ansible-lint error
berndfinger Sep 5, 2024
109e728
sap_swpm: Further changes to README.md
berndfinger Sep 5, 2024
8e57dba
sap_swpm: Only mention the `vars:` section for redefining variables
berndfinger Sep 6, 2024
4c5b952
sap_swpm: Recognize sap_swpm_templates_install_dictionary
berndfinger Sep 9, 2024
8f2c211
sap_swpm: No longer define sap_swpm_product_catalog_id...
berndfinger Sep 10, 2024
66ecd47
sap_swpm: Allow undefined or empty sap_swpm_role_parameters_dict
berndfinger Sep 10, 2024
97e0a1e
sap_swpm: Prioritize sap_swpm_templates_install_dictionary members
berndfinger Sep 19, 2024
cfe8f98
sap_swpm: Adapt README.md to new standard
berndfinger Sep 27, 2024
256c2f3
docs: Update readme and add vars section
marcelmamula Oct 3, 2024
cdb5f4f
sap_swpm: Use sap_maintain_etc_hosts role; use booleans
berndfinger Oct 21, 2024
6ad2e85
sap_swpm: Add support for HA virtual hostname resolution
berndfinger Oct 28, 2024
e448e69
sap_swpm: remove roles/sap_swpm/requirements.yml
berndfinger Oct 31, 2024
7d1ff33
sap_swpm: Implement changes requested for virtual IP checks
berndfinger Nov 4, 2024
e62a829
sap_swpm: Run the virtual IP checks before the swpm_prepare tasks
berndfinger Nov 4, 2024
71a7811
sap_swpm: Perform additional assertions for the install type
berndfinger Nov 4, 2024
c50558d
sap_swpm: Do not include the installation type file for default case
berndfinger Nov 5, 2024
16e6157
sap_swpm: Skip comments in /etc/hosts check
berndfinger Nov 6, 2024
c1c4368
sap_swpm: Fix /etc/hosts ip address resolution
berndfinger Nov 6, 2024
0f087c4
sap_swpm: Improve the fail message for virt hostname resolution
berndfinger Nov 6, 2024
b0c7b60
sap_hana_preconfigure: Allow setting THP to any possible value
berndfinger Nov 8, 2024
4fb4e6a
sap_hana_preconfigure: No longer set net.core.somaxconn in RHEL 9
berndfinger Nov 15, 2024
936f291
sap_netweaver_preconfigure: Sync with applicable SAP notes for Adobe DS
berndfinger Nov 18, 2024
f7679f7
sap_hana_preconfigure: Add compat-sap-c++-13
berndfinger Nov 22, 2024
3a4affb
sap_swpm: add functionality to set specific DDIC and SAP* passwords
Oct 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 120 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,143 @@

![Ansible Lint](https://github.com/sap-linuxlab/community.sap_install/actions/workflows/ansible-lint.yml/badge.svg?branch=main)

This Ansible Collection executes various SAP Software installations and configuration tasks for running various SAP solutions and deployment scenarios on Linux operating systems (RHEL or SLES).
## Description

This includes handlers for SAP HANA database lifecycle manager (HDBLCM) and SAP Software Provisioning Manager (SWPM), and can be combined with other Ansible Collections to provide end-to-end automation _(e.g. provision, download, install, operations)_.
This Ansible Collection executes various SAP Software installations and configuration tasks for various SAP solutions and deployment scenarios on supported Linux operating systems.

Included roles cover range of tasks:
- Preparation of Operating system and SAP installation media before installation
- Installation of SAP Database, either SAP HANA or Oracle Database
- Installation of SAP Products, like SAP S4HANA, SAP BW4HANA, SAP Netweaver, SAP Solution Manager and others.
- Configuration of replication of SAP HANA and High Availability clusters for SAP HANA and SAP Netweaver

**Examples of verified installations include:**

## Requirements

### Control Nodes
Operating system:
- Any operating system with required Python and Ansible versions.

Python: 3.11 or higher

Ansible: 9.9.x

Ansible-core: 2.16.x

**NOTE: Ansible 10 and ansible-core 2.17.x are not supported, because of breaking changes requiring higher Python version on managed nodes.**

### Managed Nodes
Operating system:
- SUSE Linux Enterprise Server for SAP applications 15 SP5+ (SLE4SAP)
- Red Hat Enterprise Linux for SAP Solutions 8.x 9.x (RHEL4SAP)

**NOTE: Operating system needs to have access to required package repositories either directly or via subscription registration.**


Python: 3.6 or higher


## Installation Instructions

### Installation
Install this collection with Ansible Galaxy command:
```console
ansible-galaxy collection install community.sap_install
```

Optionally you can include collection in requirements.yml file and include it together with other collections using: `ansible-galaxy collection install -r requirements.yml`
Requirements file need to be maintained in following format:
```yaml
collections:
- name: community.sap_install
```

### Upgrade
Installed Ansible Collection will not be upgraded automatically when Ansible package is upgraded.

To upgrade the collection to the latest available version, run the following command:
```console
ansible-galaxy collection install community.sap_install --upgrade
```

You can also install a specific version of the collection, when you encounter issues with latest version. Please report these issues in affected Role repository if that happens.
Example of downgrading collection to version 1.4.0:
```
ansible-galaxy collection install community.sap_install:==1.4.0
```

See [Installing collections](https://docs.ansible.com/ansible/latest/collections_guide/collections_installing.html) for more details on installation methods.


## Use Cases

### Example Scenarios
- Preparation of Operating system for SAP installation
- Preparation of SAP installation media for SAP installation
- Installation of SAP HANA (including High Availability with replication) or Oracle Database
- Installation of SAP S4HANA or other SAP products
- Configuration of Pacemaker cluster for SAP HANA and SAP Netweaver

More deployment scenarios are available in [ansible.playbooks_for_sap](https://github.com/sap-linuxlab/ansible.playbooks_for_sap) repository.

### Ansible Roles
All included roles can be executed independently or as part of [ansible.playbooks_for_sap](https://github.com/sap-linuxlab/ansible.playbooks_for_sap) playbooks.

| Name | Summary |
| :--- | :--- |
| [sap_anydb_install_oracle](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_anydb_install_oracle) | Install Oracle DB 19.x for SAP |
| [sap_general_preconfigure](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_general_preconfigure) | Configure general OS settings for SAP software |
| [sap_ha_install_hana_hsr](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_ha_install_hana_hsr) | Configure and enable SAP HANA System Replication |
| [sap_ha_pacemaker_cluster](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_ha_pacemaker_cluster) | Configure Pacemaker cluster for SAP HANA and SAP Netweaver |
| [sap_hana_install](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_hana_install) | Install SAP HANA via HDBLCM |
| [sap_hana_preconfigure](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_hana_preconfigure) | Configure OS settings for SAP HANA database server |
| [sap_hostagent](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_hostagent) | Install SAP Host Agent |
| [sap_install_media_detect](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_install_media_detect) | Detect and extract SAP Software installation media |
| [sap_maintain_etc_hosts](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_maintain_etc_hosts) | Maintain the /etc/hosts file of an SAP software host |
| [sap_netweaver_preconfigure](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_netweaver_preconfigure) | Configure OS settings for SAP NetWeaver application server |
| [sap_storage_setup](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_storage_setup) | Configure storage for SAP system (Folder structure, LVM, XFS, NFS) |
| [sap_swpm](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_swpm) | Install SAP Software via SWPM |


## Testing
This Ansible Collection was tested across different Operating Systems, SAP products and scenarios. You can find examples of some of them below.

Operating systems:
- SUSE Linux Enterprise Server for SAP applications 15 SP5+ (SLE4SAP)
- Red Hat Enterprise Linux for SAP Solutions 8.x 9.x (RHEL4SAP)

Deployment scenarios:
- All scenarios included in [ansible.playbooks_for_sap](https://github.com/sap-linuxlab/ansible.playbooks_for_sap) repository

SAP Products:
- SAP S/4HANA AnyPremise (1809, 1909, 2020, 2021, 2022, 2023) with setup as Standard, Distributed, High Availability and optional Maintenance Planner or Restore System Copy
- SAP Business Suite (ECC) on HANA and SAP Business Suite (ECC) with SAP AnyDB - SAP ASE, SAP MaxDB, IBM Db2, Oracle DB
- SAP BW/4HANA (2021, 2023) with setup as Standard or Scale-Out
- SAP HANA 2.0 (SPS04+) with setup as Scale-Up, Scale-Out, High Availability
- Other SAP installation activities; such as System Rename, System Copy Export, SAP Solution Manager and SAP Web Dispatcher

**NOTE: It is not possible to test every Operating System and SAP Product combination with every release. Testing is regularly done for common scenarios: SAP HANA, SAP HANA HA, SAP S4HANA Distributed HA**

**Please read the [full documentation](/docs#readme) for how-to guidance, requirements, and all other details. Summary documentation is below:**
## Contributing
You can find more information about ways you can contribute at [sap-linuxlab website](https://sap-linuxlab.github.io/initiative_contributions/).


## Contents
## Support
You can report any issues using [Issues](https://github.com/sap-linuxlab/community.sap_install/issues) section.

Within this Ansible Collection, there are various Ansible Roles and no custom Ansible Modules.

### Ansible Roles
## Release Notes and Roadmap
You can find the release notes of this collection in [Changelog file](https://github.com/sap-linuxlab/community.sap_install/blob/main/CHANGELOG.rst)

| Name | Summary |
| :--- | :--- |
| [sap_anydb_install_oracle](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_anydb_install_oracle) | install Oracle DB 19.x for SAP |
| [sap_general_preconfigure](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_general_preconfigure) | configure general OS settings for SAP software |
| [sap_ha_install_hana_hsr](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_ha_install_hana_hsr) | install SAP HANA System Replication |
| [sap_ha_pacemaker_cluster](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_ha_pacemaker_cluster) | install and configure pacemaker and SAP resources |
| [sap_hana_install](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_hana_install) | install SAP HANA via HDBLCM |
| [sap_hana_preconfigure](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_hana_preconfigure) | configure settings for SAP HANA database server |
| [sap_hostagent](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_hostagent) | install SAP Host Agent |
| [sap_install_media_detect](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_install_media_detect) | detect and extract SAP Software installation media |
| [sap_maintain_etc_hosts](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_maintain_etc_hosts) | maintain the /etc/hosts file of an SAP software host |
| [sap_netweaver_preconfigure](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_netweaver_preconfigure) | configure settings for SAP NetWeaver application server |
| [sap_storage_setup](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_storage_setup) | configure storage for SAP HANA, with LVM partitions and XFS filesystem |
| [sap_swpm](https://github.com/sap-linuxlab/community.sap_install/tree/main/roles/sap_swpm) | install SAP Software via SWPM |

## License
## Further Information

- [Apache 2.0](./LICENSE)
### Variable Precedence Rules
Please follow [Ansible Precedence guidelines](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable) on how to pass variables when using this collection.

## Contributors
### Getting Started
More information on how to execute Ansible playbooks is in [Getting started guide](https://github.com/sap-linuxlab/community.sap_install/blob/main/docs/getting_started/README.md).

Contributors to the Ansible Roles within this Ansible Collection, are shown within [/docs/contributors](./docs/CONTRIBUTORS.md).

## License
[Apache 2.0](https://github.com/sap-linuxlab/community.sap_install/blob/main/LICENSE)
Loading