Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
3302e82
my fix to issue#30
crweller May 12, 2025
366b6dd
prepare.yml: shorten ong line
crweller May 19, 2025
58a17b4
Merge pull request #34 from crweller/dev
rhmk Jul 22, 2025
bca6077
Fixing ignored sap_sid parameter
nbttmbrg Jul 21, 2025
25ec333
Adding changelog fragment
nbttmbrg Jul 21, 2025
b177316
Merge pull request #39 from oxya-dev/bugfix/passed_sid_is_ignored
marcelmamula Aug 21, 2025
67704a1
Fix restart issue by initializing variable sorted_sap_facts when prep…
crweller Sep 8, 2025
4afa432
remove non-sap roles
marcelmamula Sep 9, 2025
c53e59f
Add SAP System-level Function Support with Asynchronous Status Tracki…
nbttmbrg Jul 18, 2025
1cecfd6
Changelog fragment
nbttmbrg Jul 21, 2025
3cb3cd2
Adding *system_sap_nw functions to act only on selected SID
nbttmbrg Jul 21, 2025
57b6a3d
Removing failed_when: false from async polling
nbttmbrg Jul 22, 2025
89ba23e
Signed-off-by: Nicolas Bettembourg <nbettembourg@oxya.com>
nbttmbrg Jul 23, 2025
577b25c
* Fix incompatibilities with Ansible 2.19
nbttmbrg Sep 11, 2025
e20db3f
remove additional roles after agreement
marcelmamula Dec 3, 2025
542e68b
feat: rework sap_firewall role
marcelmamula Dec 5, 2025
7a511f9
quiet loop spam, improve labels and replace ansible_facts
marcelmamula Dec 5, 2025
86b8058
feat: complete rework and redesign of sap_profile_update role
marcelmamula Dec 9, 2025
fae01fd
Merge pull request #37 from oxya-dev/dev
marcelmamula Dec 9, 2025
eb41d84
Merge pull request #42 from crweller/bugfix/failing_restart
marcelmamula Dec 9, 2025
b6fc9bc
feat: Complete redesign and rework of sap_control role
marcelmamula Dec 11, 2025
9bb0048
Add additional asserts and use of retry override variables, improve l…
marcelmamula Dec 12, 2025
ae119d3
add reset for sort list
marcelmamula Dec 12, 2025
16cda4a
update readme and resolve linting error
marcelmamula Dec 12, 2025
ecaebbb
Merge pull request #43 from marcelmamula/cleanup
berndfinger Dec 15, 2025
cdfb576
fix: replace correct parameter variable
marcelmamula Jan 5, 2026
436cbc6
update the following wording for clarity
marcelmamula Jan 5, 2026
9789797
add additional ports reported by Sean and improve readme
marcelmamula Jan 5, 2026
0320ee0
Merge pull request #47 from marcelmamula/profile
marcelmamula Jan 7, 2026
0974e02
add sudo requirement into readme
marcelmamula Jan 7, 2026
51cc8d6
update readme to adapt to galaxy standard
marcelmamula Jan 27, 2026
9497f9e
update readme to adapt to galaxy standard
marcelmamula Jan 27, 2026
0179e10
Merge pull request #46 from marcelmamula/firewall
marcelmamula Jan 28, 2026
3d81c81
Merge pull request #48 from marcelmamula/control
marcelmamula Jan 28, 2026
606ce57
feat: complete rework and redesign of sap_hana_backint role
marcelmamula Jan 29, 2026
92a2d5d
deprecate role sap_rfc and update linting to ignore it
marcelmamula Jan 29, 2026
d8b172a
Merge pull request #51 from marcelmamula/rfc
marcelmamula Jan 29, 2026
16374b9
feat: rework of HSR role
marcelmamula Feb 3, 2026
1b617fd
clarity updates upon pr feedback
marcelmamula Feb 5, 2026
f83b717
Merge pull request #50 from marcelmamula/backint
marcelmamula Feb 5, 2026
02bc6b2
fix issue 31 by adding restart parameter to sap_facts
marcelmamula Feb 5, 2026
a0f6535
fixed wrong parameter name in instructions
marcelmamula Feb 5, 2026
7ffa963
Merge pull request #54 from marcelmamula/issue-31
marcelmamula Feb 5, 2026
c7f3e9e
Merge pull request #52 from marcelmamula/sr_takeover
marcelmamula Feb 6, 2026
16583c5
cleanup of old files and old samples
marcelmamula Feb 6, 2026
3ea51d8
add linting config with workflows and fix found errors
marcelmamula Feb 6, 2026
04bef50
update readme docs and prepare for release
marcelmamula Feb 9, 2026
92870aa
add contributors list
marcelmamula Feb 9, 2026
b5d3212
add sanity ignore files, module doc companions and codespell
marcelmamula Feb 9, 2026
2c33eee
update formatting of ignore files
marcelmamula Feb 9, 2026
7f1050b
sanity test for 2.18
marcelmamula Feb 9, 2026
e53091f
remove deprecated modules and update changelog
marcelmamula Feb 9, 2026
8bc0f9a
update noqa comments
marcelmamula Feb 13, 2026
03333e9
Merge pull request #55 from marcelmamula/finish
marcelmamula Feb 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
41 changes: 31 additions & 10 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -1,11 +1,32 @@
---
## Collection wide ansible-lint configuration file.
# Changes for ansible-lint v25.7.0+
# - Always executed from collection root using collection configuration.
# - .ansible-lint-ignore can be used to ignore files, not folders.
## Execution examples:
# ansible-lint
# ansible-lint roles/sap_firewall
# ansible-lint roles/sap_firewall -c roles/sap_firewall/.ansible-lint

exclude_paths:
- .ansible/
- .cache/
- .github/
- changelogs/
- playbooks/
- tests/
# sap_rfc role is excluded because it is no longer supported.
- roles/sap_rfc


skip_list:
- empty-string-compare
- indentation
- line-length
- command-instead-of-module # Using command rather than module
- command-instead-of-shell # Use shell only when shell functionality is required
- experimental # all rules tagged as experimental
- no-changed-when # Commands should not change things if nothing needs doing
- no-handler # Tasks that run when changed should likely be handlers
- risky-shell-pipe # Shells that use pipes should set the pipefail option
- unnamed-task # All tasks should be named
# We don't want to enforce new Ansible versions for Galaxy:
- meta-runtime[unsupported-version]
# We do not want to use checks which are marked as experimental:
- experimental
# We use ignore_errors for all the assert tasks, which should be acceptable:
- ignore-errors
# We want to allow single digit version numbers in a role's meta/main.yml file:
- schema
# Allow templating inside name because it creates more detailed output:
- name[template]
10 changes: 0 additions & 10 deletions .github/workflows/ansible-lint-config

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/ansible-lint-sap_control.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Ansible Lint - sap_control

on:
push:
branches:
- main
- dev
paths:
- 'roles/sap_control/**'
pull_request:
branches:
- main
- dev
paths:
- 'roles/sap_control/**'

workflow_dispatch:

jobs:
ansible-lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@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:
# v25.7.0 no longer uses 'working_directory' and role path is set in 'args'.
# Role specific .ansible-lint can be added with argument '-c'.
args: roles/sap_control
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
36 changes: 36 additions & 0 deletions .github/workflows/ansible-lint-sap_firewall.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Ansible Lint - sap_firewall

on:
push:
branches:
- main
- dev
paths:
- 'roles/sap_firewall/**'
pull_request:
branches:
- main
- dev
paths:
- 'roles/sap_firewall/**'

workflow_dispatch:

jobs:
ansible-lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@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:
# v25.7.0 no longer uses 'working_directory' and role path is set in 'args'.
# Role specific .ansible-lint can be added with argument '-c'.
args: roles/sap_firewall
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
36 changes: 36 additions & 0 deletions .github/workflows/ansible-lint-sap_hana_backint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Ansible Lint - sap_hana_backint

on:
push:
branches:
- main
- dev
paths:
- 'roles/sap_hana_backint/**'
pull_request:
branches:
- main
- dev
paths:
- 'roles/sap_hana_backint/**'

workflow_dispatch:

jobs:
ansible-lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@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:
# v25.7.0 no longer uses 'working_directory' and role path is set in 'args'.
# Role specific .ansible-lint can be added with argument '-c'.
args: roles/sap_hana_backint
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
36 changes: 36 additions & 0 deletions .github/workflows/ansible-lint-sap_hana_sr_takeover.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Ansible Lint - sap_hana_sr_takeover

on:
push:
branches:
- main
- dev
paths:
- 'roles/sap_hana_sr_takeover/**'
pull_request:
branches:
- main
- dev
paths:
- 'roles/sap_hana_sr_takeover/**'

workflow_dispatch:

jobs:
ansible-lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@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:
# v25.7.0 no longer uses 'working_directory' and role path is set in 'args'.
# Role specific .ansible-lint can be added with argument '-c'.
args: roles/sap_hana_sr_takeover
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
36 changes: 36 additions & 0 deletions .github/workflows/ansible-lint-sap_profile_update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Ansible Lint - sap_profile_update

on:
push:
branches:
- main
- dev
paths:
- 'roles/sap_profile_update/**'
pull_request:
branches:
- main
- dev
paths:
- 'roles/sap_profile_update/**'

workflow_dispatch:

jobs:
ansible-lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@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:
# v25.7.0 no longer uses 'working_directory' and role path is set in 'args'.
# Role specific .ansible-lint can be added with argument '-c'.
args: roles/sap_profile_update
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
25 changes: 16 additions & 9 deletions .github/workflows/ansible-lint.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,24 @@
name: Ansible Lint
---
name: Ansible Lint - Collection

on: [push, pull_request]
on:
schedule:
# This is 03:05 UTC, which is 5:05 AM in Prague/CEST.
- cron: '5 3 * * 1'

workflow_dispatch:

jobs:
ansible-lint:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v3
- run: |
pip3 install ansible-lint
ansible-lint -p roles/ -c .github/workflows/ansible-lint-config
- uses: actions/checkout@v5

# Static: use Ansible Community Edition 4.8.0, with lowest compatible Ansible Core 2.11.6 and use Ansible-lint 5.2.1
# 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:
# Use the shared requirements file from the collection root for dependency context.
requirements_file: ./requirements.yml
84 changes: 84 additions & 0 deletions .github/workflows/ansible-test-sanity.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
# Always check ansible-core support matrix before configuring units matrix.
# https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix

name: Ansible Test - Sanity

on:
schedule:
# This is 01:05 UTC, which is 3:05 AM in Prague/CEST
- cron: '5 3 * * 1'

pull_request:
branches:
- main
- dev

workflow_dispatch:

jobs:
sanity-supported:
runs-on: ubuntu-latest
name: Sanity (Supported Ⓐ${{ matrix.ansible }})
strategy:
fail-fast: false # Disabled so we can see all failed combinations.
# Define a build matrix to test compatibility across multiple Ansible versions.
# Each version listed below will spawn a separate job that runs in parallel.
matrix:
ansible:
# Supported versions (must pass)
- 'stable-2.18' # Python 3.11 - 3.13
- 'stable-2.19' # Python 3.11 - 3.13
- 'devel' # Test against the upcoming development version.
steps:
- uses: actions/checkout@v5

- name: ansible-test - sanity
uses: ansible-community/ansible-test-gh-action@release/v1
with:
ansible-core-version: ${{ matrix.ansible }}
testing-type: sanity

sanity-eol:
runs-on: ubuntu-latest
# This job only runs if the supported tests pass
needs: sanity-supported
name: Sanity (EOL Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
continue-on-error: true # This entire job is allowed to fail
strategy:
fail-fast: false # Disabled so we can see all failed combinations.
# Define a build matrix to test compatibility across multiple Ansible versions.
# Each version listed below will spawn a separate job that runs in parallel.
matrix:
ansible:
- 'stable-2.14' # Python 3.9 - 3.11
- 'stable-2.15' # Python 3.9 - 3.11
- 'stable-2.16' # Python 3.10 - 3.12
- 'stable-2.17' # Python 3.10 - 3.12
python:
- '3.9'
- '3.10'
- '3.11'
- '3.12'
exclude:
# Exclusions for incompatible Python versions.
- ansible: 'stable-2.14'
python: '3.12'

- ansible: 'stable-2.15'
python: '3.12'

- ansible: 'stable-2.16'
python: '3.9'

- ansible: 'stable-2.17'
python: '3.9'
steps:
- uses: actions/checkout@v5

- name: ansible-test - sanity
uses: ansible-community/ansible-test-gh-action@release/v1
with:
ansible-core-version: ${{ matrix.ansible }}
target-python-version: ${{ matrix.python }}
testing-type: sanity
25 changes: 25 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: CodeSpell

on:
push:
branches:
- dev
pull_request:
branches:
- dev

workflow_dispatch:

jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- uses: codespell-project/actions-codespell@v2
with:
# lowercase only
ignore_words_list: aas,hsa,te,chage,addopt,sybsystem,uptodate,pase,enque
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,6 @@ __pycache__/

# VSCode
.vscode

# Ignore ansible workspace
.ansible
Loading