From 131164ecdd030e1e3263bded1a6728f86fc42b39 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:00:26 +0100 Subject: [PATCH 01/31] rework beats molecule tests --- docs/role-beats.md | 2 +- molecule/beats/molecule/peculiar/requirements.yml | 4 ---- .../molecule/default => beats_default}/converge.yml | 10 ++++++---- .../molecule/default => beats_default}/molecule.yml | 4 ---- .../molecule/default => beats_default}/prepare.yml | 0 .../molecule/default => beats_default}/verify.yml | 0 .../full_stack => beats_full_stack}/converge.yml | 4 +++- .../full_stack => beats_full_stack}/molecule.yml | 0 .../full_stack => beats_full_stack}/prepare.yml | 0 .../full_stack => beats_full_stack}/requirements.yml | 0 .../full_stack => beats_full_stack}/verify.yml | 0 .../molecule/peculiar => beats_peculiar}/converge.yml | 0 .../molecule/peculiar => beats_peculiar}/molecule.yml | 0 .../molecule/peculiar => beats_peculiar}/prepare.yml | 0 .../default => beats_peculiar}/requirements.yml | 0 .../molecule/peculiar => beats_peculiar}/verify.yml | 0 16 files changed, 10 insertions(+), 14 deletions(-) delete mode 100644 molecule/beats/molecule/peculiar/requirements.yml rename molecule/{beats/molecule/default => beats_default}/converge.yml (70%) rename molecule/{beats/molecule/default => beats_default}/molecule.yml (89%) rename molecule/{beats/molecule/default => beats_default}/prepare.yml (100%) rename molecule/{beats/molecule/default => beats_default}/verify.yml (100%) rename molecule/{beats/molecule/full_stack => beats_full_stack}/converge.yml (95%) rename molecule/{beats/molecule/full_stack => beats_full_stack}/molecule.yml (100%) rename molecule/{beats/molecule/full_stack => beats_full_stack}/prepare.yml (100%) rename molecule/{beats/molecule/full_stack => beats_full_stack}/requirements.yml (100%) rename molecule/{beats/molecule/full_stack => beats_full_stack}/verify.yml (100%) rename molecule/{beats/molecule/peculiar => beats_peculiar}/converge.yml (100%) rename molecule/{beats/molecule/peculiar => beats_peculiar}/molecule.yml (100%) rename molecule/{beats/molecule/peculiar => beats_peculiar}/prepare.yml (100%) rename molecule/{beats/molecule/default => beats_peculiar}/requirements.yml (100%) rename molecule/{beats/molecule/peculiar => beats_peculiar}/verify.yml (100%) diff --git a/docs/role-beats.md b/docs/role-beats.md index d5bebaaa..49a72aa3 100644 --- a/docs/role-beats.md +++ b/docs/role-beats.md @@ -1,7 +1,7 @@ Ansible Role: Beats ========= -[![CI](https://github.com/NETWAYS/ansible-role-beats/workflows/Molecule%20Test/badge.svg?event=push)](https://github.com/NETWAYS/ansible-role-beats/workflows/Molecule%20Test/badge.svg) +[![CI](https://github.com/NETWAYS/ansible-collection-elasticstack/workflows/Test%20Role%20beats/badge.svg?event=push)](https://github.com/NETWAYS/ansible-collection-elasticstack/workflows/Test%20Role%20beats/badge.svg) This role installs and configures Beats. You can use it as a standalone role or combine it with our other roles managing the Elastic Stack. diff --git a/molecule/beats/molecule/peculiar/requirements.yml b/molecule/beats/molecule/peculiar/requirements.yml deleted file mode 100644 index 67222f5c..00000000 --- a/molecule/beats/molecule/peculiar/requirements.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git diff --git a/molecule/beats/molecule/default/converge.yml b/molecule/beats_default/converge.yml similarity index 70% rename from molecule/beats/molecule/default/converge.yml rename to molecule/beats_default/converge.yml index 7eda049b..72255217 100644 --- a/molecule/beats/molecule/default/converge.yml +++ b/molecule/beats_default/converge.yml @@ -5,13 +5,15 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: elasticsearch_jna_workaround: true elasticsearch_disable_systemcallfilterchecks: true tasks: - - name: "Include Elastics repos role" + - name: Include Elastics repos role include_role: - name: elastic-repos - - name: "Include Beats" + name: repos + - name: Include Beats include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: beats diff --git a/molecule/beats/molecule/default/molecule.yml b/molecule/beats_default/molecule.yml similarity index 89% rename from molecule/beats/molecule/default/molecule.yml rename to molecule/beats_default/molecule.yml index 4fd2ef1a..9e57f3c0 100644 --- a/molecule/beats/molecule/default/molecule.yml +++ b/molecule/beats_default/molecule.yml @@ -16,7 +16,3 @@ provisioner: name: ansible verifier: name: ansible -lint: | - set -e - yamllint . - ansible-lint . diff --git a/molecule/beats/molecule/default/prepare.yml b/molecule/beats_default/prepare.yml similarity index 100% rename from molecule/beats/molecule/default/prepare.yml rename to molecule/beats_default/prepare.yml diff --git a/molecule/beats/molecule/default/verify.yml b/molecule/beats_default/verify.yml similarity index 100% rename from molecule/beats/molecule/default/verify.yml rename to molecule/beats_default/verify.yml diff --git a/molecule/beats/molecule/full_stack/converge.yml b/molecule/beats_full_stack/converge.yml similarity index 95% rename from molecule/beats/molecule/full_stack/converge.yml rename to molecule/beats_full_stack/converge.yml index 89ba6c96..28fab1f4 100644 --- a/molecule/beats/molecule/full_stack/converge.yml +++ b/molecule/beats_full_stack/converge.yml @@ -5,6 +5,8 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: elastic_stack_full_stack: true filebeat_syslog_udp: true @@ -18,7 +20,7 @@ tasks: - name: Include Elastics repos role include_role: - name: elastic-repos + name: repos - name: Install rsyslog package: name: rsyslog diff --git a/molecule/beats/molecule/full_stack/molecule.yml b/molecule/beats_full_stack/molecule.yml similarity index 100% rename from molecule/beats/molecule/full_stack/molecule.yml rename to molecule/beats_full_stack/molecule.yml diff --git a/molecule/beats/molecule/full_stack/prepare.yml b/molecule/beats_full_stack/prepare.yml similarity index 100% rename from molecule/beats/molecule/full_stack/prepare.yml rename to molecule/beats_full_stack/prepare.yml diff --git a/molecule/beats/molecule/full_stack/requirements.yml b/molecule/beats_full_stack/requirements.yml similarity index 100% rename from molecule/beats/molecule/full_stack/requirements.yml rename to molecule/beats_full_stack/requirements.yml diff --git a/molecule/beats/molecule/full_stack/verify.yml b/molecule/beats_full_stack/verify.yml similarity index 100% rename from molecule/beats/molecule/full_stack/verify.yml rename to molecule/beats_full_stack/verify.yml diff --git a/molecule/beats/molecule/peculiar/converge.yml b/molecule/beats_peculiar/converge.yml similarity index 100% rename from molecule/beats/molecule/peculiar/converge.yml rename to molecule/beats_peculiar/converge.yml diff --git a/molecule/beats/molecule/peculiar/molecule.yml b/molecule/beats_peculiar/molecule.yml similarity index 100% rename from molecule/beats/molecule/peculiar/molecule.yml rename to molecule/beats_peculiar/molecule.yml diff --git a/molecule/beats/molecule/peculiar/prepare.yml b/molecule/beats_peculiar/prepare.yml similarity index 100% rename from molecule/beats/molecule/peculiar/prepare.yml rename to molecule/beats_peculiar/prepare.yml diff --git a/molecule/beats/molecule/default/requirements.yml b/molecule/beats_peculiar/requirements.yml similarity index 100% rename from molecule/beats/molecule/default/requirements.yml rename to molecule/beats_peculiar/requirements.yml diff --git a/molecule/beats/molecule/peculiar/verify.yml b/molecule/beats_peculiar/verify.yml similarity index 100% rename from molecule/beats/molecule/peculiar/verify.yml rename to molecule/beats_peculiar/verify.yml From c04e59866f4c3d65a115f4966816d25f4fcb6066 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:00:52 +0100 Subject: [PATCH 02/31] add beats github wf --- .github/workflows/test_role_beats.yml | 79 +++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .github/workflows/test_role_beats.yml diff --git a/.github/workflows/test_role_beats.yml b/.github/workflows/test_role_beats.yml new file mode 100644 index 00000000..3b9ee1f8 --- /dev/null +++ b/.github/workflows/test_role_beats.yml @@ -0,0 +1,79 @@ +--- +name: Test Role beats +on: + push: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/beats/**' + pull_request: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/beats/**' + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Check out the codebase. + uses: actions/checkout@v3 + + - name: Set up Python 3. + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install test dependencies. + run: | + python3 -m pip install --upgrade pip + python3 -m pip install yamllint ansible-lint + + - name: Lint code. + run: | + yamllint roles/beats/ + ansible-lint roles/beats/ + + build: + runs-on: ubuntu-latest + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + max-parallel: 1 + matrix: + distro: [debian11, rockylinux8, ubuntu2204] + scenario: [beats_default, beats_full_stack, beats_peculiar] + + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' From 1ed88cce8e5b7c44d0d8988238342d6697464ecd Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:01:25 +0100 Subject: [PATCH 03/31] rename elasticsarch molecule scenarios --- .../converge.yml | 0 .../molecule.yml | 0 .../prepare.yml | 0 .../verify.yml | 0 .../converge.yml | 0 .../molecule.yml | 0 .../prepare.yml | 0 .../converge.yml | 0 .../molecule.yml | 0 .../prepare.yml | 0 .../converge.yml | 0 .../molecule.yml | 0 .../prepare.yml | 0 .../elasticsearch_no-security/converge.yml | 18 +++++++ .../elasticsearch_no-security/molecule.yml | 20 ++++++++ .../elasticsearch_no-security/prepare.yml | 36 ++++++++++++++ molecule/elasticsearch_no-security/verify.yml | 48 +++++++++++++++++++ 17 files changed, 122 insertions(+) rename molecule/{cluster-8 => elasticsearch_cluster-8}/converge.yml (100%) rename molecule/{cluster-8 => elasticsearch_cluster-8}/molecule.yml (100%) rename molecule/{cluster-8 => elasticsearch_cluster-8}/prepare.yml (100%) rename molecule/{cluster-8 => elasticsearch_cluster-8}/verify.yml (100%) rename molecule/{cluster-oss => elasticsearch_cluster-oss}/converge.yml (100%) rename molecule/{cluster-oss => elasticsearch_cluster-oss}/molecule.yml (100%) rename molecule/{cluster-oss => elasticsearch_cluster-oss}/prepare.yml (100%) rename molecule/{cluster => elasticsearch_cluster}/converge.yml (100%) rename molecule/{cluster => elasticsearch_cluster}/molecule.yml (100%) rename molecule/{cluster => elasticsearch_cluster}/prepare.yml (100%) rename molecule/{default => elasticsearch_default}/converge.yml (100%) rename molecule/{default => elasticsearch_default}/molecule.yml (100%) rename molecule/{default => elasticsearch_default}/prepare.yml (100%) create mode 100644 molecule/elasticsearch_no-security/converge.yml create mode 100644 molecule/elasticsearch_no-security/molecule.yml create mode 100644 molecule/elasticsearch_no-security/prepare.yml create mode 100644 molecule/elasticsearch_no-security/verify.yml diff --git a/molecule/cluster-8/converge.yml b/molecule/elasticsearch_cluster-8/converge.yml similarity index 100% rename from molecule/cluster-8/converge.yml rename to molecule/elasticsearch_cluster-8/converge.yml diff --git a/molecule/cluster-8/molecule.yml b/molecule/elasticsearch_cluster-8/molecule.yml similarity index 100% rename from molecule/cluster-8/molecule.yml rename to molecule/elasticsearch_cluster-8/molecule.yml diff --git a/molecule/cluster-8/prepare.yml b/molecule/elasticsearch_cluster-8/prepare.yml similarity index 100% rename from molecule/cluster-8/prepare.yml rename to molecule/elasticsearch_cluster-8/prepare.yml diff --git a/molecule/cluster-8/verify.yml b/molecule/elasticsearch_cluster-8/verify.yml similarity index 100% rename from molecule/cluster-8/verify.yml rename to molecule/elasticsearch_cluster-8/verify.yml diff --git a/molecule/cluster-oss/converge.yml b/molecule/elasticsearch_cluster-oss/converge.yml similarity index 100% rename from molecule/cluster-oss/converge.yml rename to molecule/elasticsearch_cluster-oss/converge.yml diff --git a/molecule/cluster-oss/molecule.yml b/molecule/elasticsearch_cluster-oss/molecule.yml similarity index 100% rename from molecule/cluster-oss/molecule.yml rename to molecule/elasticsearch_cluster-oss/molecule.yml diff --git a/molecule/cluster-oss/prepare.yml b/molecule/elasticsearch_cluster-oss/prepare.yml similarity index 100% rename from molecule/cluster-oss/prepare.yml rename to molecule/elasticsearch_cluster-oss/prepare.yml diff --git a/molecule/cluster/converge.yml b/molecule/elasticsearch_cluster/converge.yml similarity index 100% rename from molecule/cluster/converge.yml rename to molecule/elasticsearch_cluster/converge.yml diff --git a/molecule/cluster/molecule.yml b/molecule/elasticsearch_cluster/molecule.yml similarity index 100% rename from molecule/cluster/molecule.yml rename to molecule/elasticsearch_cluster/molecule.yml diff --git a/molecule/cluster/prepare.yml b/molecule/elasticsearch_cluster/prepare.yml similarity index 100% rename from molecule/cluster/prepare.yml rename to molecule/elasticsearch_cluster/prepare.yml diff --git a/molecule/default/converge.yml b/molecule/elasticsearch_default/converge.yml similarity index 100% rename from molecule/default/converge.yml rename to molecule/elasticsearch_default/converge.yml diff --git a/molecule/default/molecule.yml b/molecule/elasticsearch_default/molecule.yml similarity index 100% rename from molecule/default/molecule.yml rename to molecule/elasticsearch_default/molecule.yml diff --git a/molecule/default/prepare.yml b/molecule/elasticsearch_default/prepare.yml similarity index 100% rename from molecule/default/prepare.yml rename to molecule/elasticsearch_default/prepare.yml diff --git a/molecule/elasticsearch_no-security/converge.yml b/molecule/elasticsearch_no-security/converge.yml new file mode 100644 index 00000000..70361213 --- /dev/null +++ b/molecule/elasticsearch_no-security/converge.yml @@ -0,0 +1,18 @@ +--- +# The workaround for arbitrarily named role directory is important because the git repo has one name and the role within it another +# Found at: https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 +- name: Converge + collections: + - NETWAYS.elasticstack + hosts: all + vars: + elasticsearch_security: false + elasticsearch_jna_workaround: true + elasticsearch_disable_systemcallfilterchecks: true + tasks: + - name: Include Elastics repos role + include_role: + name: repos + - name: Include Elasticsearch + include_role: + name: elasticsearch diff --git a/molecule/elasticsearch_no-security/molecule.yml b/molecule/elasticsearch_no-security/molecule.yml new file mode 100644 index 00000000..f980152b --- /dev/null +++ b/molecule/elasticsearch_no-security/molecule.yml @@ -0,0 +1,20 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: elasticsearch_no_security + groups: + - elasticsearch + image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" + command: ${MOLECULE_DOCKER_COMMAND:-""} + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host + privileged: true + pre_build_image: true +provisioner: + name: ansible +verifier: + name: ansible diff --git a/molecule/elasticsearch_no-security/prepare.yml b/molecule/elasticsearch_no-security/prepare.yml new file mode 100644 index 00000000..d6abc016 --- /dev/null +++ b/molecule/elasticsearch_no-security/prepare.yml @@ -0,0 +1,36 @@ +--- +- name: Prepare + hosts: all + tasks: + - name: Refresh apt cache + apt: + update_cache: yes + when: ansible_os_family == "Debian" + + - name: Install git + package: + name: git + + - name: Install packages for RHEL + package: + name: + - iproute + - NetworkManager + when: ansible_os_family == "RedHat" + + - name: Start NetworkManager + service: + name: NetworkManager + state: started + enabled: yes + when: ansible_os_family == "RedHat" + + - name: Install packages for Debian + package: + name: + - gpg + - gpg-agent + - procps + - curl + - iproute2 + when: ansible_os_family == "Debian" diff --git a/molecule/elasticsearch_no-security/verify.yml b/molecule/elasticsearch_no-security/verify.yml new file mode 100644 index 00000000..b7c3aac2 --- /dev/null +++ b/molecule/elasticsearch_no-security/verify.yml @@ -0,0 +1,48 @@ +--- +# This is an example playbook to execute Ansible tests. + +- name: Verify + hosts: all + vars: + elastic_initial_passwords: /usr/share/elasticsearch/initial_passwords + tasks: + + - name: Set elasticsearch_ca variable if not already done by user + set_fact: + elasticsearch_ca: "{{ groups['elasticsearch'][0] }}" + when: elasticsearch_ca is undefined + + - name: Fetch Elastic password + shell: grep "PASSWORD elastic" {{ elastic_initial_passwords }} | awk {' print $4 '} + register: elastic_password + changed_when: false + delegate_to: "{{ elasticsearch_ca }}" + + +# Remember, this is the no-security scenario. So no https + - name: Health check + uri: + url: http://localhost:9200/_cluster/health + method: GET + force_basic_auth: yes + user: elastic + password: "{{ elastic_password.stdout }}" + return_content: yes + status_code: 200 + validate_certs: false + register: result + until: result.json.status == "green" + retries: 6 + delay: 10 + + - name: Node check + uri: + url: http://localhost:9200/_cat/nodes + method: GET + force_basic_auth: yes + user: elastic + password: "{{ elastic_password.stdout }}" + return_content: yes + status_code: 200 + validate_certs: false + register: nodes From ab7a80a9e0d5927ceaffb11cf90dacce469e6c92 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:01:46 +0100 Subject: [PATCH 04/31] add github workflow elasticsearch --- .github/workflows/test_role_elasticsearch.yml | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .github/workflows/test_role_elasticsearch.yml diff --git a/.github/workflows/test_role_elasticsearch.yml b/.github/workflows/test_role_elasticsearch.yml new file mode 100644 index 00000000..137a986c --- /dev/null +++ b/.github/workflows/test_role_elasticsearch.yml @@ -0,0 +1,79 @@ +--- +name: Test Role elasticsearch +on: + push: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/elasticsearch/**' + pull_request: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/elasticsearch/**' + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Check out the codebase. + uses: actions/checkout@v3 + + - name: Set up Python 3. + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install test dependencies. + run: | + python3 -m pip install --upgrade pip + python3 -m pip install yamllint ansible-lint + + - name: Lint code. + run: | + yamllint roles/elasticsearch/ + ansible-lint roles/elasticsearch/ + + build: + runs-on: ubuntu-latest + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + max-parallel: 1 + matrix: + distro: [ubuntu2204] + scenario: [elasticsearch_default, elasticsearch_cluster, elasticsearch_cluster-oss, elasticsearch_no-security] + + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' From e59da78f00ee7d51189e49011d3c7f17f83b38f3 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:02:32 +0100 Subject: [PATCH 05/31] add workflow kibana --- .github/workflows/test_role_kibana.yml | 77 ++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/test_role_kibana.yml diff --git a/.github/workflows/test_role_kibana.yml b/.github/workflows/test_role_kibana.yml new file mode 100644 index 00000000..bae7174c --- /dev/null +++ b/.github/workflows/test_role_kibana.yml @@ -0,0 +1,77 @@ +--- +name: Test Role Kibana +on: + push: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/kibana/**' + pull_request: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/kibana/**' + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Check out the codebase. + uses: actions/checkout@v3 + + - name: Set up Python 3. + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install test dependencies. + run: | + python3 -m pip install --upgrade pip + python3 -m pip install yamllint ansible-lint + + - name: Lint code. + run: | + yamllint roles/kibana/ + ansible-lint roles/kibana/ + + build: + runs-on: ubuntu-latest + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + max-parallel: 3 + matrix: + distro: [centos7] + scenario: [kibana_default, kibana_full_stack, kibana_full_stack-oss] + + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} From b7d6ee958f60ea50be7e019b931045128884d65f Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:02:46 +0100 Subject: [PATCH 06/31] add workflow logstash --- .github/workflows/test_role_logstash.yml | 125 +++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 .github/workflows/test_role_logstash.yml diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml new file mode 100644 index 00000000..c416629c --- /dev/null +++ b/.github/workflows/test_role_logstash.yml @@ -0,0 +1,125 @@ +--- +name: Test Role Logstash +on: + push: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/logstash/**' + pull_request: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/logstash/**' + + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Check out the codebase. + uses: actions/checkout@v3 + + - name: Set up Python 3. + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install test dependencies. + run: | + python3 -m pip install --upgrade pip + python3 -m pip install yamllint ansible-lint + + - name: Lint code. + run: | + yamllint roles/logstash/ + ansible-lint roles/logstash/ + + build: + runs-on: ubuntu-latest + needs: lint + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + matrix: + distro: [ubuntu2204] + scenario: [logstash_default] + + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Python 3 + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' + + molecule_tests: + runs-on: ubuntu-latest + needs: molecule_default + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + max-parallel: 1 + matrix: + distro: [ubuntu2204] + scenario: [logstash_run_logstash, + logstash_full_stack, + logstash_full_stack-oss, + logstash_specific_version, + logstash_pipelines] + + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Python 3 + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' From 85a15a160d783948155e4f0cdfd992f34fabc1cb Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:02:58 +0100 Subject: [PATCH 07/31] add workflow repos --- .github/workflows/test_role_repos.yml | 78 +++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .github/workflows/test_role_repos.yml diff --git a/.github/workflows/test_role_repos.yml b/.github/workflows/test_role_repos.yml new file mode 100644 index 00000000..e779c75e --- /dev/null +++ b/.github/workflows/test_role_repos.yml @@ -0,0 +1,78 @@ +name: Test Role repos +on: + push: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/repos/**' + pull_request: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' + paths: + - 'roles/repos/**' + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Check out the codebase. + uses: actions/checkout@v3 + + - name: Set up Python 3. + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install test dependencies. + run: | + python3 -m pip install --upgrade pip + python3 -m pip install yamllint ansible-lint + + - name: Lint code. + run: | + yamllint roles/repos/ + ansible-lint roles/repos/ + + build: + runs-on: ubuntu-latest + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + max-parallel: 4 + matrix: + + distro: [centos7, debian10, debian11, rockylinux8, rockylinux9, ubuntu2004, ubuntu2204] + scenario: [repos_default, repos_oss, repos_elastic8] + + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + ansible-galaxy collection install community.general + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} From ad07e470976c450d226ff977b732981aeabe0f09 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:04:02 +0100 Subject: [PATCH 08/31] rework molecule tests kibana --- .../kibana_default}/converge.yml | 10 +++-- .../kibana_default}/molecule.yml | 4 -- .../prepare.yml | 0 .../kibana_full_stack/converge.yml | 2 + .../kibana_full_stack/molecule.yml | 0 .../kibana_full_stack}/prepare.yml | 0 .../kibana_full_stack/verify.yml | 0 roles/kibana/.github/workflows/molecule.yml | 39 ------------------- roles/kibana/molecule/default/INSTALL.rst | 22 ----------- .../kibana/molecule/default/requirements.yml | 4 -- 10 files changed, 8 insertions(+), 73 deletions(-) rename {roles/kibana/molecule/default => molecule/kibana_default}/converge.yml (64%) rename {roles/kibana/molecule/default => molecule/kibana_default}/molecule.yml (86%) rename molecule/{tmp_kibana/kibana_full_stack => kibana_default}/prepare.yml (100%) rename molecule/{tmp_kibana => }/kibana_full_stack/converge.yml (93%) rename molecule/{tmp_kibana => }/kibana_full_stack/molecule.yml (100%) rename {roles/kibana/molecule/default => molecule/kibana_full_stack}/prepare.yml (100%) rename molecule/{tmp_kibana => }/kibana_full_stack/verify.yml (100%) delete mode 100644 roles/kibana/.github/workflows/molecule.yml delete mode 100644 roles/kibana/molecule/default/INSTALL.rst delete mode 100644 roles/kibana/molecule/default/requirements.yml diff --git a/roles/kibana/molecule/default/converge.yml b/molecule/kibana_default/converge.yml similarity index 64% rename from roles/kibana/molecule/default/converge.yml rename to molecule/kibana_default/converge.yml index 0091ae42..0be4ad7a 100644 --- a/roles/kibana/molecule/default/converge.yml +++ b/molecule/kibana_default/converge.yml @@ -5,10 +5,12 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack tasks: - - name: "Include Elastic Repos" + - name: Include Elastic Repos include_role: - name: "elastic-repos" - - name: "Include Kibana" + name: repos + - name: Include Kibana include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: kibana diff --git a/roles/kibana/molecule/default/molecule.yml b/molecule/kibana_default/molecule.yml similarity index 86% rename from roles/kibana/molecule/default/molecule.yml rename to molecule/kibana_default/molecule.yml index 868facf5..bf81deb2 100644 --- a/roles/kibana/molecule/default/molecule.yml +++ b/molecule/kibana_default/molecule.yml @@ -13,7 +13,3 @@ provisioner: name: ansible verifier: name: ansible -lint: | - set -e - yamllint . - ansible-lint . diff --git a/molecule/tmp_kibana/kibana_full_stack/prepare.yml b/molecule/kibana_default/prepare.yml similarity index 100% rename from molecule/tmp_kibana/kibana_full_stack/prepare.yml rename to molecule/kibana_default/prepare.yml diff --git a/molecule/tmp_kibana/kibana_full_stack/converge.yml b/molecule/kibana_full_stack/converge.yml similarity index 93% rename from molecule/tmp_kibana/kibana_full_stack/converge.yml rename to molecule/kibana_full_stack/converge.yml index acda95a7..af39cc3b 100644 --- a/molecule/tmp_kibana/kibana_full_stack/converge.yml +++ b/molecule/kibana_full_stack/converge.yml @@ -5,6 +5,8 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: elastic_stack_full_stack: true tasks: diff --git a/molecule/tmp_kibana/kibana_full_stack/molecule.yml b/molecule/kibana_full_stack/molecule.yml similarity index 100% rename from molecule/tmp_kibana/kibana_full_stack/molecule.yml rename to molecule/kibana_full_stack/molecule.yml diff --git a/roles/kibana/molecule/default/prepare.yml b/molecule/kibana_full_stack/prepare.yml similarity index 100% rename from roles/kibana/molecule/default/prepare.yml rename to molecule/kibana_full_stack/prepare.yml diff --git a/molecule/tmp_kibana/kibana_full_stack/verify.yml b/molecule/kibana_full_stack/verify.yml similarity index 100% rename from molecule/tmp_kibana/kibana_full_stack/verify.yml rename to molecule/kibana_full_stack/verify.yml diff --git a/roles/kibana/.github/workflows/molecule.yml b/roles/kibana/.github/workflows/molecule.yml deleted file mode 100644 index bfc61691..00000000 --- a/roles/kibana/.github/workflows/molecule.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: Molecule Test -on: - push: - tags: - - v* - branches: - - master - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - max-parallel: 3 - matrix: - distro: [centos7] - scenario: [default, full_stack, full_stack-oss] - - steps: - - name: Check out code - uses: actions/checkout@v2 - - - name: Set up Python 3.8 - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - python3 -m pip install -r requirements-test.txt - - - name: Test with molecule - run: | - molecule test -s ${{ matrix.scenario }} - env: - MOLECULE_DISTRO: ${{ matrix.distro }} diff --git a/roles/kibana/molecule/default/INSTALL.rst b/roles/kibana/molecule/default/INSTALL.rst deleted file mode 100644 index 6a44bde9..00000000 --- a/roles/kibana/molecule/default/INSTALL.rst +++ /dev/null @@ -1,22 +0,0 @@ -******* -Docker driver installation guide -******* - -Requirements -============ - -* Docker Engine - -Install -======= - -Please refer to the `Virtual environment`_ documentation for installation best -practices. If not using a virtual environment, please consider passing the -widely recommended `'--user' flag`_ when invoking ``pip``. - -.. _Virtual environment: https://virtualenv.pypa.io/en/latest/ -.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site - -.. code-block:: bash - - $ pip install 'molecule[docker]' diff --git a/roles/kibana/molecule/default/requirements.yml b/roles/kibana/molecule/default/requirements.yml deleted file mode 100644 index 05c6f2aa..00000000 --- a/roles/kibana/molecule/default/requirements.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: elastic-repos - src: https://github.com/widhalmt/ansible-role-elastic-repos.git - scm: git From 936d13e0f3f9814f0b83f39953b6607c6c110a5a Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:04:57 +0100 Subject: [PATCH 09/31] rework molecule tests --- .github/workflows/molecule.yml | 58 ---------- .github/workflows/test_full_stack.yml | 16 +++ .../logstash_default}/converge.yml | 0 .../logstash_default}/molecule.yml | 0 .../logstash_default}/prepare.yml | 0 .../logstash_default}/requirements.yml | 0 .../logstash_default}/verify.yml | 0 .../logstash_full_stack-oss}/converge.yml | 0 .../logstash_full_stack-oss}/molecule.yml | 0 .../logstash_full_stack-oss}/prepare.yml | 0 .../logstash_full_stack-oss}/requirements.yml | 0 .../logstash_full_stack-oss}/verify.yml | 0 .../logstash_full_stack}/converge.yml | 0 .../logstash_full_stack}/molecule.yml | 0 .../logstash_full_stack}/prepare.yml | 0 .../logstash_full_stack}/requirements.yml | 0 .../logstash_full_stack}/verify.yml | 0 .../logstash_pipelines}/INSTALL.rst | 0 .../logstash_pipelines}/converge.yml | 0 .../logstash_pipelines}/molecule.yml | 0 .../logstash_pipelines}/prepare.yml | 0 .../logstash_pipelines}/requirements.yml | 0 .../logstash_pipelines}/verify.yml | 0 .../logstash_run_logstash}/converge.yml | 0 .../logstash_run_logstash}/molecule.yml | 0 .../logstash_run_logstash}/prepare.yml | 0 .../logstash_run_logstash}/requirements.yml | 0 .../logstash_run_logstash}/verify.yml | 0 .../logstash_specific_version}/converge.yml | 0 .../logstash_specific_version}/molecule.yml | 0 .../logstash_specific_version}/prepare.yml | 0 .../requirements.yml | 0 .../logstash_specific_version}/verify.yml | 0 molecule/no-security/converge.yml | 18 ---- molecule/no-security/molecule.yml | 20 ---- molecule/no-security/prepare.yml | 36 ------- molecule/no-security/verify.yml | 48 --------- .../repos_default}/INSTALL.rst | 0 .../repos_default}/converge.yml | 0 .../repos_default}/molecule.yml | 0 .../repos_default}/prepare.yml | 0 .../repos_default}/verify.yml | 0 .../repos_elastic8}/INSTALL.rst | 0 .../repos_elastic8}/converge.yml | 0 .../repos_elastic8}/molecule.yml | 0 .../repos_elastic8}/prepare.yml | 0 .../repos_elastic8}/verify.yml | 0 .../oss => molecule/repos_oss}/INSTALL.rst | 0 .../oss => molecule/repos_oss}/converge.yml | 0 .../oss => molecule/repos_oss}/molecule.yml | 0 .../oss => molecule/repos_oss}/prepare.yml | 0 .../oss => molecule/repos_oss}/verify.yml | 0 roles/beats/.github/workflows/molecule.yml | 41 ------- .../molecule/full_stack/requirements.yml | 4 - roles/beats/tests/inventory | 2 - roles/beats/tests/test.yml | 5 - roles/kibana/tests/inventory | 2 - roles/kibana/tests/test.yml | 5 - roles/logstash/.github/workflows/molecule.yml | 101 ------------------ roles/logstash/tests/inventory | 2 - roles/logstash/tests/test.yml | 5 - roles/repos/.github/workflows/molecule.yml | 41 ------- roles/repos/tests/inventory | 2 - roles/repos/tests/test.yml | 5 - 64 files changed, 16 insertions(+), 395 deletions(-) delete mode 100644 .github/workflows/molecule.yml create mode 100644 .github/workflows/test_full_stack.yml rename {roles/logstash/molecule/default => molecule/logstash_default}/converge.yml (100%) rename {roles/logstash/molecule/default => molecule/logstash_default}/molecule.yml (100%) rename {roles/logstash/molecule/default => molecule/logstash_default}/prepare.yml (100%) rename {roles/logstash/molecule/default => molecule/logstash_default}/requirements.yml (100%) rename {roles/logstash/molecule/default => molecule/logstash_default}/verify.yml (100%) rename {roles/logstash/molecule/full_stack-oss => molecule/logstash_full_stack-oss}/converge.yml (100%) rename {roles/logstash/molecule/full_stack-oss => molecule/logstash_full_stack-oss}/molecule.yml (100%) rename {roles/logstash/molecule/full_stack-oss => molecule/logstash_full_stack-oss}/prepare.yml (100%) rename {roles/logstash/molecule/full_stack-oss => molecule/logstash_full_stack-oss}/requirements.yml (100%) rename {roles/logstash/molecule/full_stack-oss => molecule/logstash_full_stack-oss}/verify.yml (100%) rename {roles/logstash/molecule/full_stack => molecule/logstash_full_stack}/converge.yml (100%) rename {roles/logstash/molecule/full_stack => molecule/logstash_full_stack}/molecule.yml (100%) rename {roles/logstash/molecule/full_stack => molecule/logstash_full_stack}/prepare.yml (100%) rename {roles/logstash/molecule/full_stack => molecule/logstash_full_stack}/requirements.yml (100%) rename {roles/logstash/molecule/full_stack => molecule/logstash_full_stack}/verify.yml (100%) rename {roles/logstash/molecule/pipelines => molecule/logstash_pipelines}/INSTALL.rst (100%) rename {roles/logstash/molecule/pipelines => molecule/logstash_pipelines}/converge.yml (100%) rename {roles/logstash/molecule/pipelines => molecule/logstash_pipelines}/molecule.yml (100%) rename {roles/logstash/molecule/pipelines => molecule/logstash_pipelines}/prepare.yml (100%) rename {roles/logstash/molecule/pipelines => molecule/logstash_pipelines}/requirements.yml (100%) rename {roles/logstash/molecule/pipelines => molecule/logstash_pipelines}/verify.yml (100%) rename {roles/logstash/molecule/run_logstash => molecule/logstash_run_logstash}/converge.yml (100%) rename {roles/logstash/molecule/run_logstash => molecule/logstash_run_logstash}/molecule.yml (100%) rename {roles/logstash/molecule/run_logstash => molecule/logstash_run_logstash}/prepare.yml (100%) rename {roles/logstash/molecule/run_logstash => molecule/logstash_run_logstash}/requirements.yml (100%) rename {roles/logstash/molecule/run_logstash => molecule/logstash_run_logstash}/verify.yml (100%) rename {roles/logstash/molecule/specific_version => molecule/logstash_specific_version}/converge.yml (100%) rename {roles/logstash/molecule/specific_version => molecule/logstash_specific_version}/molecule.yml (100%) rename {roles/logstash/molecule/specific_version => molecule/logstash_specific_version}/prepare.yml (100%) rename {roles/logstash/molecule/specific_version => molecule/logstash_specific_version}/requirements.yml (100%) rename {roles/logstash/molecule/specific_version => molecule/logstash_specific_version}/verify.yml (100%) delete mode 100644 molecule/no-security/converge.yml delete mode 100644 molecule/no-security/molecule.yml delete mode 100644 molecule/no-security/prepare.yml delete mode 100644 molecule/no-security/verify.yml rename {roles/repos/molecule/default => molecule/repos_default}/INSTALL.rst (100%) rename {roles/repos/molecule/default => molecule/repos_default}/converge.yml (100%) rename {roles/repos/molecule/default => molecule/repos_default}/molecule.yml (100%) rename {roles/repos/molecule/default => molecule/repos_default}/prepare.yml (100%) rename {roles/repos/molecule/default => molecule/repos_default}/verify.yml (100%) rename {roles/repos/molecule/elastic8 => molecule/repos_elastic8}/INSTALL.rst (100%) rename {roles/repos/molecule/elastic8 => molecule/repos_elastic8}/converge.yml (100%) rename {roles/repos/molecule/elastic8 => molecule/repos_elastic8}/molecule.yml (100%) rename {roles/repos/molecule/elastic8 => molecule/repos_elastic8}/prepare.yml (100%) rename {roles/repos/molecule/elastic8 => molecule/repos_elastic8}/verify.yml (100%) rename {roles/repos/molecule/oss => molecule/repos_oss}/INSTALL.rst (100%) rename {roles/repos/molecule/oss => molecule/repos_oss}/converge.yml (100%) rename {roles/repos/molecule/oss => molecule/repos_oss}/molecule.yml (100%) rename {roles/repos/molecule/oss => molecule/repos_oss}/prepare.yml (100%) rename {roles/repos/molecule/oss => molecule/repos_oss}/verify.yml (100%) delete mode 100644 roles/beats/.github/workflows/molecule.yml delete mode 100644 roles/beats/molecule/full_stack/requirements.yml delete mode 100644 roles/beats/tests/inventory delete mode 100644 roles/beats/tests/test.yml delete mode 100644 roles/kibana/tests/inventory delete mode 100644 roles/kibana/tests/test.yml delete mode 100644 roles/logstash/.github/workflows/molecule.yml delete mode 100644 roles/logstash/tests/inventory delete mode 100644 roles/logstash/tests/test.yml delete mode 100644 roles/repos/.github/workflows/molecule.yml delete mode 100644 roles/repos/tests/inventory delete mode 100644 roles/repos/tests/test.yml diff --git a/.github/workflows/molecule.yml b/.github/workflows/molecule.yml deleted file mode 100644 index e830bdea..00000000 --- a/.github/workflows/molecule.yml +++ /dev/null @@ -1,58 +0,0 @@ ---- -name: Molecule Test -on: - push: - tags: - - v* - branches: - - main - - 'feature/**' - - 'fix/**' - - '!doc/**' - pull_request: - branches: - - 'feature/**' - - 'fix/**' - - '!doc/**' - -jobs: - build: - runs-on: ubuntu-latest - - env: - COLLECTION_NAMESPACE: NETWAYS - COLLECTION_NAME: elasticstack - - strategy: - max-parallel: 1 - matrix: - distro: [ubuntu2204] - scenario: [default, cluster, cluster-oss, no-security] - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - python3 -m pip install -r requirements-test.txt - - - name: Install collection - run: | - mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE - cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME - - - - name: Test with molecule - run: | - molecule test -s ${{ matrix.scenario }} - env: - MOLECULE_DISTRO: ${{ matrix.distro }} - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' diff --git a/.github/workflows/test_full_stack.yml b/.github/workflows/test_full_stack.yml new file mode 100644 index 00000000..b05658fe --- /dev/null +++ b/.github/workflows/test_full_stack.yml @@ -0,0 +1,16 @@ +--- +name: Test ElasticStack +on: + push: + tags: + - '*' + branches: + - main + - 'feature/**' + - 'fix/**' + - '!doc/**' + pull_request: + branches: + - 'feature/**' + - 'fix/**' + - '!doc/**' diff --git a/roles/logstash/molecule/default/converge.yml b/molecule/logstash_default/converge.yml similarity index 100% rename from roles/logstash/molecule/default/converge.yml rename to molecule/logstash_default/converge.yml diff --git a/roles/logstash/molecule/default/molecule.yml b/molecule/logstash_default/molecule.yml similarity index 100% rename from roles/logstash/molecule/default/molecule.yml rename to molecule/logstash_default/molecule.yml diff --git a/roles/logstash/molecule/default/prepare.yml b/molecule/logstash_default/prepare.yml similarity index 100% rename from roles/logstash/molecule/default/prepare.yml rename to molecule/logstash_default/prepare.yml diff --git a/roles/logstash/molecule/default/requirements.yml b/molecule/logstash_default/requirements.yml similarity index 100% rename from roles/logstash/molecule/default/requirements.yml rename to molecule/logstash_default/requirements.yml diff --git a/roles/logstash/molecule/default/verify.yml b/molecule/logstash_default/verify.yml similarity index 100% rename from roles/logstash/molecule/default/verify.yml rename to molecule/logstash_default/verify.yml diff --git a/roles/logstash/molecule/full_stack-oss/converge.yml b/molecule/logstash_full_stack-oss/converge.yml similarity index 100% rename from roles/logstash/molecule/full_stack-oss/converge.yml rename to molecule/logstash_full_stack-oss/converge.yml diff --git a/roles/logstash/molecule/full_stack-oss/molecule.yml b/molecule/logstash_full_stack-oss/molecule.yml similarity index 100% rename from roles/logstash/molecule/full_stack-oss/molecule.yml rename to molecule/logstash_full_stack-oss/molecule.yml diff --git a/roles/logstash/molecule/full_stack-oss/prepare.yml b/molecule/logstash_full_stack-oss/prepare.yml similarity index 100% rename from roles/logstash/molecule/full_stack-oss/prepare.yml rename to molecule/logstash_full_stack-oss/prepare.yml diff --git a/roles/logstash/molecule/full_stack-oss/requirements.yml b/molecule/logstash_full_stack-oss/requirements.yml similarity index 100% rename from roles/logstash/molecule/full_stack-oss/requirements.yml rename to molecule/logstash_full_stack-oss/requirements.yml diff --git a/roles/logstash/molecule/full_stack-oss/verify.yml b/molecule/logstash_full_stack-oss/verify.yml similarity index 100% rename from roles/logstash/molecule/full_stack-oss/verify.yml rename to molecule/logstash_full_stack-oss/verify.yml diff --git a/roles/logstash/molecule/full_stack/converge.yml b/molecule/logstash_full_stack/converge.yml similarity index 100% rename from roles/logstash/molecule/full_stack/converge.yml rename to molecule/logstash_full_stack/converge.yml diff --git a/roles/logstash/molecule/full_stack/molecule.yml b/molecule/logstash_full_stack/molecule.yml similarity index 100% rename from roles/logstash/molecule/full_stack/molecule.yml rename to molecule/logstash_full_stack/molecule.yml diff --git a/roles/logstash/molecule/full_stack/prepare.yml b/molecule/logstash_full_stack/prepare.yml similarity index 100% rename from roles/logstash/molecule/full_stack/prepare.yml rename to molecule/logstash_full_stack/prepare.yml diff --git a/roles/logstash/molecule/full_stack/requirements.yml b/molecule/logstash_full_stack/requirements.yml similarity index 100% rename from roles/logstash/molecule/full_stack/requirements.yml rename to molecule/logstash_full_stack/requirements.yml diff --git a/roles/logstash/molecule/full_stack/verify.yml b/molecule/logstash_full_stack/verify.yml similarity index 100% rename from roles/logstash/molecule/full_stack/verify.yml rename to molecule/logstash_full_stack/verify.yml diff --git a/roles/logstash/molecule/pipelines/INSTALL.rst b/molecule/logstash_pipelines/INSTALL.rst similarity index 100% rename from roles/logstash/molecule/pipelines/INSTALL.rst rename to molecule/logstash_pipelines/INSTALL.rst diff --git a/roles/logstash/molecule/pipelines/converge.yml b/molecule/logstash_pipelines/converge.yml similarity index 100% rename from roles/logstash/molecule/pipelines/converge.yml rename to molecule/logstash_pipelines/converge.yml diff --git a/roles/logstash/molecule/pipelines/molecule.yml b/molecule/logstash_pipelines/molecule.yml similarity index 100% rename from roles/logstash/molecule/pipelines/molecule.yml rename to molecule/logstash_pipelines/molecule.yml diff --git a/roles/logstash/molecule/pipelines/prepare.yml b/molecule/logstash_pipelines/prepare.yml similarity index 100% rename from roles/logstash/molecule/pipelines/prepare.yml rename to molecule/logstash_pipelines/prepare.yml diff --git a/roles/logstash/molecule/pipelines/requirements.yml b/molecule/logstash_pipelines/requirements.yml similarity index 100% rename from roles/logstash/molecule/pipelines/requirements.yml rename to molecule/logstash_pipelines/requirements.yml diff --git a/roles/logstash/molecule/pipelines/verify.yml b/molecule/logstash_pipelines/verify.yml similarity index 100% rename from roles/logstash/molecule/pipelines/verify.yml rename to molecule/logstash_pipelines/verify.yml diff --git a/roles/logstash/molecule/run_logstash/converge.yml b/molecule/logstash_run_logstash/converge.yml similarity index 100% rename from roles/logstash/molecule/run_logstash/converge.yml rename to molecule/logstash_run_logstash/converge.yml diff --git a/roles/logstash/molecule/run_logstash/molecule.yml b/molecule/logstash_run_logstash/molecule.yml similarity index 100% rename from roles/logstash/molecule/run_logstash/molecule.yml rename to molecule/logstash_run_logstash/molecule.yml diff --git a/roles/logstash/molecule/run_logstash/prepare.yml b/molecule/logstash_run_logstash/prepare.yml similarity index 100% rename from roles/logstash/molecule/run_logstash/prepare.yml rename to molecule/logstash_run_logstash/prepare.yml diff --git a/roles/logstash/molecule/run_logstash/requirements.yml b/molecule/logstash_run_logstash/requirements.yml similarity index 100% rename from roles/logstash/molecule/run_logstash/requirements.yml rename to molecule/logstash_run_logstash/requirements.yml diff --git a/roles/logstash/molecule/run_logstash/verify.yml b/molecule/logstash_run_logstash/verify.yml similarity index 100% rename from roles/logstash/molecule/run_logstash/verify.yml rename to molecule/logstash_run_logstash/verify.yml diff --git a/roles/logstash/molecule/specific_version/converge.yml b/molecule/logstash_specific_version/converge.yml similarity index 100% rename from roles/logstash/molecule/specific_version/converge.yml rename to molecule/logstash_specific_version/converge.yml diff --git a/roles/logstash/molecule/specific_version/molecule.yml b/molecule/logstash_specific_version/molecule.yml similarity index 100% rename from roles/logstash/molecule/specific_version/molecule.yml rename to molecule/logstash_specific_version/molecule.yml diff --git a/roles/logstash/molecule/specific_version/prepare.yml b/molecule/logstash_specific_version/prepare.yml similarity index 100% rename from roles/logstash/molecule/specific_version/prepare.yml rename to molecule/logstash_specific_version/prepare.yml diff --git a/roles/logstash/molecule/specific_version/requirements.yml b/molecule/logstash_specific_version/requirements.yml similarity index 100% rename from roles/logstash/molecule/specific_version/requirements.yml rename to molecule/logstash_specific_version/requirements.yml diff --git a/roles/logstash/molecule/specific_version/verify.yml b/molecule/logstash_specific_version/verify.yml similarity index 100% rename from roles/logstash/molecule/specific_version/verify.yml rename to molecule/logstash_specific_version/verify.yml diff --git a/molecule/no-security/converge.yml b/molecule/no-security/converge.yml deleted file mode 100644 index 70361213..00000000 --- a/molecule/no-security/converge.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -# The workaround for arbitrarily named role directory is important because the git repo has one name and the role within it another -# Found at: https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 -- name: Converge - collections: - - NETWAYS.elasticstack - hosts: all - vars: - elasticsearch_security: false - elasticsearch_jna_workaround: true - elasticsearch_disable_systemcallfilterchecks: true - tasks: - - name: Include Elastics repos role - include_role: - name: repos - - name: Include Elasticsearch - include_role: - name: elasticsearch diff --git a/molecule/no-security/molecule.yml b/molecule/no-security/molecule.yml deleted file mode 100644 index f980152b..00000000 --- a/molecule/no-security/molecule.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -dependency: - name: galaxy -driver: - name: docker -platforms: - - name: elasticsearch_no_security - groups: - - elasticsearch - image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true -provisioner: - name: ansible -verifier: - name: ansible diff --git a/molecule/no-security/prepare.yml b/molecule/no-security/prepare.yml deleted file mode 100644 index d6abc016..00000000 --- a/molecule/no-security/prepare.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -- name: Prepare - hosts: all - tasks: - - name: Refresh apt cache - apt: - update_cache: yes - when: ansible_os_family == "Debian" - - - name: Install git - package: - name: git - - - name: Install packages for RHEL - package: - name: - - iproute - - NetworkManager - when: ansible_os_family == "RedHat" - - - name: Start NetworkManager - service: - name: NetworkManager - state: started - enabled: yes - when: ansible_os_family == "RedHat" - - - name: Install packages for Debian - package: - name: - - gpg - - gpg-agent - - procps - - curl - - iproute2 - when: ansible_os_family == "Debian" diff --git a/molecule/no-security/verify.yml b/molecule/no-security/verify.yml deleted file mode 100644 index b7c3aac2..00000000 --- a/molecule/no-security/verify.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -# This is an example playbook to execute Ansible tests. - -- name: Verify - hosts: all - vars: - elastic_initial_passwords: /usr/share/elasticsearch/initial_passwords - tasks: - - - name: Set elasticsearch_ca variable if not already done by user - set_fact: - elasticsearch_ca: "{{ groups['elasticsearch'][0] }}" - when: elasticsearch_ca is undefined - - - name: Fetch Elastic password - shell: grep "PASSWORD elastic" {{ elastic_initial_passwords }} | awk {' print $4 '} - register: elastic_password - changed_when: false - delegate_to: "{{ elasticsearch_ca }}" - - -# Remember, this is the no-security scenario. So no https - - name: Health check - uri: - url: http://localhost:9200/_cluster/health - method: GET - force_basic_auth: yes - user: elastic - password: "{{ elastic_password.stdout }}" - return_content: yes - status_code: 200 - validate_certs: false - register: result - until: result.json.status == "green" - retries: 6 - delay: 10 - - - name: Node check - uri: - url: http://localhost:9200/_cat/nodes - method: GET - force_basic_auth: yes - user: elastic - password: "{{ elastic_password.stdout }}" - return_content: yes - status_code: 200 - validate_certs: false - register: nodes diff --git a/roles/repos/molecule/default/INSTALL.rst b/molecule/repos_default/INSTALL.rst similarity index 100% rename from roles/repos/molecule/default/INSTALL.rst rename to molecule/repos_default/INSTALL.rst diff --git a/roles/repos/molecule/default/converge.yml b/molecule/repos_default/converge.yml similarity index 100% rename from roles/repos/molecule/default/converge.yml rename to molecule/repos_default/converge.yml diff --git a/roles/repos/molecule/default/molecule.yml b/molecule/repos_default/molecule.yml similarity index 100% rename from roles/repos/molecule/default/molecule.yml rename to molecule/repos_default/molecule.yml diff --git a/roles/repos/molecule/default/prepare.yml b/molecule/repos_default/prepare.yml similarity index 100% rename from roles/repos/molecule/default/prepare.yml rename to molecule/repos_default/prepare.yml diff --git a/roles/repos/molecule/default/verify.yml b/molecule/repos_default/verify.yml similarity index 100% rename from roles/repos/molecule/default/verify.yml rename to molecule/repos_default/verify.yml diff --git a/roles/repos/molecule/elastic8/INSTALL.rst b/molecule/repos_elastic8/INSTALL.rst similarity index 100% rename from roles/repos/molecule/elastic8/INSTALL.rst rename to molecule/repos_elastic8/INSTALL.rst diff --git a/roles/repos/molecule/elastic8/converge.yml b/molecule/repos_elastic8/converge.yml similarity index 100% rename from roles/repos/molecule/elastic8/converge.yml rename to molecule/repos_elastic8/converge.yml diff --git a/roles/repos/molecule/elastic8/molecule.yml b/molecule/repos_elastic8/molecule.yml similarity index 100% rename from roles/repos/molecule/elastic8/molecule.yml rename to molecule/repos_elastic8/molecule.yml diff --git a/roles/repos/molecule/elastic8/prepare.yml b/molecule/repos_elastic8/prepare.yml similarity index 100% rename from roles/repos/molecule/elastic8/prepare.yml rename to molecule/repos_elastic8/prepare.yml diff --git a/roles/repos/molecule/elastic8/verify.yml b/molecule/repos_elastic8/verify.yml similarity index 100% rename from roles/repos/molecule/elastic8/verify.yml rename to molecule/repos_elastic8/verify.yml diff --git a/roles/repos/molecule/oss/INSTALL.rst b/molecule/repos_oss/INSTALL.rst similarity index 100% rename from roles/repos/molecule/oss/INSTALL.rst rename to molecule/repos_oss/INSTALL.rst diff --git a/roles/repos/molecule/oss/converge.yml b/molecule/repos_oss/converge.yml similarity index 100% rename from roles/repos/molecule/oss/converge.yml rename to molecule/repos_oss/converge.yml diff --git a/roles/repos/molecule/oss/molecule.yml b/molecule/repos_oss/molecule.yml similarity index 100% rename from roles/repos/molecule/oss/molecule.yml rename to molecule/repos_oss/molecule.yml diff --git a/roles/repos/molecule/oss/prepare.yml b/molecule/repos_oss/prepare.yml similarity index 100% rename from roles/repos/molecule/oss/prepare.yml rename to molecule/repos_oss/prepare.yml diff --git a/roles/repos/molecule/oss/verify.yml b/molecule/repos_oss/verify.yml similarity index 100% rename from roles/repos/molecule/oss/verify.yml rename to molecule/repos_oss/verify.yml diff --git a/roles/beats/.github/workflows/molecule.yml b/roles/beats/.github/workflows/molecule.yml deleted file mode 100644 index 6a912b1b..00000000 --- a/roles/beats/.github/workflows/molecule.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: Molecule Test -on: - push: - tags: - - v* - branches: - - master - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - max-parallel: 1 - matrix: - distro: [debian11, rockylinux8, ubuntu2204] - scenario: [default, full_stack, peculiar] - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - python3 -m pip install -r requirements-test.txt - - - name: Test with molecule - run: | - molecule test -s ${{ matrix.scenario }} - env: - MOLECULE_DISTRO: ${{ matrix.distro }} - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' diff --git a/roles/beats/molecule/full_stack/requirements.yml b/roles/beats/molecule/full_stack/requirements.yml deleted file mode 100644 index 4d31d184..00000000 --- a/roles/beats/molecule/full_stack/requirements.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -roles: - - name: geerlingguy.redis - version: "1.6.0" diff --git a/roles/beats/tests/inventory b/roles/beats/tests/inventory deleted file mode 100644 index 878877b0..00000000 --- a/roles/beats/tests/inventory +++ /dev/null @@ -1,2 +0,0 @@ -localhost - diff --git a/roles/beats/tests/test.yml b/roles/beats/tests/test.yml deleted file mode 100644 index b9b9672b..00000000 --- a/roles/beats/tests/test.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - beats diff --git a/roles/kibana/tests/inventory b/roles/kibana/tests/inventory deleted file mode 100644 index 878877b0..00000000 --- a/roles/kibana/tests/inventory +++ /dev/null @@ -1,2 +0,0 @@ -localhost - diff --git a/roles/kibana/tests/test.yml b/roles/kibana/tests/test.yml deleted file mode 100644 index 5ed0a818..00000000 --- a/roles/kibana/tests/test.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - kibana diff --git a/roles/logstash/.github/workflows/molecule.yml b/roles/logstash/.github/workflows/molecule.yml deleted file mode 100644 index 6f6fcdd8..00000000 --- a/roles/logstash/.github/workflows/molecule.yml +++ /dev/null @@ -1,101 +0,0 @@ ---- -name: Molecule Test -on: - push: - tags: - - v* - branches: - - master - pull_request: - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - name: Check out the codebase. - uses: actions/checkout@v3 - - - name: Set up Python 3. - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - - name: Install test dependencies. - run: | - python3 -m pip install --upgrade pip - python3 -m pip install yamllint ansible-lint - - - name: Lint code. - run: | - yamllint . - ansible-lint . - env: - MOLECULE_DISTRO: ${{ matrix.distro }} - PY_COLORS: '1' - - molecule_default: - runs-on: ubuntu-latest - needs: lint - - strategy: - matrix: - distro: [ubuntu2204] - scenario: [default] - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - python3 -m pip install -r requirements-test.txt - - - name: Test with molecule - run: | - molecule test -s ${{ matrix.scenario }} - env: - MOLECULE_DISTRO: ${{ matrix.distro }} - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - - molecule_tests: - runs-on: ubuntu-latest - needs: molecule_default - - strategy: - max-parallel: 1 - matrix: - distro: [ubuntu2204] - scenario: [run_logstash, - full_stack, - full_stack-oss, - specific_version, - pipelines] - - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - python3 -m pip install -r requirements-test.txt - - - name: Test with molecule - run: | - molecule test -s ${{ matrix.scenario }} - env: - MOLECULE_DISTRO: ${{ matrix.distro }} - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' diff --git a/roles/logstash/tests/inventory b/roles/logstash/tests/inventory deleted file mode 100644 index 878877b0..00000000 --- a/roles/logstash/tests/inventory +++ /dev/null @@ -1,2 +0,0 @@ -localhost - diff --git a/roles/logstash/tests/test.yml b/roles/logstash/tests/test.yml deleted file mode 100644 index 1a125ce6..00000000 --- a/roles/logstash/tests/test.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - logstash diff --git a/roles/repos/.github/workflows/molecule.yml b/roles/repos/.github/workflows/molecule.yml deleted file mode 100644 index f1053ef1..00000000 --- a/roles/repos/.github/workflows/molecule.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -name: CI -on: - push: - tags: - - v* - branches: - - main - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - max-parallel: 4 - matrix: - - distro: [centos7, debian10, debian11, rockylinux8, rockylinux9, ubuntu2004, ubuntu2204] - scenario: [default, oss, elastic8] - - steps: - - name: Check out code - uses: actions/checkout@v2 - - - name: Set up Python 3.8 - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - python3 -m pip install -r requirements-test.txt - ansible-galaxy collection install community.general - - - name: Test with molecule - run: | - molecule test -s ${{ matrix.scenario }} - env: - MOLECULE_DISTRO: ${{ matrix.distro }} diff --git a/roles/repos/tests/inventory b/roles/repos/tests/inventory deleted file mode 100644 index 878877b0..00000000 --- a/roles/repos/tests/inventory +++ /dev/null @@ -1,2 +0,0 @@ -localhost - diff --git a/roles/repos/tests/test.yml b/roles/repos/tests/test.yml deleted file mode 100644 index a45b587d..00000000 --- a/roles/repos/tests/test.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - elastic-repos \ No newline at end of file From 92195b627508c534a3c9e6b1e290403c4a71f658 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:09:20 +0100 Subject: [PATCH 10/31] fix workflow issue missing needed job --- .github/workflows/test_role_logstash.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index c416629c..d9d4aa39 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -39,7 +39,7 @@ jobs: yamllint roles/logstash/ ansible-lint roles/logstash/ - build: + molecule_default: runs-on: ubuntu-latest needs: lint From 64d83965f173cfc71f0f3d88b994164a17e70cf7 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:10:53 +0100 Subject: [PATCH 11/31] build if in actions something changed --- .github/workflows/test_role_logstash.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index d9d4aa39..c94c520f 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -8,6 +8,7 @@ on: - '!doc/**' paths: - 'roles/logstash/**' + - '.github/workflows/test_role_logstash.yml' pull_request: branches: - 'feature/**' @@ -15,6 +16,7 @@ on: - '!doc/**' paths: - 'roles/logstash/**' + - '.github/workflows/test_role_logstash.yml' jobs: From 4d5a3a876d01dd9fc56fae6cb005809b551360e0 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:26:38 +0100 Subject: [PATCH 12/31] update logstash default build --- .github/workflows/test_role_logstash.yml | 2 ++ molecule/logstash_default/converge.yml | 10 ++++++---- molecule/logstash_default/molecule.yml | 4 ---- molecule/logstash_default/requirements.yml | 5 ----- molecule/logstash_default/verify.yml | 9 --------- 5 files changed, 8 insertions(+), 22 deletions(-) delete mode 100644 molecule/logstash_default/verify.yml diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index c94c520f..b08d1c9e 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -9,6 +9,7 @@ on: paths: - 'roles/logstash/**' - '.github/workflows/test_role_logstash.yml' + - 'molecule/logstash_**' pull_request: branches: - 'feature/**' @@ -17,6 +18,7 @@ on: paths: - 'roles/logstash/**' - '.github/workflows/test_role_logstash.yml' + - 'molecule/logstash_**' jobs: diff --git a/molecule/logstash_default/converge.yml b/molecule/logstash_default/converge.yml index 1c223401..a0e058a0 100644 --- a/molecule/logstash_default/converge.yml +++ b/molecule/logstash_default/converge.yml @@ -5,10 +5,12 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack tasks: - - name: "Include Elastics repos role" + - name: Include Elastics repos role include_role: - name: elastic-repos - - name: "Include Logstash" + name: repos + - name: Include Logstash include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: logstash diff --git a/molecule/logstash_default/molecule.yml b/molecule/logstash_default/molecule.yml index d2c41917..abb31a5e 100644 --- a/molecule/logstash_default/molecule.yml +++ b/molecule/logstash_default/molecule.yml @@ -16,7 +16,3 @@ provisioner: name: ansible verifier: name: ansible -lint: | - set -e - yamllint . - ansible-lint . diff --git a/molecule/logstash_default/requirements.yml b/molecule/logstash_default/requirements.yml index dd080349..8dd51618 100644 --- a/molecule/logstash_default/requirements.yml +++ b/molecule/logstash_default/requirements.yml @@ -1,8 +1,3 @@ --- -roles: - - name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git - collections: - community.general diff --git a/molecule/logstash_default/verify.yml b/molecule/logstash_default/verify.yml deleted file mode 100644 index a82dd6fd..00000000 --- a/molecule/logstash_default/verify.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -# This is an example playbook to execute Ansible tests. - -- name: Verify - hosts: all - tasks: - - name: Example assertion - assert: - that: true From db0a91101a4cc487ce8ea732fd998987e814f4cc Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 13:45:27 +0100 Subject: [PATCH 13/31] update builds --- .github/workflows/test_role_beats.yml | 4 ++++ .github/workflows/test_role_elasticsearch.yml | 4 ++++ .github/workflows/test_role_kibana.yml | 4 ++++ .github/workflows/test_role_repos.yml | 6 ++++- molecule/logstash_full_stack-oss/converge.yml | 6 +++-- .../logstash_full_stack-oss/requirements.yml | 9 -------- molecule/logstash_full_stack/converge.yml | 16 ++++++++------ molecule/logstash_full_stack/requirements.yml | 9 -------- molecule/logstash_pipelines/INSTALL.rst | 22 ------------------- molecule/logstash_pipelines/converge.yml | 6 +++-- molecule/logstash_pipelines/requirements.yml | 3 --- molecule/logstash_run_logstash/converge.yml | 12 +++++----- .../logstash_run_logstash/requirements.yml | 4 ---- .../logstash_specific_version/converge.yml | 6 +++-- .../requirements.yml | 3 --- molecule/repos_default/INSTALL.rst | 22 ------------------- molecule/repos_default/converge.yml | 8 +++---- 17 files changed, 49 insertions(+), 95 deletions(-) delete mode 100644 molecule/logstash_pipelines/INSTALL.rst delete mode 100644 molecule/repos_default/INSTALL.rst diff --git a/.github/workflows/test_role_beats.yml b/.github/workflows/test_role_beats.yml index 3b9ee1f8..b05abeb2 100644 --- a/.github/workflows/test_role_beats.yml +++ b/.github/workflows/test_role_beats.yml @@ -8,6 +8,8 @@ on: - '!doc/**' paths: - 'roles/beats/**' + - '.github/workflows/test_role_beats.yml' + - 'molecule/beats_**' pull_request: branches: - 'feature/**' @@ -15,6 +17,8 @@ on: - '!doc/**' paths: - 'roles/beats/**' + - '.github/workflows/test_role_beats.yml' + - 'molecule/beats_**' jobs: lint: diff --git a/.github/workflows/test_role_elasticsearch.yml b/.github/workflows/test_role_elasticsearch.yml index 137a986c..0f5983fc 100644 --- a/.github/workflows/test_role_elasticsearch.yml +++ b/.github/workflows/test_role_elasticsearch.yml @@ -8,6 +8,8 @@ on: - '!doc/**' paths: - 'roles/elasticsearch/**' + - '.github/workflows/test_role_elasticsearch.yml' + - 'molecule/elasticsearch_**' pull_request: branches: - 'feature/**' @@ -15,6 +17,8 @@ on: - '!doc/**' paths: - 'roles/elasticsearch/**' + - '.github/workflows/test_role_elasticsearch.yml' + - 'molecule/elasticsearch_**' jobs: lint: diff --git a/.github/workflows/test_role_kibana.yml b/.github/workflows/test_role_kibana.yml index bae7174c..4d9a951f 100644 --- a/.github/workflows/test_role_kibana.yml +++ b/.github/workflows/test_role_kibana.yml @@ -8,6 +8,8 @@ on: - '!doc/**' paths: - 'roles/kibana/**' + - '.github/workflows/test_role_kibana.yml' + - 'molecule/kibana_**' pull_request: branches: - 'feature/**' @@ -15,6 +17,8 @@ on: - '!doc/**' paths: - 'roles/kibana/**' + - '.github/workflows/test_role_kibana.yml' + - 'molecule/kibana_**' jobs: lint: diff --git a/.github/workflows/test_role_repos.yml b/.github/workflows/test_role_repos.yml index e779c75e..8c5b9326 100644 --- a/.github/workflows/test_role_repos.yml +++ b/.github/workflows/test_role_repos.yml @@ -7,6 +7,8 @@ on: - '!doc/**' paths: - 'roles/repos/**' + - '.github/workflows/test_role_repos.yml' + - 'molecule/repos_**' pull_request: branches: - 'feature/**' @@ -14,6 +16,8 @@ on: - '!doc/**' paths: - 'roles/repos/**' + - '.github/workflows/test_role_repos.yml' + - 'molecule/repos_**' jobs: lint: @@ -36,7 +40,7 @@ jobs: run: | yamllint roles/repos/ ansible-lint roles/repos/ - + build: runs-on: ubuntu-latest diff --git a/molecule/logstash_full_stack-oss/converge.yml b/molecule/logstash_full_stack-oss/converge.yml index 3fac731a..651e89b2 100644 --- a/molecule/logstash_full_stack-oss/converge.yml +++ b/molecule/logstash_full_stack-oss/converge.yml @@ -11,6 +11,8 @@ # Logstash - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: elastic_stack_full_stack: true elastic_variant: oss @@ -22,7 +24,7 @@ tasks: - name: "Include Elastics repos role" include_role: - name: elastic-repos + name: repos - name: Install rsyslog package: name: rsyslog @@ -41,7 +43,7 @@ name: geerlingguy.redis - name: "Include Logstash" include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: logstash - name: Configure rsyslog lineinfile: line: "*.* @@localhost:514" diff --git a/molecule/logstash_full_stack-oss/requirements.yml b/molecule/logstash_full_stack-oss/requirements.yml index f16b9b49..a0014bbc 100644 --- a/molecule/logstash_full_stack-oss/requirements.yml +++ b/molecule/logstash_full_stack-oss/requirements.yml @@ -1,14 +1,5 @@ --- roles: - - name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git - - name: elasticsearch - src: https://github.com/NETWAYS/ansible-role-elasticsearch.git - scm: git - - name: beats - src: https://github.com/NETWAYS/ansible-role-beats.git - scm: git # Versions 1.7.0 and 1.8.0 seem to have a problem with idempotency - name: geerlingguy.redis version: "1.6.0" diff --git a/molecule/logstash_full_stack/converge.yml b/molecule/logstash_full_stack/converge.yml index 5a3255ed..30185bdd 100644 --- a/molecule/logstash_full_stack/converge.yml +++ b/molecule/logstash_full_stack/converge.yml @@ -5,14 +5,16 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: elastic_stack_full_stack: true filebeat_syslog_udp: true filebeat_syslog_tcp: true tasks: - - name: "Include Elastics repos role" + - name: Include repos role include_role: - name: elastic-repos + name: repos - name: Install rsyslog package: name: rsyslog @@ -20,18 +22,18 @@ service: name: rsyslog state: started - - name: "Include Elasticsearch role" + - name: Include Elasticsearch role include_role: name: elasticsearch - - name: "Include Beats" + - name: Include Beats include_role: name: beats - - name: "Include Redis" + - name: Include Redis include_role: name: geerlingguy.redis - - name: "Include Logstash" + - name: Include Logstash include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: logstash - name: Configure rsyslog lineinfile: line: "*.* @@localhost:514" diff --git a/molecule/logstash_full_stack/requirements.yml b/molecule/logstash_full_stack/requirements.yml index f16b9b49..a0014bbc 100644 --- a/molecule/logstash_full_stack/requirements.yml +++ b/molecule/logstash_full_stack/requirements.yml @@ -1,14 +1,5 @@ --- roles: - - name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git - - name: elasticsearch - src: https://github.com/NETWAYS/ansible-role-elasticsearch.git - scm: git - - name: beats - src: https://github.com/NETWAYS/ansible-role-beats.git - scm: git # Versions 1.7.0 and 1.8.0 seem to have a problem with idempotency - name: geerlingguy.redis version: "1.6.0" diff --git a/molecule/logstash_pipelines/INSTALL.rst b/molecule/logstash_pipelines/INSTALL.rst deleted file mode 100644 index 6a44bde9..00000000 --- a/molecule/logstash_pipelines/INSTALL.rst +++ /dev/null @@ -1,22 +0,0 @@ -******* -Docker driver installation guide -******* - -Requirements -============ - -* Docker Engine - -Install -======= - -Please refer to the `Virtual environment`_ documentation for installation best -practices. If not using a virtual environment, please consider passing the -widely recommended `'--user' flag`_ when invoking ``pip``. - -.. _Virtual environment: https://virtualenv.pypa.io/en/latest/ -.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site - -.. code-block:: bash - - $ pip install 'molecule[docker]' diff --git a/molecule/logstash_pipelines/converge.yml b/molecule/logstash_pipelines/converge.yml index 4aaa10a3..7ba9141d 100644 --- a/molecule/logstash_pipelines/converge.yml +++ b/molecule/logstash_pipelines/converge.yml @@ -6,6 +6,8 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: logstash_enable: true logstash_pipelines: @@ -30,10 +32,10 @@ tasks: - name: "Include Elastics repos role" include_role: - name: elastic-repos + name: repos - name: "Include Redis" include_role: name: geerlingguy.redis - name: "Include Logstash" include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: logstash diff --git a/molecule/logstash_pipelines/requirements.yml b/molecule/logstash_pipelines/requirements.yml index 5d8c1146..a0014bbc 100644 --- a/molecule/logstash_pipelines/requirements.yml +++ b/molecule/logstash_pipelines/requirements.yml @@ -1,8 +1,5 @@ --- roles: - - name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git # Versions 1.7.0 and 1.8.0 seem to have a problem with idempotency - name: geerlingguy.redis version: "1.6.0" diff --git a/molecule/logstash_run_logstash/converge.yml b/molecule/logstash_run_logstash/converge.yml index 7f886f73..0dcb72ec 100644 --- a/molecule/logstash_run_logstash/converge.yml +++ b/molecule/logstash_run_logstash/converge.yml @@ -6,6 +6,8 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: logstash_enable: true logstash_deactivate_log_to_syslog: false @@ -39,12 +41,12 @@ - name: forwarder key: forwarder tasks: - - name: "Include Elastics repos role" + - name: Include Elastics repos role include_role: - name: elastic-repos - - name: "Include Redis" + name: repos + - name: Include Redis include_role: name: geerlingguy.redis - - name: "Include Logstash" + - name: Include Logstash include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: logstash diff --git a/molecule/logstash_run_logstash/requirements.yml b/molecule/logstash_run_logstash/requirements.yml index 5d8c1146..0002bca8 100644 --- a/molecule/logstash_run_logstash/requirements.yml +++ b/molecule/logstash_run_logstash/requirements.yml @@ -1,9 +1,5 @@ --- roles: - - name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git - # Versions 1.7.0 and 1.8.0 seem to have a problem with idempotency - name: geerlingguy.redis version: "1.6.0" diff --git a/molecule/logstash_specific_version/converge.yml b/molecule/logstash_specific_version/converge.yml index 953d695d..b4910eaf 100644 --- a/molecule/logstash_specific_version/converge.yml +++ b/molecule/logstash_specific_version/converge.yml @@ -5,6 +5,8 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: logstash_manage_logging: true logstash_logging_console: false @@ -24,8 +26,8 @@ - name: "Include Elastics repos role" include_role: - name: elastic-repos + name: repos - name: "Include Logstash" include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: logstash diff --git a/molecule/logstash_specific_version/requirements.yml b/molecule/logstash_specific_version/requirements.yml index 5d8c1146..a0014bbc 100644 --- a/molecule/logstash_specific_version/requirements.yml +++ b/molecule/logstash_specific_version/requirements.yml @@ -1,8 +1,5 @@ --- roles: - - name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git # Versions 1.7.0 and 1.8.0 seem to have a problem with idempotency - name: geerlingguy.redis version: "1.6.0" diff --git a/molecule/repos_default/INSTALL.rst b/molecule/repos_default/INSTALL.rst deleted file mode 100644 index d926ca25..00000000 --- a/molecule/repos_default/INSTALL.rst +++ /dev/null @@ -1,22 +0,0 @@ -******* -Docker driver installation guide -******* - -Requirements -============ - -* Docker Engine - -Install -======= - -Please refer to the `Virtual environment`_ documentation for installation best -practices. If not using a virtual environment, please consider passing the -widely recommended `'--user' flag`_ when invoking ``pip``. - -.. _Virtual environment: https://virtualenv.pypa.io/en/latest/ -.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site - -.. code-block:: bash - - $ python3 -m pip install 'molecule[docker]' diff --git a/molecule/repos_default/converge.yml b/molecule/repos_default/converge.yml index 8e548d83..12597e29 100644 --- a/molecule/repos_default/converge.yml +++ b/molecule/repos_default/converge.yml @@ -1,11 +1,11 @@ --- -# The workaround for arbitrarily named role directory is important because the git repo has one name and the role within it another -# Found at: https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: elastic_rpm_workaround: true tasks: - - name: "Include Elastic Repos" + - name: Include Elastic Repos ansible.builtin.include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: repos From 2fd810e89230f4a7c229e5d6832f10737821e564 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 14:01:59 +0100 Subject: [PATCH 14/31] remove all lint in molecule --- molecule/elasticsearch_default/molecule.yml | 4 ---- molecule/repos_default/molecule.yml | 4 ---- molecule/repos_elastic8/molecule.yml | 4 ---- molecule/repos_oss/molecule.yml | 4 ---- 4 files changed, 16 deletions(-) diff --git a/molecule/elasticsearch_default/molecule.yml b/molecule/elasticsearch_default/molecule.yml index b7dcfa0e..2c25892d 100644 --- a/molecule/elasticsearch_default/molecule.yml +++ b/molecule/elasticsearch_default/molecule.yml @@ -18,7 +18,3 @@ provisioner: name: ansible verifier: name: ansible -#lint: | -# set -e -# yamllint . -# ansible-lint . diff --git a/molecule/repos_default/molecule.yml b/molecule/repos_default/molecule.yml index 6b7f99cd..02acc988 100644 --- a/molecule/repos_default/molecule.yml +++ b/molecule/repos_default/molecule.yml @@ -15,7 +15,3 @@ provisioner: name: ansible verifier: name: ansible -lint: | - set -e - yamllint . - ansible-lint . diff --git a/molecule/repos_elastic8/molecule.yml b/molecule/repos_elastic8/molecule.yml index 6b7f99cd..02acc988 100644 --- a/molecule/repos_elastic8/molecule.yml +++ b/molecule/repos_elastic8/molecule.yml @@ -15,7 +15,3 @@ provisioner: name: ansible verifier: name: ansible -lint: | - set -e - yamllint . - ansible-lint . diff --git a/molecule/repos_oss/molecule.yml b/molecule/repos_oss/molecule.yml index 9e030476..bd326486 100644 --- a/molecule/repos_oss/molecule.yml +++ b/molecule/repos_oss/molecule.yml @@ -15,7 +15,3 @@ provisioner: name: ansible verifier: name: ansible -lint: | - set -e - yamllint . - ansible-lint . From 8058c470c2fd615c93ec726535eecef937265cf3 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 14:07:09 +0100 Subject: [PATCH 15/31] cleanup builds --- molecule/beats_peculiar/converge.yml | 6 +++-- molecule/beats_peculiar/requirements.yml | 3 --- molecule/elasticsearch_cluster-8/converge.yml | 6 +++-- molecule/repos_elastic8/INSTALL.rst | 22 ------------------- molecule/repos_elastic8/converge.yml | 4 +++- molecule/repos_oss/INSTALL.rst | 22 ------------------- molecule/repos_oss/converge.yml | 4 +++- 7 files changed, 14 insertions(+), 53 deletions(-) delete mode 100644 molecule/repos_elastic8/INSTALL.rst delete mode 100644 molecule/repos_oss/INSTALL.rst diff --git a/molecule/beats_peculiar/converge.yml b/molecule/beats_peculiar/converge.yml index 1caab995..fa7fd830 100644 --- a/molecule/beats_peculiar/converge.yml +++ b/molecule/beats_peculiar/converge.yml @@ -5,6 +5,8 @@ # https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: filebeat_log_inputs: messages: @@ -44,7 +46,7 @@ - name: "Include Elastics repos role" include_role: - name: elastic-repos + name: repos - name: Refresh apt cache apt: @@ -54,4 +56,4 @@ - name: "Include Beats" include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: beats diff --git a/molecule/beats_peculiar/requirements.yml b/molecule/beats_peculiar/requirements.yml index 67222f5c..ed97d539 100644 --- a/molecule/beats_peculiar/requirements.yml +++ b/molecule/beats_peculiar/requirements.yml @@ -1,4 +1 @@ --- -- name: elastic-repos - src: https://github.com/NETWAYS/ansible-role-elastic-repos - scm: git diff --git a/molecule/elasticsearch_cluster-8/converge.yml b/molecule/elasticsearch_cluster-8/converge.yml index 9919a17d..8b3aaa6b 100644 --- a/molecule/elasticsearch_cluster-8/converge.yml +++ b/molecule/elasticsearch_cluster-8/converge.yml @@ -3,6 +3,8 @@ # Found at: https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: # elasticsearch_disable_systemcallfilterchecks: true elastic_release: 8 @@ -10,7 +12,7 @@ tasks: - name: "Include Elastics repos role" include_role: - name: elastic-repos + name: repos - name: "Include Elasticsearch" include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: elasticsearch diff --git a/molecule/repos_elastic8/INSTALL.rst b/molecule/repos_elastic8/INSTALL.rst deleted file mode 100644 index d926ca25..00000000 --- a/molecule/repos_elastic8/INSTALL.rst +++ /dev/null @@ -1,22 +0,0 @@ -******* -Docker driver installation guide -******* - -Requirements -============ - -* Docker Engine - -Install -======= - -Please refer to the `Virtual environment`_ documentation for installation best -practices. If not using a virtual environment, please consider passing the -widely recommended `'--user' flag`_ when invoking ``pip``. - -.. _Virtual environment: https://virtualenv.pypa.io/en/latest/ -.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site - -.. code-block:: bash - - $ python3 -m pip install 'molecule[docker]' diff --git a/molecule/repos_elastic8/converge.yml b/molecule/repos_elastic8/converge.yml index 03eca761..6c71e2b2 100644 --- a/molecule/repos_elastic8/converge.yml +++ b/molecule/repos_elastic8/converge.yml @@ -2,6 +2,8 @@ # The workaround for arbitrarily named role directory is important because the git repo has one name and the role within it another # Found at: https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge + collections: + - NETWAYS.elasticstack vars: elastic_release: 8 elastic_rpm_workaround: true @@ -9,4 +11,4 @@ tasks: - name: "Include Elastic Repos" ansible.builtin.include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: repos diff --git a/molecule/repos_oss/INSTALL.rst b/molecule/repos_oss/INSTALL.rst deleted file mode 100644 index d926ca25..00000000 --- a/molecule/repos_oss/INSTALL.rst +++ /dev/null @@ -1,22 +0,0 @@ -******* -Docker driver installation guide -******* - -Requirements -============ - -* Docker Engine - -Install -======= - -Please refer to the `Virtual environment`_ documentation for installation best -practices. If not using a virtual environment, please consider passing the -widely recommended `'--user' flag`_ when invoking ``pip``. - -.. _Virtual environment: https://virtualenv.pypa.io/en/latest/ -.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site - -.. code-block:: bash - - $ python3 -m pip install 'molecule[docker]' diff --git a/molecule/repos_oss/converge.yml b/molecule/repos_oss/converge.yml index 5239f868..c98cf928 100644 --- a/molecule/repos_oss/converge.yml +++ b/molecule/repos_oss/converge.yml @@ -3,10 +3,12 @@ # Found at: https://github.com/ansible-community/molecule/issues/1567#issuecomment-436876722 - name: Converge hosts: all + collections: + - NETWAYS.elasticstack vars: elastic_variant: oss elastic_rpm_workaround: true tasks: - name: "Include Elastic Repos" ansible.builtin.include_role: - name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}" + name: repos From c34b6016b3cc7a6bc7f9d2f7211d9c260c922b7a Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 14:09:00 +0100 Subject: [PATCH 16/31] fix repos lint job --- roles/repos/handlers/main.yml | 1 - roles/repos/vars/main.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/roles/repos/handlers/main.yml b/roles/repos/handlers/main.yml index 4f2ac579..ed97d539 100644 --- a/roles/repos/handlers/main.yml +++ b/roles/repos/handlers/main.yml @@ -1,2 +1 @@ --- -# handlers file for elastic-repos \ No newline at end of file diff --git a/roles/repos/vars/main.yml b/roles/repos/vars/main.yml index e3c0fb6f..ed97d539 100644 --- a/roles/repos/vars/main.yml +++ b/roles/repos/vars/main.yml @@ -1,2 +1 @@ --- -# vars file for elastic-repos \ No newline at end of file From 4b2a9fedc12b9ba44a4c5de2d8dd1a555138ef41 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 14:28:26 +0100 Subject: [PATCH 17/31] add warn list ansible lint --- .ansible-lint | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.ansible-lint b/.ansible-lint index 9439efb3..cfc615e4 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -1,3 +1,5 @@ +warn_list: + - name[missing] skip_list: - '106' - 'command-instead-of-module' From f5bf8fd16ddabfe66cbc068e253befdf66849bb8 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Thu, 19 Jan 2023 14:55:26 +0100 Subject: [PATCH 18/31] add full stack build --- .github/workflows/test_full_stack.yml | 46 ++++++++++++++++++++-- molecule/elasticstack_default/converge.yml | 23 +++++++++++ molecule/elasticstack_default/molecule.yml | 30 ++++++++++++++ molecule/elasticstack_default/prepare.yml | 36 +++++++++++++++++ 4 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 molecule/elasticstack_default/converge.yml create mode 100644 molecule/elasticstack_default/molecule.yml create mode 100644 molecule/elasticstack_default/prepare.yml diff --git a/.github/workflows/test_full_stack.yml b/.github/workflows/test_full_stack.yml index b05658fe..46975327 100644 --- a/.github/workflows/test_full_stack.yml +++ b/.github/workflows/test_full_stack.yml @@ -6,11 +6,51 @@ on: - '*' branches: - main - - 'feature/**' - - 'fix/**' - - '!doc/**' pull_request: branches: - 'feature/**' - 'fix/**' - '!doc/**' + +jobs: + build: + runs-on: ubuntu-latest + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + max-parallel: 1 + matrix: + distro: + - ubuntu2204 + scenario: + - elasticstack_default + + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' diff --git a/molecule/elasticstack_default/converge.yml b/molecule/elasticstack_default/converge.yml new file mode 100644 index 00000000..b8b54f6c --- /dev/null +++ b/molecule/elasticstack_default/converge.yml @@ -0,0 +1,23 @@ +--- +- name: Converge + collections: + - NETWAYS.elasticstack + hosts: all + vars: + elasticsearch_jna_workaround: true + elasticsearch_disable_systemcallfilterchecks: true + elastic_stack_full_stack: true + elastic_variant: oss + tasks: + - name: Include Elastic Repos + include_role: + name: repos + - name: Include Elasticsearch role + include_role: + name: elasticsearch + - name: Include logstash + include_role: + name: logstash + - name: Include Kibana + include_role: + name: kibana diff --git a/molecule/elasticstack_default/molecule.yml b/molecule/elasticstack_default/molecule.yml new file mode 100644 index 00000000..56dd07f2 --- /dev/null +++ b/molecule/elasticstack_default/molecule.yml @@ -0,0 +1,30 @@ +--- +dependency: + name: galaxy +driver: + name: docker +platforms: + - name: elasticsearch-cluster1 + groups: + - elasticsearch + image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" + command: ${MOLECULE_DOCKER_COMMAND:-""} + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host + privileged: true + pre_build_image: true + - name: elasticsearch-cluster2 + groups: + - elasticsearch + image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" + command: ${MOLECULE_DOCKER_COMMAND:-""} + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host + privileged: true + pre_build_image: true +provisioner: + name: ansible +verifier: + name: ansible diff --git a/molecule/elasticstack_default/prepare.yml b/molecule/elasticstack_default/prepare.yml new file mode 100644 index 00000000..d6abc016 --- /dev/null +++ b/molecule/elasticstack_default/prepare.yml @@ -0,0 +1,36 @@ +--- +- name: Prepare + hosts: all + tasks: + - name: Refresh apt cache + apt: + update_cache: yes + when: ansible_os_family == "Debian" + + - name: Install git + package: + name: git + + - name: Install packages for RHEL + package: + name: + - iproute + - NetworkManager + when: ansible_os_family == "RedHat" + + - name: Start NetworkManager + service: + name: NetworkManager + state: started + enabled: yes + when: ansible_os_family == "RedHat" + + - name: Install packages for Debian + package: + name: + - gpg + - gpg-agent + - procps + - curl + - iproute2 + when: ansible_os_family == "Debian" From e689ad917382275b1d5ce94a926300d010394d82 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 07:48:46 +0100 Subject: [PATCH 19/31] removed beats empty requirements file --- molecule/beats_peculiar/requirements.yml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 molecule/beats_peculiar/requirements.yml diff --git a/molecule/beats_peculiar/requirements.yml b/molecule/beats_peculiar/requirements.yml deleted file mode 100644 index ed97d539..00000000 --- a/molecule/beats_peculiar/requirements.yml +++ /dev/null @@ -1 +0,0 @@ ---- From 9deb313a2e80845eba91746df06be58e1796aacb Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 07:53:15 +0100 Subject: [PATCH 20/31] add ansible-lint config --- .ansible-lint => .config/ansible-lint.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .ansible-lint => .config/ansible-lint.yml (100%) diff --git a/.ansible-lint b/.config/ansible-lint.yml similarity index 100% rename from .ansible-lint rename to .config/ansible-lint.yml From a3da60f7c568cf004c7b8a93b86842da383cb7a8 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 08:05:09 +0100 Subject: [PATCH 21/31] add lint config to action triggers --- .config/ansible-lint.yml | 1 + .github/workflows/test_role_beats.yml | 2 ++ .github/workflows/test_role_elasticsearch.yml | 6 +++++- .github/workflows/test_role_kibana.yml | 6 +++++- .github/workflows/test_role_logstash.yml | 5 ++++- .github/workflows/test_role_repos.yml | 6 +++++- 6 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.config/ansible-lint.yml b/.config/ansible-lint.yml index cfc615e4..227b241c 100644 --- a/.config/ansible-lint.yml +++ b/.config/ansible-lint.yml @@ -1,5 +1,6 @@ warn_list: - name[missing] + - package-latest skip_list: - '106' - 'command-instead-of-module' diff --git a/.github/workflows/test_role_beats.yml b/.github/workflows/test_role_beats.yml index b05abeb2..6dd6bb6c 100644 --- a/.github/workflows/test_role_beats.yml +++ b/.github/workflows/test_role_beats.yml @@ -10,6 +10,8 @@ on: - 'roles/beats/**' - '.github/workflows/test_role_beats.yml' - 'molecule/beats_**' + - '.config/ansible-lint.yml' + - '.yamllint' pull_request: branches: - 'feature/**' diff --git a/.github/workflows/test_role_elasticsearch.yml b/.github/workflows/test_role_elasticsearch.yml index 0f5983fc..7c2b88ea 100644 --- a/.github/workflows/test_role_elasticsearch.yml +++ b/.github/workflows/test_role_elasticsearch.yml @@ -10,6 +10,8 @@ on: - 'roles/elasticsearch/**' - '.github/workflows/test_role_elasticsearch.yml' - 'molecule/elasticsearch_**' + - '.config/ansible-lint.yml' + - '.yamllint' pull_request: branches: - 'feature/**' @@ -19,7 +21,9 @@ on: - 'roles/elasticsearch/**' - '.github/workflows/test_role_elasticsearch.yml' - 'molecule/elasticsearch_**' - + - '.config/ansible-lint.yml' + - '.yamllint' + jobs: lint: runs-on: ubuntu-latest diff --git a/.github/workflows/test_role_kibana.yml b/.github/workflows/test_role_kibana.yml index 4d9a951f..4d233589 100644 --- a/.github/workflows/test_role_kibana.yml +++ b/.github/workflows/test_role_kibana.yml @@ -10,6 +10,8 @@ on: - 'roles/kibana/**' - '.github/workflows/test_role_kibana.yml' - 'molecule/kibana_**' + - '.config/ansible-lint.yml' + - '.yamllint' pull_request: branches: - 'feature/**' @@ -19,7 +21,9 @@ on: - 'roles/kibana/**' - '.github/workflows/test_role_kibana.yml' - 'molecule/kibana_**' - + - '.config/ansible-lint.yml' + - '.yamllint' + jobs: lint: runs-on: ubuntu-latest diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index b08d1c9e..d226b734 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -10,6 +10,8 @@ on: - 'roles/logstash/**' - '.github/workflows/test_role_logstash.yml' - 'molecule/logstash_**' + - '.config/ansible-lint.yml' + - '.yamllint' pull_request: branches: - 'feature/**' @@ -19,7 +21,8 @@ on: - 'roles/logstash/**' - '.github/workflows/test_role_logstash.yml' - 'molecule/logstash_**' - + - '.config/ansible-lint.yml' + - '.yamllint' jobs: lint: diff --git a/.github/workflows/test_role_repos.yml b/.github/workflows/test_role_repos.yml index 8c5b9326..7373e84a 100644 --- a/.github/workflows/test_role_repos.yml +++ b/.github/workflows/test_role_repos.yml @@ -9,6 +9,8 @@ on: - 'roles/repos/**' - '.github/workflows/test_role_repos.yml' - 'molecule/repos_**' + - '.config/ansible-lint.yml' + - '.yamllint' pull_request: branches: - 'feature/**' @@ -18,7 +20,9 @@ on: - 'roles/repos/**' - '.github/workflows/test_role_repos.yml' - 'molecule/repos_**' - + - '.config/ansible-lint.yml' + - '.yamllint' + jobs: lint: runs-on: ubuntu-latest From bb80ad3f4a01f45d14d858d00927e0dbeb389641 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 08:09:37 +0100 Subject: [PATCH 22/31] update linter warnings --- .config/ansible-lint.yml | 2 ++ .github/workflows/test_role_beats.yml | 3 +++ .github/workflows/test_role_elasticsearch.yml | 3 ++- .github/workflows/test_role_kibana.yml | 3 ++- .github/workflows/test_role_repos.yml | 3 ++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.config/ansible-lint.yml b/.config/ansible-lint.yml index 227b241c..7fcf9c43 100644 --- a/.config/ansible-lint.yml +++ b/.config/ansible-lint.yml @@ -1,6 +1,8 @@ warn_list: + - schema[meta] - name[missing] - package-latest + - jinja[spacing] skip_list: - '106' - 'command-instead-of-module' diff --git a/.github/workflows/test_role_beats.yml b/.github/workflows/test_role_beats.yml index 6dd6bb6c..56c0de33 100644 --- a/.github/workflows/test_role_beats.yml +++ b/.github/workflows/test_role_beats.yml @@ -21,6 +21,8 @@ on: - 'roles/beats/**' - '.github/workflows/test_role_beats.yml' - 'molecule/beats_**' + - '.config/ansible-lint.yml' + - '.yamllint' jobs: lint: @@ -45,6 +47,7 @@ jobs: ansible-lint roles/beats/ build: + needs: lint runs-on: ubuntu-latest env: diff --git a/.github/workflows/test_role_elasticsearch.yml b/.github/workflows/test_role_elasticsearch.yml index 7c2b88ea..66805604 100644 --- a/.github/workflows/test_role_elasticsearch.yml +++ b/.github/workflows/test_role_elasticsearch.yml @@ -23,7 +23,7 @@ on: - 'molecule/elasticsearch_**' - '.config/ansible-lint.yml' - '.yamllint' - + jobs: lint: runs-on: ubuntu-latest @@ -47,6 +47,7 @@ jobs: ansible-lint roles/elasticsearch/ build: + needs: lint runs-on: ubuntu-latest env: diff --git a/.github/workflows/test_role_kibana.yml b/.github/workflows/test_role_kibana.yml index 4d233589..c2e6fd8e 100644 --- a/.github/workflows/test_role_kibana.yml +++ b/.github/workflows/test_role_kibana.yml @@ -23,7 +23,7 @@ on: - 'molecule/kibana_**' - '.config/ansible-lint.yml' - '.yamllint' - + jobs: lint: runs-on: ubuntu-latest @@ -47,6 +47,7 @@ jobs: ansible-lint roles/kibana/ build: + needs: lint runs-on: ubuntu-latest env: diff --git a/.github/workflows/test_role_repos.yml b/.github/workflows/test_role_repos.yml index 7373e84a..72ece3ac 100644 --- a/.github/workflows/test_role_repos.yml +++ b/.github/workflows/test_role_repos.yml @@ -22,7 +22,7 @@ on: - 'molecule/repos_**' - '.config/ansible-lint.yml' - '.yamllint' - + jobs: lint: runs-on: ubuntu-latest @@ -46,6 +46,7 @@ jobs: ansible-lint roles/repos/ build: + needs: lint runs-on: ubuntu-latest env: From 3c1a822f9380610590653dfcd4feb37353e94c10 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 08:18:37 +0100 Subject: [PATCH 23/31] added more lint warnings --- .config/ansible-lint.yml | 5 ++++- roles/kibana/meta/main.yml | 31 +------------------------------ 2 files changed, 5 insertions(+), 31 deletions(-) diff --git a/.config/ansible-lint.yml b/.config/ansible-lint.yml index 7fcf9c43..f9476e58 100644 --- a/.config/ansible-lint.yml +++ b/.config/ansible-lint.yml @@ -1,8 +1,11 @@ warn_list: - - schema[meta] + - schema[meta] - name[missing] - package-latest - jinja[spacing] + - experimental # all rules tagged as experimental + - key-order[task] # Ensure specific order of keys in mappings. + - name[casing] skip_list: - '106' - 'command-instead-of-module' diff --git a/roles/kibana/meta/main.yml b/roles/kibana/meta/main.yml index d51815e1..bb6fdbba 100644 --- a/roles/kibana/meta/main.yml +++ b/roles/kibana/meta/main.yml @@ -3,31 +3,9 @@ galaxy_info: author: netways description: Ansible role for Kibana company: Netways GmbH - - # If the issue tracker for your role is not on github, uncomment the - # next line and provide a value - # issue_tracker_url: http://example.com/issue/tracker - - # Choose a valid license ID from https://spdx.org - some suggested licenses: - # - BSD-3-Clause (default) - # - MIT - # - GPL-2.0-or-later - # - GPL-3.0-only - # - Apache-2.0 - # - CC-BY-4.0 license: GPL-3.0-or-later - min_ansible_version: 2.4 - - # If this a Container Enabled role, provide the minimum Ansible Container version. - # min_ansible_container_version: - - # - # Provide a list of supported platforms, and for each platform a list of versions. - # If you don't wish to enumerate all versions for a particular platform, use 'all'. - # To view available platforms and versions (or releases), visit: - # https://galaxy.ansible.com/api/v1/platforms/ - # + min_ansible_version: "2.4" platforms: - name: CentOS versions: @@ -37,13 +15,6 @@ galaxy_info: - 10 galaxy_tags: [] - # List tags for your role here, one per line. A tag is a keyword that describes - # and categorizes the role. Users find roles by searching for tags. Be sure to - # remove the '[]' above, if you add tags to this list. - # - # NOTE: A tag is limited to a single word comprised of alphanumeric characters. - # Maximum 20 tags per role. - dependencies: [] # List your role dependencies here, one per line. Be sure to remove the '[]' above, # if you add dependencies to this list. From 8d2498348fcb57284de53b52571e9d14e69e5f60 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 08:37:33 +0100 Subject: [PATCH 24/31] add manual trigger to actions [skip ci] --- .github/workflows/test_role_beats.yml | 11 +++++++++++ .github/workflows/test_role_elasticsearch.yml | 11 +++++++++++ .github/workflows/test_role_kibana.yml | 11 +++++++++++ .github/workflows/test_role_logstash.yml | 11 +++++++++++ .github/workflows/test_role_repos.yml | 11 +++++++++++ 5 files changed, 55 insertions(+) diff --git a/.github/workflows/test_role_beats.yml b/.github/workflows/test_role_beats.yml index 56c0de33..46da0b11 100644 --- a/.github/workflows/test_role_beats.yml +++ b/.github/workflows/test_role_beats.yml @@ -1,6 +1,17 @@ --- name: Test Role beats on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug push: branches: - 'feature/**' diff --git a/.github/workflows/test_role_elasticsearch.yml b/.github/workflows/test_role_elasticsearch.yml index 66805604..1f9f2c53 100644 --- a/.github/workflows/test_role_elasticsearch.yml +++ b/.github/workflows/test_role_elasticsearch.yml @@ -1,6 +1,17 @@ --- name: Test Role elasticsearch on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug push: branches: - 'feature/**' diff --git a/.github/workflows/test_role_kibana.yml b/.github/workflows/test_role_kibana.yml index c2e6fd8e..b2cee338 100644 --- a/.github/workflows/test_role_kibana.yml +++ b/.github/workflows/test_role_kibana.yml @@ -1,6 +1,17 @@ --- name: Test Role Kibana on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug push: branches: - 'feature/**' diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index d226b734..80f2b3ed 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -1,6 +1,17 @@ --- name: Test Role Logstash on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug push: branches: - 'feature/**' diff --git a/.github/workflows/test_role_repos.yml b/.github/workflows/test_role_repos.yml index 72ece3ac..fd2dfb13 100644 --- a/.github/workflows/test_role_repos.yml +++ b/.github/workflows/test_role_repos.yml @@ -1,5 +1,16 @@ name: Test Role repos on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug push: branches: - 'feature/**' From 0cc3ffe460b3561cc8ebe8b8d7678a46807c2217 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 08:37:51 +0100 Subject: [PATCH 25/31] fix yaml and yamllint --- .yamllint | 3 +++ roles/elasticsearch/tasks/elasticsearch-security.yml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.yamllint b/.yamllint index 1f203667..b9d032d6 100644 --- a/.yamllint +++ b/.yamllint @@ -1,2 +1,5 @@ --- extends: relaxed + +rules: + line-length: disable diff --git a/roles/elasticsearch/tasks/elasticsearch-security.yml b/roles/elasticsearch/tasks/elasticsearch-security.yml index c56764a6..7ef982d6 100644 --- a/roles/elasticsearch/tasks/elasticsearch-security.yml +++ b/roles/elasticsearch/tasks/elasticsearch-security.yml @@ -45,7 +45,7 @@ when: - "'xpack.security.http.ssl.keystore.secure_password' in es_keystore.stdout_lines" - elasticsearch_http_security - register: http_ssl_keystore_secure_password + register: http_ssl_keystore_secure_password ignore_errors: "{{ ansible_check_mode }}" changed_when: false From fbb35ca9ca38f5d3e7c5e2ab3b4ab14780d52c09 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 08:47:01 +0100 Subject: [PATCH 26/31] change build distro to ubuntu cause of systemd --- .github/workflows/test_role_kibana.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_role_kibana.yml b/.github/workflows/test_role_kibana.yml index b2cee338..ad468809 100644 --- a/.github/workflows/test_role_kibana.yml +++ b/.github/workflows/test_role_kibana.yml @@ -68,7 +68,7 @@ jobs: strategy: max-parallel: 3 matrix: - distro: [centos7] + distro: [ubuntu2204] scenario: [kibana_default, kibana_full_stack, kibana_full_stack-oss] steps: From dc33823e96c3166bb9bc7826a2397fa73abbd120 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 10:10:49 +0100 Subject: [PATCH 27/31] added cgroup volumes --- molecule/kibana_default/molecule.yml | 3 +++ molecule/kibana_full_stack/molecule.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/molecule/kibana_default/molecule.yml b/molecule/kibana_default/molecule.yml index bf81deb2..d279313b 100644 --- a/molecule/kibana_default/molecule.yml +++ b/molecule/kibana_default/molecule.yml @@ -7,6 +7,9 @@ platforms: - name: kibana_default image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host privileged: true pre_build_image: true provisioner: diff --git a/molecule/kibana_full_stack/molecule.yml b/molecule/kibana_full_stack/molecule.yml index 405f67f1..e0ef86e2 100644 --- a/molecule/kibana_full_stack/molecule.yml +++ b/molecule/kibana_full_stack/molecule.yml @@ -10,6 +10,9 @@ platforms: - kibana image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host privileged: true pre_build_image: true provisioner: From 0b7f95339cfa58e4d5478b9159538e4343d30b22 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 10:16:59 +0100 Subject: [PATCH 28/31] added cgroupns_mode and volumes --- molecule/repos_default/molecule.yml | 3 ++- molecule/repos_elastic8/molecule.yml | 3 ++- molecule/repos_oss/molecule.yml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/molecule/repos_default/molecule.yml b/molecule/repos_default/molecule.yml index 02acc988..dbbe9ea0 100644 --- a/molecule/repos_default/molecule.yml +++ b/molecule/repos_default/molecule.yml @@ -8,7 +8,8 @@ platforms: image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:ro + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host privileged: true pre_build_image: true provisioner: diff --git a/molecule/repos_elastic8/molecule.yml b/molecule/repos_elastic8/molecule.yml index 02acc988..dbbe9ea0 100644 --- a/molecule/repos_elastic8/molecule.yml +++ b/molecule/repos_elastic8/molecule.yml @@ -8,7 +8,8 @@ platforms: image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:ro + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host privileged: true pre_build_image: true provisioner: diff --git a/molecule/repos_oss/molecule.yml b/molecule/repos_oss/molecule.yml index bd326486..a083fcd5 100644 --- a/molecule/repos_oss/molecule.yml +++ b/molecule/repos_oss/molecule.yml @@ -8,7 +8,8 @@ platforms: image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:ro + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host privileged: true pre_build_image: true provisioner: From 8557fef44e6e21edf97da2506a372bd3cd374854 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 12:21:15 +0100 Subject: [PATCH 29/31] add general PR build default roles --- .github/workflows/test_roles_pr.yml | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/test_roles_pr.yml diff --git a/.github/workflows/test_roles_pr.yml b/.github/workflows/test_roles_pr.yml new file mode 100644 index 00000000..f6a5291a --- /dev/null +++ b/.github/workflows/test_roles_pr.yml @@ -0,0 +1,55 @@ +ame: Test Collection Roles +on: + pull_request: + branches: + - main + - 'feature/**' + - 'fix/**' + - '!doc/**' + +jobs: + build: + runs-on: ubuntu-latest + + env: + COLLECTION_NAMESPACE: NETWAYS + COLLECTION_NAME: elasticstack + + strategy: + max-parallel: 1 + matrix: + distro: + - ubuntu2204 + scenario: + - beats_default + - elasticsearch_default + - kibana_default + - logstash_default + - repos_default + + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements-test.txt + + - name: Install collection + run: | + mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE + cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME + + - name: Test with molecule + run: | + molecule test -s ${{ matrix.scenario }} + env: + MOLECULE_DISTRO: ${{ matrix.distro }} + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' From 52cdd2dadf274763fb693d6920cc2771df06f860 Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 12:22:37 +0100 Subject: [PATCH 30/31] fix name tag in roles_pr --- .github/workflows/test_roles_pr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_roles_pr.yml b/.github/workflows/test_roles_pr.yml index f6a5291a..54e687ad 100644 --- a/.github/workflows/test_roles_pr.yml +++ b/.github/workflows/test_roles_pr.yml @@ -1,4 +1,5 @@ -ame: Test Collection Roles +--- +name: Test Collection Roles on: pull_request: branches: From 19a71a1cdd6f71fb74c48ce4879b80203e36181e Mon Sep 17 00:00:00 2001 From: Thilo W Date: Fri, 20 Jan 2023 12:32:36 +0100 Subject: [PATCH 31/31] changed fail strategie on all builds --- .github/workflows/test_full_stack.yml | 1 + .github/workflows/test_role_beats.yml | 1 + .github/workflows/test_role_elasticsearch.yml | 1 + .github/workflows/test_role_kibana.yml | 1 + .github/workflows/test_role_logstash.yml | 1 + .github/workflows/test_role_repos.yml | 1 + .github/workflows/test_roles_pr.yml | 1 + 7 files changed, 7 insertions(+) diff --git a/.github/workflows/test_full_stack.yml b/.github/workflows/test_full_stack.yml index 46975327..c8408be2 100644 --- a/.github/workflows/test_full_stack.yml +++ b/.github/workflows/test_full_stack.yml @@ -21,6 +21,7 @@ jobs: COLLECTION_NAME: elasticstack strategy: + fail-fast: false max-parallel: 1 matrix: distro: diff --git a/.github/workflows/test_role_beats.yml b/.github/workflows/test_role_beats.yml index 46da0b11..9fde9e65 100644 --- a/.github/workflows/test_role_beats.yml +++ b/.github/workflows/test_role_beats.yml @@ -66,6 +66,7 @@ jobs: COLLECTION_NAME: elasticstack strategy: + fail-fast: false max-parallel: 1 matrix: distro: [debian11, rockylinux8, ubuntu2204] diff --git a/.github/workflows/test_role_elasticsearch.yml b/.github/workflows/test_role_elasticsearch.yml index 1f9f2c53..99a06f43 100644 --- a/.github/workflows/test_role_elasticsearch.yml +++ b/.github/workflows/test_role_elasticsearch.yml @@ -66,6 +66,7 @@ jobs: COLLECTION_NAME: elasticstack strategy: + fail-fast: false max-parallel: 1 matrix: distro: [ubuntu2204] diff --git a/.github/workflows/test_role_kibana.yml b/.github/workflows/test_role_kibana.yml index ad468809..9d28ab5b 100644 --- a/.github/workflows/test_role_kibana.yml +++ b/.github/workflows/test_role_kibana.yml @@ -66,6 +66,7 @@ jobs: COLLECTION_NAME: elasticstack strategy: + fail-fast: false max-parallel: 3 matrix: distro: [ubuntu2204] diff --git a/.github/workflows/test_role_logstash.yml b/.github/workflows/test_role_logstash.yml index 80f2b3ed..a0387503 100644 --- a/.github/workflows/test_role_logstash.yml +++ b/.github/workflows/test_role_logstash.yml @@ -106,6 +106,7 @@ jobs: COLLECTION_NAME: elasticstack strategy: + fail-fast: false max-parallel: 1 matrix: distro: [ubuntu2204] diff --git a/.github/workflows/test_role_repos.yml b/.github/workflows/test_role_repos.yml index fd2dfb13..8be30a8e 100644 --- a/.github/workflows/test_role_repos.yml +++ b/.github/workflows/test_role_repos.yml @@ -65,6 +65,7 @@ jobs: COLLECTION_NAME: elasticstack strategy: + fail-fast: false max-parallel: 4 matrix: diff --git a/.github/workflows/test_roles_pr.yml b/.github/workflows/test_roles_pr.yml index 54e687ad..d3a57654 100644 --- a/.github/workflows/test_roles_pr.yml +++ b/.github/workflows/test_roles_pr.yml @@ -17,6 +17,7 @@ jobs: COLLECTION_NAME: elasticstack strategy: + fail-fast: false max-parallel: 1 matrix: distro: