From 5798bc8da2696e8cda5d6b1197087fa070523ce0 Mon Sep 17 00:00:00 2001 From: Afeef Ghannam Date: Mon, 20 Apr 2026 17:26:55 +0200 Subject: [PATCH 1/3] Rename molecule scenarios to improve clarity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - beats_peculiar → beats_extended: reflects that it tests advanced beats configuration - logstash_specific_version → logstash_pinned_version: shorter and more precise --- .github/workflows/test_role_beats.yml | 2 +- .github/workflows/test_role_logstash.yml | 2 +- molecule/{beats_peculiar => beats_extended}/converge.yml | 0 molecule/{beats_peculiar => beats_extended}/molecule.yml | 2 +- molecule/{beats_peculiar => beats_extended}/prepare.yml | 0 molecule/{beats_peculiar => beats_extended}/requirements.yml | 0 molecule/{beats_peculiar => beats_extended}/verify.yml | 0 .../converge.yml | 0 .../molecule.yml | 0 .../prepare.yml | 0 .../requirements.yml | 0 .../verify.yml | 0 12 files changed, 3 insertions(+), 3 deletions(-) rename molecule/{beats_peculiar => beats_extended}/converge.yml (100%) rename molecule/{beats_peculiar => beats_extended}/molecule.yml (91%) rename molecule/{beats_peculiar => beats_extended}/prepare.yml (100%) rename molecule/{beats_peculiar => beats_extended}/requirements.yml (100%) rename molecule/{beats_peculiar => beats_extended}/verify.yml (100%) rename molecule/{logstash_specific_version => logstash_pinned_version}/converge.yml (100%) rename molecule/{logstash_specific_version => logstash_pinned_version}/molecule.yml (100%) rename molecule/{logstash_specific_version => logstash_pinned_version}/prepare.yml (100%) rename molecule/{logstash_specific_version => logstash_pinned_version}/requirements.yml (100%) rename molecule/{logstash_specific_version => logstash_pinned_version}/verify.yml (100%) diff --git a/.github/workflows/test_role_beats.yml b/.github/workflows/test_role_beats.yml index 6db949e2..ecdbe64c 100644 --- a/.github/workflows/test_role_beats.yml +++ b/.github/workflows/test_role_beats.yml @@ -40,7 +40,7 @@ jobs: - debian13 scenario: - beats_default - - beats_peculiar + - beats_extended release: - 8 ansible_version: diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index 9f133ed0..ccb5b206 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -39,7 +39,7 @@ jobs: matrix: distro: [debian13] scenario: - - logstash_specific_version + - logstash_pinned_version - logstash_pipelines release: - 8 diff --git a/molecule/beats_peculiar/converge.yml b/molecule/beats_extended/converge.yml similarity index 100% rename from molecule/beats_peculiar/converge.yml rename to molecule/beats_extended/converge.yml diff --git a/molecule/beats_peculiar/molecule.yml b/molecule/beats_extended/molecule.yml similarity index 91% rename from molecule/beats_peculiar/molecule.yml rename to molecule/beats_extended/molecule.yml index d0466392..231a8323 100644 --- a/molecule/beats_peculiar/molecule.yml +++ b/molecule/beats_extended/molecule.yml @@ -6,7 +6,7 @@ dependency: driver: name: docker platforms: - - name: beats_peculiar_${MOLECULE_DISTRO:-debian13} + - name: beats_extended_${MOLECULE_DISTRO:-debian13} groups: - elasticsearch image: "geerlingguy/docker-${MOLECULE_DISTRO:-debian13}-ansible:latest" diff --git a/molecule/beats_peculiar/prepare.yml b/molecule/beats_extended/prepare.yml similarity index 100% rename from molecule/beats_peculiar/prepare.yml rename to molecule/beats_extended/prepare.yml diff --git a/molecule/beats_peculiar/requirements.yml b/molecule/beats_extended/requirements.yml similarity index 100% rename from molecule/beats_peculiar/requirements.yml rename to molecule/beats_extended/requirements.yml diff --git a/molecule/beats_peculiar/verify.yml b/molecule/beats_extended/verify.yml similarity index 100% rename from molecule/beats_peculiar/verify.yml rename to molecule/beats_extended/verify.yml diff --git a/molecule/logstash_specific_version/converge.yml b/molecule/logstash_pinned_version/converge.yml similarity index 100% rename from molecule/logstash_specific_version/converge.yml rename to molecule/logstash_pinned_version/converge.yml diff --git a/molecule/logstash_specific_version/molecule.yml b/molecule/logstash_pinned_version/molecule.yml similarity index 100% rename from molecule/logstash_specific_version/molecule.yml rename to molecule/logstash_pinned_version/molecule.yml diff --git a/molecule/logstash_specific_version/prepare.yml b/molecule/logstash_pinned_version/prepare.yml similarity index 100% rename from molecule/logstash_specific_version/prepare.yml rename to molecule/logstash_pinned_version/prepare.yml diff --git a/molecule/logstash_specific_version/requirements.yml b/molecule/logstash_pinned_version/requirements.yml similarity index 100% rename from molecule/logstash_specific_version/requirements.yml rename to molecule/logstash_pinned_version/requirements.yml diff --git a/molecule/logstash_specific_version/verify.yml b/molecule/logstash_pinned_version/verify.yml similarity index 100% rename from molecule/logstash_specific_version/verify.yml rename to molecule/logstash_pinned_version/verify.yml From 34626ca78aa41dc70d117379f5fc9f2270e8e8a1 Mon Sep 17 00:00:00 2001 From: Afeef Ghannam Date: Tue, 21 Apr 2026 10:43:04 +0200 Subject: [PATCH 2/3] Rename GitHub Actions job names for clarity and consistency --- .github/workflows/kics.yml | 2 +- .github/workflows/test_plugins.yml | 16 ++++++++-------- .github/workflows/test_role_logstash.yml | 2 +- .github/workflows/test_roles_pr.yml | 10 +++++----- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/kics.yml b/.github/workflows/kics.yml index de93a1eb..73997c06 100644 --- a/.github/workflows/kics.yml +++ b/.github/workflows/kics.yml @@ -17,7 +17,7 @@ on: schedule: - cron: '15 6 * * 4' jobs: - kics: + security_scan: if: github.event.pull_request.draft == false runs-on: ubuntu-latest diff --git a/.github/workflows/test_plugins.yml b/.github/workflows/test_plugins.yml index c043865d..8564a82e 100644 --- a/.github/workflows/test_plugins.yml +++ b/.github/workflows/test_plugins.yml @@ -20,7 +20,7 @@ on: - '.github/workflows/test_plugins.yml' jobs: - sanity_ansible_18_19: + sanity_core_2_18_2_19: if: github.event.pull_request.draft == false runs-on: ubuntu-latest env: @@ -63,7 +63,7 @@ jobs: PY_COLORS: '1' ANSIBLE_FORCE_COLOR: '1' - sanity_ansible_20: + sanity_core_2_20: if: github.event.pull_request.draft == false runs-on: ubuntu-latest env: @@ -105,10 +105,10 @@ jobs: PY_COLORS: '1' ANSIBLE_FORCE_COLOR: '1' - unit-test: + unit_tests: needs: - - sanity_ansible_18_19 - - sanity_ansible_20 + - sanity_core_2_18_2_19 + - sanity_core_2_20 runs-on: ubuntu-latest env: COLLECTION_NAMESPACE: netways @@ -149,7 +149,7 @@ jobs: ANSIBLE_FORCE_COLOR: '1' molecule_plugins: - needs: unit-test + needs: unit_tests runs-on: ubuntu-latest env: COLLECTION_NAMESPACE: netways @@ -195,8 +195,8 @@ jobs: ANSIBLE_FORCE_COLOR: '1' ELASTIC_RELEASE: ${{ matrix.release }} - python-cryptography: - needs: unit-test + cryptography_compatibility: + needs: unit_tests runs-on: ubuntu-latest env: COLLECTION_NAMESPACE: netways diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index ccb5b206..011ca4e4 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -26,7 +26,7 @@ jobs: rolename: logstash - molecule_logstash_extended: + molecule_logstash: runs-on: ubuntu-latest needs: lint_logstash diff --git a/.github/workflows/test_roles_pr.yml b/.github/workflows/test_roles_pr.yml index b7438c97..074f4c61 100644 --- a/.github/workflows/test_roles_pr.yml +++ b/.github/workflows/test_roles_pr.yml @@ -24,15 +24,15 @@ on: merge_group: jobs: - lint_full: + lint_collection: if: github.event.pull_request.draft == false uses: ./.github/workflows/test_linting.yml with: rolename: '' - molecule_full_stack_ansible_19: + molecule_core_2_19: runs-on: ubuntu-latest - needs: lint_full + needs: lint_collection env: COLLECTION_NAMESPACE: netways @@ -85,9 +85,9 @@ jobs: ELASTIC_RELEASE: ${{ matrix.release }} - molecule_full_stack_ansible_20: + molecule_core_2_20: runs-on: ubuntu-latest - needs: lint_full + needs: lint_collection env: COLLECTION_NAMESPACE: netways From 77e72688a3931e6143fa8bfa9f0f112b96e6b43b Mon Sep 17 00:00:00 2001 From: Afeef Ghannam Date: Tue, 21 Apr 2026 11:31:58 +0200 Subject: [PATCH 3/3] Fix elasticsearch pip installtion on debian 13 --- molecule/plugins/prepare.yml | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/molecule/plugins/prepare.yml b/molecule/plugins/prepare.yml index e4b02224..76776e21 100644 --- a/molecule/plugins/prepare.yml +++ b/molecule/plugins/prepare.yml @@ -19,8 +19,33 @@ update_cache: yes when: ansible_os_family == "Debian" - - name: Install Python dependencies + # Try pip first for up-to-date packages. On PEP 668 systems (e.g. Debian 13), + # pip fails and we fall back to the package manager. If that also fails + # (package not in repos), force pip with break_system_packages as last resort. + + - name: Install Python dependencies via pip + ansible.builtin.pip: + name: + - "elasticsearch<9" + - cryptography + ignore_errors: true + register: plugins_pip_installation + + - name: Install Python dependencies via package manager + ansible.builtin.package: + name: + - python3-elasticsearch + - python3-cryptography + ignore_errors: true + register: plugins_apt_installation + when: not plugins_pip_installation is succeeded + + - name: Install Python dependencies via pip - forced ansible.builtin.pip: name: - - "elasticsearch<9" # Version 9+ has breaking API changes incompatible with this collection - - cryptography # latest version; version matrix is tested in the python-cryptography CI job + - "elasticsearch<9" + - cryptography + break_system_packages: true + when: + - not plugins_pip_installation is succeeded + - not plugins_apt_installation is succeeded