Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
28b0805
update image fragments to align with sap_infrastructure 118
marcelmamula Sep 3, 2025
38a6bbe
update readme with copy restore for S4H for issue 83
marcelmamula Sep 3, 2025
882b8ad
Merge pull request #85 from marcelmamula/sles_images
marcelmamula Sep 3, 2025
c35a765
Merge pull request #86 from marcelmamula/issue83
marcelmamula Sep 3, 2025
405d782
update storage definition dictionary for existing hosts
marcelmamula Sep 10, 2025
cae626e
update vars to boolean to remove need for bool templating
marcelmamula Sep 10, 2025
971fd9e
comment out optional platform variables
marcelmamula Sep 10, 2025
2304a98
enhance asserts, replace hostvars validation with varnames, conditionals
marcelmamula Sep 10, 2025
10b3aa6
fix wrong jinja pipe for scaleout string
marcelmamula Sep 17, 2025
3738c57
Merge pull request #88 from marcelmamula/2.19
marcelmamula Sep 19, 2025
2c014c0
update linting and sanity workflows to align with project
marcelmamula Oct 8, 2025
990cbc7
Merge pull request #89 from marcelmamula/workflows
marcelmamula Oct 8, 2025
03e972c
bump requirements versions to support 2.19 and fix hana_ha variable
marcelmamula Oct 31, 2025
598c1d7
update requirements for vendor collections
marcelmamula Oct 31, 2025
521240c
update sap_install to 1.8.0 and fix string for ibm
marcelmamula Jan 12, 2026
6de20b3
Merge pull request #90 from marcelmamula/2.19part2
marcelmamula Jan 12, 2026
312f4eb
add sles16 images
marcelmamula Jan 12, 2026
4b8a235
Merge pull request #91 from marcelmamula/sles16images
marcelmamula Jan 12, 2026
634ac2d
update contributors list using script
marcelmamula Jan 12, 2026
366efb2
Merge pull request #92 from marcelmamula/contributors
marcelmamula Jan 12, 2026
1212da5
update ibm vars for clarity
marcelmamula Jan 13, 2026
885e748
Merge pull request #94 from marcelmamula/ibm
marcelmamula Jan 13, 2026
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
55 changes: 8 additions & 47 deletions .github/workflows/ansible-lint.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---

name: ansible-lint of the ansible playbooks for sap
name: Ansible Lint

on:
# Runs at 10:10 on every Monday
Expand All @@ -27,51 +27,12 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Check out the code
uses: actions/checkout@v4
with:
path: repo_playbooks
- uses: actions/checkout@v5

- name: Set up Python 3
uses: actions/setup-python@v5
# Use @v25 to automatically track the latest release from the year 2025.
# ansible-lint uses Calendar Versioning (e.g., v25.9.0 -> YYYY.MM.PATCH).
# Avoid using @main, which can introduce breaking changes unexpectedly.
- uses: ansible/ansible-lint@v25
with:
python-version: '3.12'

- name: Install dependencies for Python
run: |
pip3 install --upgrade pip
pip3 install ansible==11.4.0
pip3 install ansible-compat==4.1.11
pip3 install ansible-core==2.18.4
pip3 install ansible-lint==25.2.1

# dev branch is using shared fragments
- name: Install dependencies for Ansible (dev)
working-directory: repo_playbooks
if: github.ref == 'refs/heads/dev'
run: |
ansible-galaxy collection install -r ./common_fragments/ansible_requirements.yml

# main branch is using:
# - deploy_scenarios/sap_hana if file exists
# - else first scenario with ansible_requirements.yml
- name: Install dependencies for Ansible (main)
working-directory: repo_playbooks
if: github.ref == 'refs/heads/main'
run: |
if [ -f ./deploy_scenarios/sap_hana/ansible_requirements.yml ]; then
ansible-galaxy collection install -r ./deploy_scenarios/sap_hana/ansible_requirements.yml
else
first_file=$(find ./deploy_scenarios/ -name ansible_requirements.yml -print -quit)
if [ -n "$first_file" ]; then
echo "Using $first_file"
ansible-galaxy collection install -r "$first_file"
else
echo "No ansible_requirements.yml found in deploy_scenarios"
exit 1
fi
fi

- name: Run ansible-lint
working-directory: repo_playbooks
run: ansible-lint
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./common_fragments/ansible_requirements.yml
10 changes: 2 additions & 8 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@
name: CodeSpell

on:
# Runs on push and pull request to dev
push:
branches:
- dev
pull_request:
branches:
- dev

# Enable manual start button
workflow_dispatch:

jobs:
Expand All @@ -19,13 +17,9 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Check out the code
uses: actions/checkout@v4
with:
path: repo_playbooks
- uses: actions/checkout@v5

- uses: codespell-project/actions-codespell@v2
with:
path: repo_playbooks
# lowercase only
ignore_words_list: aas,iterm,daa
ignore_words_list: aas,hsa,te,chage,addopt,sybsystem,uptodate,iterm,daa
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,5 @@ __pycache__/
# VSCode
.vscode

# Ignore ansible workspace
.ansible
30 changes: 30 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Contributors to Ansible Playbooks for SAP

Thank you to all contributors who have helped make this project possible!

We welcome contributions! Please see our [contributing guidelines](https://sap-linuxlab.github.io/initiative_contributions/) to get started.

## Maintainers

The following people are the maintainers of this collection:

### Red Hat

- [Janine Fuchs](https://github.com/ja9fuchs)

### SUSE

- [Marcel Mamula](https://github.com/marcelmamula)


For specific role maintainers, see the `README.md` file in the corresponding role's directory.

## All Contributors

| Name | Commits | Lines Changed | Last Commit |
| ---- | ------- | ------------- | ----------- |
| [Sean Freeman](https://github.com/sean-freeman) | 144 | 241528 | 2025-06-20 |
| [Marcel Mamula](https://github.com/marcelmamula) | 79 | 142260 | 2026-01-12 |
| [Gabriele Puliti](https://github.com/Wabri) | 1 | 68 | 2024-06-12 |
| [Janine Fuchs](https://github.com/ja9fuchs) | 1 | 4 | 2024-04-15 |

13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The Ansible Playbooks for SAP offer several key benefits:
| --- | --- | --- | --- |
| SAP HANA | 2.0 SPS 08<br> 2.0 SPS 07<br> 2.0 SPS 06 | Sandbox<br> Scale-Out <br> Scale-Up High Availability | SAP HANA |
| SAP BW/4HANA | 2023<br> 2021 | Sandbox<br> Scale-Out | SAP HANA |
| SAP S/4HANA | 2023<br> 2022<br> 2021<br> 2020 | Sandbox<br> Standard<br> Distributed<br> Distributed with High Availability | SAP HANA |
| SAP S/4HANA | 2023<br> 2022<br> 2021<br> 2020 | Sandbox<br> Sandbox (System Copy restore)<br> Standard<br> Distributed<br> Distributed with High Availability | SAP HANA |
| SAP S/4HANA<br> Maintenance Plan | Any version - Defined by Maintenance Plan</br> Includes latest FPS and security patches | Sandbox<br> Standard<br> Distributed<br> Distributed with High Availability | SAP HANA |
| SAP S/4HANA Foundation | 2023<br> 2022<br> 2021 | Sandbox<br> Standard | SAP HANA |
| SAP Landscape for SAP S/4HANA | 2023<br> 2022<br> 2021<br> 2020 | 3-System Standard | SAP HANA |
Expand Down Expand Up @@ -172,11 +172,12 @@ Potential issues:
- To avoid issues, use the playbooks on fresh systems or ensure thorough cleanup of any previous SAP installations.


## License
[Apache 2.0](./LICENSE)
## Contributing
For information on how to contribute, please see our [contribution guidelines](https://sap-linuxlab.github.io/initiative_contributions/).<br>
You can find more information about repository specific guidelines at [How to contribute](./docs/CONTRIBUTING.md).

## Contributors
Key contributors are shown within the [contributors](./docs/CONTRIBUTORS.md) file.
We welcome contributions to this collection. For a list of all contributors and information on how you can get involved, please see our [CONTRIBUTORS document](./CONTRIBUTORS.md).

## Contributing
You can find more information about ways you can contribute at [How to contribute](./docs/CONTRIBUTING.md).
## License
[Apache 2.0](./LICENSE)
47 changes: 18 additions & 29 deletions common_fragments/ansible_requirements.yml
Original file line number Diff line number Diff line change
@@ -1,67 +1,56 @@
---
# Update for ansible-core 2.19:
# - SAP linux-lab collections were updated for 2.19.
# - Vendor collections were raised to version included in Ansible 12.

collections:

# Collections from Ansible Galaxy
- name: community.general
type: galaxy
version: 10.1.0
version: ">=11.2.1"
- name: fedora.linux_system_roles
type: galaxy
version: 1.100.0
version: ">=1.100.0"
- name: community.sap_install
type: galaxy
version: 1.5.3
version: ">=1.8.0"
- name: community.sap_launchpad
type: galaxy
version: 1.2.1
version: ">=1.3.0"
- name: community.sap_infrastructure
type: galaxy
version: 1.1.3
# - name: community.sap_operations
# type: galaxy
# version: 0.9.1
version: ">=1.3.0"

# Collections for Infrastructure from Ansible Galaxy
- name: cloud.terraform
type: galaxy
version: 3.0.0
version: ">=4.0.0"
- name: amazon.aws
type: galaxy
version: 9.0.0
version: ">=10.1.0"
- name: community.aws
type: galaxy
version: 9.0.0
version: ">=10.0.0"
- name: azure.azcollection
type: galaxy
version: 3.2.0
version: ">=3.8.0"
- name: google.cloud
type: galaxy
version: 1.5.0
version: ">=1.7.0"
# Replace with ibm.cloud in future, legacy Ansible Collection uses hidden on-the-fly Terraform files in /var/tmp/ansible/ibmcloud)
- name: ibm.cloudcollection
type: galaxy
version: 1.71.2
version: "1.71.2"
- name: ovirt.ovirt
type: galaxy
version: 3.2.0
version: ">=3.2.1"
- name: openstack.cloud
type: galaxy
version: 2.4.0
version: ">=2.4.1"
- name: vmware.vmware_rest
type: galaxy
version: 4.5.0
version: ">=4.9.0"
- name: cloud.common
type: galaxy
version: 4.0.0

# Collections from public repositories via HTTPS
# - name: https://github.com/sap-linuxlab/community.sap_install.git
# type: git
# version: dev

# Collections from private repositories via use SSH (embedded GitHub PAT does not work)
# Used for customised/forked Ansible Collections
# - name: git@github.domain.com:gheorg/namespace.sap_install.git
# type: git
# version: main
version: ">=5.0.0"
4 changes: 2 additions & 2 deletions common_fragments/tasks/interactive/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@
register: sap_playbook_collection_list_output

- name: Block for sap_id_user
when: sap_playbook_collection_list_output.stdout_lines | select('search', 'community.sap_launchpad')
when: sap_playbook_collection_list_output.stdout_lines | select('search', 'community.sap_launchpad') | length > 0
no_log: true
block:
- name: Prompt for SAP S-User ID
Expand Down Expand Up @@ -343,7 +343,7 @@


- name: Block for sap_id_user_password
when: sap_playbook_collection_list_output.stdout_lines | select('search', 'community.sap_launchpad')
when: sap_playbook_collection_list_output.stdout_lines | select('search', 'community.sap_launchpad') | length > 0
no_log: true
block:
- name: Prompt for SAP S-User Password
Expand Down
32 changes: 17 additions & 15 deletions common_fragments/vars/platform_images_aws_ec2_vs.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
#### Ansible dictionary for operating system images ####
sap_vm_provision_aws_ec2_vs_host_os_image_dictionary:
# Red Hat
rhel-8-1: "*RHEL-8.1*_HVM*x86_64*"
# rhel-8-2: "*RHEL-8.2*_HVM*x86_64*" # removed
rhel-8-4: "*RHEL-8.4*_HVM*x86_64*"
rhel-8-6: "*RHEL-8.6*_HVM*x86_64*"
rhel-8-8: "*RHEL-8.8*_HVM*x86_64*"
Expand All @@ -12,14 +12,6 @@ sap_vm_provision_aws_ec2_vs_host_os_image_dictionary:
rhel-9-2: "*RHEL-9.2*_HVM*x86_64*"
rhel-9-3: "*RHEL-9.3*_HVM*x86_64*"
rhel-9-4: "*RHEL-9.4*_HVM*x86_64*"
sles-12-5: "*suse-sles-12-sp5-v202*-hvm-ssd-x86_64*"
# sles-15-2: "*suse-sles-15-sp2-v202*-hvm-ssd-x86_64*" # removed
# sles-15-3: "*suse-sles-15-sp3-v202*-hvm-ssd-x86_64*" # removed
# sles-15-4: "*suse-sles-15-sp4-v202*-hvm-ssd-x86_64*" # removed
sles-15-5: "*suse-sles-15-sp5-v202*-hvm-ssd-x86_64*"
sles-15-6: "*suse-sles-15-sp6-v202*-hvm-ssd-x86_64*"
# rhel-7-7-sap-ha: "*RHEL-SAP-8.1.0*" # removed
# rhel-7-9-sap-ha: "*RHEL-SAP-8.1.0*" # removed
rhel-8-1-sap-ha: "*RHEL-SAP-8.1.0*"
rhel-8-2-sap-ha: "*RHEL-SAP-8.2.0*"
rhel-8-4-sap-ha: "*RHEL-SAP-8.4.0*"
Expand All @@ -29,13 +21,23 @@ sap_vm_provision_aws_ec2_vs_host_os_image_dictionary:
rhel-9-0-sap-ha: "*RHEL-SAP-9.0.0*"
rhel-9-2-sap-ha: "*RHEL-SAP-9.2.0*"
rhel-9-4-sap-ha: "*RHEL-SAP-9.4.0*"
sles-12-5-sap-ha: "*suse-sles-sap-12-sp5-v202*-hvm-ssd-x86_64*"
sles-15-1-sap-ha: "*suse-sles-sap-15-sp1-v202*-hvm-ssd-x86_64*"
sles-15-2-sap-ha: "*suse-sles-sap-15-sp2-v202*-hvm-ssd-x86_64*"
sles-15-3-sap-ha: "*suse-sles-sap-15-sp3-v202*-hvm-ssd-x86_64*"
sles-15-4-sap-ha: "*suse-sles-sap-15-sp4-v202*-hvm-ssd-x86_64*"

# SUSE - Pay-as-you-go (PAYG)
sles-15-5: "*suse-sles-15-sp5-v202*-hvm-ssd-x86_64*"
sles-15-5-sap-ha: "*suse-sles-sap-15-sp5-v202*-hvm-ssd-x86_64*"
sles-15-6: "*suse-sles-15-sp6-v202*-hvm-ssd-x86_64*"
sles-15-6-sap-ha: "*suse-sles-sap-15-sp6-v202*-hvm-ssd-x86_64*"
sles-15-4-sap-ha-byos: "*suse-sles-sap-15-sp4-byos-v202*-hvm-ssd-x86_64*"
sles-15-7: "*suse-sles-15-sp7-v202*-hvm-ssd-x86_64*"
sles-15-7-sap-ha: "*suse-sles-sap-15-sp7-v202*-hvm-ssd-x86_64*"
sles-16-0: "*suse-sles-16-0-v202*-hvm-ssd-x86_64*"
sles-16-0-sap-ha: "*suse-sles-sap-16-0-v202*-hvm-ssd-x86_64*"

# SUSE - Bring-your-own-subscription (BYOS)
sles-15-5-byos: "*suse-sles-15-sp5-byos-v202*-hvm-ssd-x86_64*"
sles-15-5-sap-ha-byos: "*suse-sles-sap-15-sp5-byos-v202*-hvm-ssd-x86_64*"
sles-15-6-byos: "*suse-sles-15-sp6-byos-v202*-hvm-ssd-x86_64*"
sles-15-6-sap-ha-byos: "*suse-sles-sap-15-sp6-byos-v202*-hvm-ssd-x86_64*"
sles-15-7-byos: "*suse-sles-15-sp7-byos-v202*-hvm-ssd-x86_64*"
sles-15-7-sap-ha-byos: "*suse-sles-sap-15-sp7-byos-v202*-hvm-ssd-x86_64*"
sles-16-0-byos: "*suse-sles-16-0-byos-v202*-hvm-ssd-x86_64*"
sles-16-0-sap-ha-byos: "*suse-sles-sap-16-0-byos-v202*-hvm-ssd-x86_64*"
Loading
Loading